Files
market/skills/dashscope-image-gen/SKILL.md

6.3 KiB
Raw Blame History

name, description, license, version, type, risk_level, status, disable-model-invocation, provider, tags, requires, metadata, market
name description license version type risk_level status disable-model-invocation provider tags requires metadata market
dashscope-image-gen Use this skill when the user wants to generate images using Alibaba Cloud DashScope's Wan (通义万相) series models. Supports text-to-image with multiple model tiers (wan2.7-image-pro, wan2.7-image). Uses OpenAI-compatible chat/completions API for synchronous image generation. Use when 用户提到 生成图片、画图、文生图、创建图片、AI 绘画、 生成插图、画一张、帮我画、设计图片、通义万相、万相、阿里云画图、dashscope 画图。 Complete terms in LICENSE.txt 1.1.0 procedural low enabled false dashscope
media
image
generation
dashscope
alibaba
tools
Bash
author updated_at i18n
desirecore 2026-05-08
default_locale source_locale
en-US zh-CN
icon short_desc category maintainer channel
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><rect x="3" y="3" width="18" height="18" rx="3" stroke="#34C759" stroke-width="1.5" fill="#34C759" fill-opacity="0.1"/><path d="M7 14l3-4 2.5 3 3.5-5 4 6H7z" fill="#34C759" fill-opacity="0.4" stroke="#34C759" stroke-width="1.2" stroke-linejoin="round"/><circle cx="15.5" cy="8.5" r="1.5" fill="#34C759" fill-opacity="0.6"/></svg> 基于阿里云通义万相的文本生成图片技能 media
name verified
DesireCore Official true
latest

dashscope-image-gen 技能

强制规则(违反将导致功能失败)

  1. 必须用 HTTPS 访问 agent-servicehttps://127.0.0.1:${PORT}-k 跳过证书验证
  2. 必须通过 /api/media/upload 上传到 media-store — 禁止保存到本地路径
  3. 必须使用 dc-media:// 协议展示图片 — 唯一能让前端正确渲染的方式
  4. 全程使用 Bash curl — 不要使用 HttpRequest 工具或 Python
  5. 使用 compatible-mode/chat/completions — 同步调用,响应直接包含图片 URL

模型选择指南

模型 特点 适用场景
wan2.7-image-pro 旗舰4K 分辨率thinking_mode 用户要求最高画质、4K、细节丰富
wan2.7-image 标准高画质thinking_mode 默认首选,无特殊要求时使用

默认规则:用户未指定模型时,使用 wan2.7-image

完整执行流程(严格按此两步执行)

前置条件

  • 用户已在资源管理器-算力中配置阿里云 DashScope Provider 并填写 API Key
  • agent-service 正在运行

第一步:调用文生图 API同步

通过 media-proxy 的 compatible-mode 端点生成图片,响应直接包含图片 URL

PORT=$(cat ~/.desirecore/agent-service.port)
curl -sk -X POST "https://127.0.0.1:${PORT}/api/media-proxy" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "dashscope",
    "serviceType": "image_gen",
    "endpoint": "/chat/completions",
    "body": {
      "model": "wan2.7-image",
      "messages": [
        {
          "role": "user",
          "content": [
            {"type": "text", "text": "这里替换为图片描述(建议英文效果更好)"}
          ]
        }
      ]
    },
    "responseType": "json"
  }'

响应示例

{
  "success": true,
  "data": {
    "request_id": "...",
    "output": {
      "choices": [
        {
          "message": {
            "role": "assistant",
            "content": [
              {
                "type": "image",
                "image": "https://dashscope-result.oss.aliyuncs.com/..."
              }
            ]
          },
          "finish_reason": "stop"
        }
      ]
    }
  },
  "statusCode": 200
}

data.output.choices[0].message.content 中找到 type: "image" 的项,提取其 image URL。

第二步:下载并上传到 media-store

图片 URL 有时效,必须立即下载并保存到本地 media-store

PORT=$(cat ~/.desirecore/agent-service.port)
IMAGE_URL="第一步响应中的 image URL"
curl -sL "$IMAGE_URL" -o /tmp/dashscope-gen.png && \
curl -sk -X POST "https://127.0.0.1:${PORT}/api/media/upload" \
  -F "file=@/tmp/dashscope-gen.png;type=image/png"

从 JSON 响应中提取 mediaId 字段(格式如 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.png)。

第三步:用 dc-media 协议展示图片

在你的回复文本中直接写 Markdown 图片语法:

![图片描述](dc-media://这里替换为mediaId)

例如:![森林中的白色狐狸](dc-media://a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6.png)

前端会自动将 dc-media:// 转为可访问的图片 URL 并渲染出来。

参数映射

尺寸选择

通义万相通过 compatible-mode 调用时,尺寸通过 size 参数传入(放在请求体顶层):

{
  "model": "wan2.7-image",
  "size": "1024x1024",
  "messages": [...]
}
用户意图 size 参数
正方形/头像/默认 "1024x1024"
横版/风景/壁纸 "1792x1024"
竖版/手机/海报 "1024x1792"

可选参数(加入请求体顶层)

参数 说明
n 生成数量 1-4默认 1
size 图片尺寸,如 "1024x1024"

多图生成

n > 1 时,choices 数组会有多个元素,每个 message.content 中都有一张图片。需要为每张图片执行下载+上传,然后逐一展示:

![图片1描述](dc-media://mediaId1)
![图片2描述](dc-media://mediaId2)

错误处理

  • success: false + error: "未找到匹配的供应商":未配置 DashScope Provider 或未启用
  • success: false + error: "未配置 API Key":未填写 API Key
  • statusCode: 401API Key 无效或已过期
  • statusCode: 429:频率限制,稍后重试
  • statusCode: 400 + InvalidParameter:参数错误(如尺寸不支持)
  • statusCode: 403 + AccessDenied.Unpurchased:模型未开通,需要在阿里云控制台开通

注意事项

  • 通过 compatible-mode 调用是同步的,通常 10-60 秒返回wan2.7-image-pro 可能更长)
  • 结果图片 URL 有时效,必须及时下载
  • 提示词建议用英文以获得最佳效果,中文也支持
  • 如果用户未明确要求模型/尺寸,默认使用 wan2.7-image + 1024x1024