wan2.7图像生成工具

aaamingmingde/wan2.7-image-tool
3 Stars 722 次浏览 明明德 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "doubao-image": {
      "args": [
        "run",
        "wan27-image-mcp"
      ],
      "command": "uv",
      "cwd": "C:/projects/MCP_Server/doubao-image",
      "env": {
        "DOUBAO_API_KEY": "your-api-key-here"
      }
    }
  }
}

服务介绍

万相 2.7 图像生成与编辑 MCP 工具

基于阿里云百炼万相 2.7 模型的 MCP 工具,支持文生图、图像编辑、组图生成等功能。

功能特性

  • 文生图 (text_to_image): 根据文本描述生成高质量图像
  • 图像编辑 (image_edit): 根据文本指令编辑参考图像,支持多图输入
  • 交互式编辑 (interactive_edit): 通过框选区域精确编辑图像
  • 组图生成 (sequential_images): 生成具有连贯性的多张图像序列
  • 异步任务 (create_async_task, get_task_status, wait_for_task): 支持长时间任务的异步处理

快速开始

1. 环境要求

  • Python 3.10+
  • uv 包管理器

2. 安装依赖

cd wan2.7-image-tool
uv sync

3. 配置 API Key

获取阿里云百炼 API Key 后,设置环境变量:

Windows (PowerShell):

$env:DASHSCOPE_API_KEY="sk-xxx"

Windows (CMD):

set DASHSCOPE_API_KEY=sk-xxx

Linux/macOS:

export DASHSCOPE_API_KEY="sk-xxx"

4. 运行 MCP 服务器

uv run wan27-image-mcp

或在开发模式下:

uv run python -m wan27_image_mcp.server

MCP 工具列表

text_to_image - 文生图

根据文本描述生成图像。

参数:

参数 类型 必填 默认值 说明
prompt string - 图像描述文本,支持中英文,最长 5000 字符
model string wan2.7-image-pro 模型名称:wan2.7-image-pro 或 wan2.7-image
size string 2K 输出分辨率:1K、2K、4K(pro 支持) 或自定义如 1024*1024
n int 1 生成数量,范围 1-4
watermark bool false 是否添加 AI 生成水印
thinking_mode bool true 是否开启思考模式(增强推理)
seed int - 随机数种子,范围 [0, 2147483647]
api_key string - API Key(可用环境变量)
region string beijing 地域:beijing 或 singapore

返回示例:

{
  "request_id": "81dfc3c6-f796-9972-97e4-bc4efc4fxxxx",
  "images": ["https://dashscope-xxx.oss-xxx.aliyuncs.com/xxx.png?Expires=xxx"],
  "size": "2048*2048",
  "usage": {"image_count": 1, "input_tokens": 10867, "output_tokens": 2, "total_tokens": 10869}
}

image_edit - 图像编辑

根据文本指令编辑参考图像,支持多图输入。

参数:

参数 类型 必填 默认值 说明
prompt string - 编辑指令,描述如何编辑图像
reference_images string[] - 参考图像 URL 列表,支持 1-9 张
model string wan2.7-image-pro 模型名称
size string 2K 输出分辨率(有图输入时支持 1K、2K)
n int 1 生成数量,范围 1-4
watermark bool false 是否添加水印
thinking_mode bool true 是否开启思考模式
seed int - 随机数种子
api_key string - API Key
region string beijing 地域

使用示例:

{
  "prompt": "把图 2 的涂鸦喷绘在图 1 的汽车上",
  "reference_images": [
    "https://example.com/car.webp",
    "https://example.com/paint.webp"
  ]
}

interactive_edit - 交互式编辑

通过框选区域精确编辑图像。

参数:

参数 类型 必填 默认值 说明
prompt string - 编辑指令
reference_images string[] - 参考图像 URL 列表
bbox_list int[][][] - 框选区域列表
model string wan2.7-image-pro 模型名称
size string 2K 输出分辨率
n int 1 生成数量
watermark bool false 是否添加水印
thinking_mode bool true 是否开启思考模式
seed int - 随机数种子
api_key string - API Key
region string beijing 地域

bbox_list 格式说明:

  • 列表长度必须与图像数量一致
  • 无需编辑的图像传入空列表 []
  • 坐标格式:[x1, y1, x2, y2](左上角到右下角)
  • 单张图像最多 2 个边界框

使用示例:

{
  "prompt": "把图 1 的闹钟放在图 2 的框选位置",
  "reference_images": ["url1", "url2"],
  "bbox_list": [
    [],
    [[989, 515, 1138, 681]]
  ]
}

sequential_images - 组图生成

生成具有连贯性的多张图像序列。

参数:

参数 类型 必填 默认值 说明
prompt string - 组图描述,应清晰描述每张图内容
n int 4 生成数量,范围 1-12
model string wan2.7-image-pro 模型名称
size string 2K 输出分辨率(支持 1K、2K)
watermark bool false 是否添加水印
seed int - 随机数种子
api_key string - API Key
region string beijing 地域

使用示例:

{
  "prompt": "电影感组图,记录同一只流浪橘猫。第一张:春天樱花树下;第二张:夏天老街树荫;第三张:秋天落叶;第四张:冬天雪地",
  "n": 4
}

create_async_task - 创建异步任务

创建异步生图任务,适用于耗时较长的任务。

参数:

参数 类型 必填 默认值 说明
prompt string - 文本提示词
task_type string text_to_image 任务类型:text_to_image/image_edit/sequential/interactive_edit
reference_images string[] - 参考图像(编辑类任务需要)
bbox_list int[][][] - 框选区域(交互式编辑需要)
n int 1 生成数量
model string wan2.7-image-pro 模型名称
size string 2K 输出分辨率
watermark bool false 是否添加水印
seed int - 随机数种子
api_key string - API Key
region string beijing 地域

返回示例:

{
  "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx",
  "task_status": "PENDING",
  "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}

get_task_status - 查询任务状态

查询异步任务的状态和结果。

参数:

参数 类型 必填 默认值 说明
task_id string - 任务 ID
api_key string - API Key
region string beijing 地域

返回示例 (任务完成):

{
  "task_id": "a81ee7cb-014c-473d-b842-xxxxxx",
  "task_status": "SUCCEEDED",
  "images": ["https://dashscope-xxx.oss-xxx.aliyuncs.com/xxx.png?Expires=xxx"],
  "size": "2048*2048",
  "usage": {"image_count": 1},
  "submit_time": "2026-03-26 17:16:01.663",
  "end_time": "2026-03-26 17:16:22.961",
  "finished": true
}

wait_for_task - 等待任务完成

等待异步任务完成并返回结果。

参数:

参数 类型 必填 默认值 说明
task_id string - 任务 ID
poll_interval float 5.0 轮询间隔(秒)
max_wait_time float 600.0 最大等待时间(秒)
api_key string - API Key
region string beijing 地域

任务状态说明

状态 说明
PENDING 任务排队中
RUNNING 任务处理中
SUCCEEDED 任务执行成功
FAILED 任务执行失败
CANCELED 任务已取消
UNKNOWN 任务不存在或状态未知

图像规格说明

wan2.7-image-pro

场景 分辨率选项
文生图(无图输入) 1K、2K、4K
其他场景 1K、2K
  • 1K: 1024*1024
  • 2K: 2048*2048
  • 4K: 4096*4096

wan2.7-image

场景 分辨率选项
所有场景 1K、2K

注意: 有图像输入时,输出宽高比与输入图像一致,并缩放到选定分辨率。

计费说明

注意事项

  1. 图像 URL 有效期: 生成的图像 URL 有效期为 24 小时,请及时下载保存
  2. API Key 地域: 北京和新加坡地域的 API Key 和请求地址不通用,不可混用
  3. 图像输入限制:
    • 格式:JPEG、JPG、PNG(不支持透明通道)、BMP、WEBP
    • 分辨率:宽高范围 [240, 8000] 像素,宽高比 [1:8, 8:1]
    • 文件大小:不超过 20MB
    • 数量:0-9 张
  4. 提示词长度: 不超过 5000 个字符

开发

运行测试

uv run pytest

项目结构

wan2.7-image-tool/
├── pyproject.toml          # 项目配置
├── README.md               # 文档
└── wan27_image_mcp/
    ├── __init__.py         # 包入口
    ├── client.py           # API 客户端
    └── server.py           # MCP 服务器

相关链接

相关 MCP 服务