使用万相-通用图像编辑模型,通过文本指令实现扩图、去水印、风格迁移、指令编辑、局部重绘等多种图像编辑任务。
请先获取 API Key 并设置为环境变量。如需使用 SDK,请先安装 SDK。
模型概览
万相-通用图像编辑模型(wanx2.1-imageedit)支持输入文本指令,实现扩图、去水印、风格迁移、指令编辑、局部重绘、图像修复等多种图像编辑任务。
模型与价格
| 模型名称 | 计费单价 | 任务下发接口 RPS 限制 | 同时处理中任务数量 | 免费额度 |
|---|---|---|---|---|
| wanx2.1-imageedit | 0.14元/张 | 2 | 2 | 500张 |
快速开始
本节演示如何调用通用图像编辑 API 完成一次"局部重绘"任务。
SDK 在底层封装了异步处理逻辑,上层接口表现为同步调用(即单次请求并等待最终结果返回);而 curl 示例则对应两个独立的异步 API 接口:一个用于提交任务,另一个用于查询结果。
异步调用必须设置 Header 参数
X-DashScope-Async 为 enable。异步任务的 task_id 查询有效期为 24 小时,过期后任务状态将变为 UNKNOWN。task_id)。
task_id,通过接口轮询任务状态,直到 task_status 变为 SUCCEEDED 或 FAILED。请将 0385dc79-5ff8-4d82-bcb6-xxxxxx 替换为真实的 task_id。
关键能力
通用图像编辑 API 通过 function 参数来指定不同的图像编辑功能。所有功能均遵循快速开始的调用方式。
下文以 curl 调用为例,仅列出各功能专属的 input 和 parameters JSON 片段,用于说明请求体中需配置的内容。完整请求结构(包含 model、input、parameters 等顶层字段)请参见 API 参考。
全局风格化
将整张图像迁移至指定的艺术风格。使用场景包括:绘本创作、社交媒体配图(生成符合特定视觉风格的背景或概念图)等。
- 如何使用:将参数
function设置为stylization_all。 - 支持的风格:法国绘本风格、金箔艺术风格。
- 搭配使用的参数:
parameters.strength(0.0-1.0, 默认 0.5) 控制修改幅度,值越小越接近原图。 - 提示词技巧:使用"转换成xx风格"的句式,如"转换成法国绘本风格"。
请求示例
请求示例
局部风格化
仅对图像中指定区域进行风格迁移,需配合 mask 使用。
- 如何使用:将参数
function设置为stylization_local,并提供mask_image_url。 - 提示词技巧:描述希望应用的风格,如"把房子变成木板风格"。
请求示例
请求示例
指令编辑
根据文字描述对整张图像进行编辑,无需提供 mask。
- 如何使用:将参数
function设置为description_edit。 - 搭配使用的参数:
parameters.strength(0.0-1.0, 默认 0.5) 控制修改幅度,值越小越接近原图。 - 提示词技巧:描述期望的修改结果,如"把她的头发修改为红色"。
请求示例
请求示例
局部重绘
结合 mask 进行精准局部编辑,对指定区域进行重新绘制。
- 如何使用:将参数
function设置为description_edit_with_mask,并提供mask_image_url。 - 提示词技巧:描述期望在 mask 区域内呈现的内容,如"陶瓷兔子拿着陶瓷小花"。
请求示例
请求示例
去文字水印
去除图片中的文字水印。
- 如何使用:将参数
function设置为remove_watermark。 - 提示词技巧:使用"去除图像中的文字"等描述。
请求示例
请求示例
扩图
向四个方向扩展画布,生成原图之外的内容。
- 如何使用:将参数
function设置为expand。 - 搭配使用的参数:
top_scale、bottom_scale、left_scale、right_scale(默认各 1.0),设置各方向的扩展比例,如 1.5 表示该方向扩展到原来的 1.5 倍。
请求示例
请求示例
图像超分
提高图像分辨率(超分辨率重建)。
- 如何使用:将参数
function设置为super_resolution。 - 搭配使用的参数:
parameters.upscale_factor(默认 2),设置放大倍数。
请求示例
请求示例
图像上色
为黑白图片自动上色。
- 如何使用:将参数
function设置为colorization。 - 提示词技巧:描述期望的颜色方案,如"蓝色背景,黄色的叶子"。
请求示例
请求示例
线稿生图 / 涂鸦作画
基于线稿或涂鸦生成图像,通过 is_sketch 参数区分两种输入类型。
- 如何使用:将参数
function设置为doodle。 - 搭配使用的参数:
is_sketch: false(默认):输入为线稿图,生成风格化图像。is_sketch: true:输入为涂鸦,生成对应内容图像。
- 提示词技巧:描述期望生成的图像内容及风格,如"北欧极简风格的客厅"。
请求示例(线稿生图)
请求示例(线稿生图)
请求示例(涂鸦作画)
请求示例(涂鸦作画)
参考卡通形象生图
使用本功能处理受版权保护的卡通形象可能构成侵权行为。请确保您拥有所参考形象的合法使用权,或使用您原创的形象,并自行承担所有相关法律责任。
- 如何使用:将参数
function设置为control_cartoon_feature。 - 提示词技巧:采用"卡通形象..."的句式,详细描述形象的动作和所处环境。
请求示例
请求示例
应用于生产环境
最佳实践
- 异步轮询:轮询查询异步任务结果时,建议采用合理的轮询策略(如前30秒每3秒一次,之后拉长间隔),避免因过于频繁的请求而触发限流。
- 参数调优:对于
strength等影响效果的关键参数,建议在正式上线前进行小范围测试,找到最适合业务场景的数值。 - 图像存储:API 返回的图像 URL 有效期24小时。请及时将生成的图像下载并转存到您自己的持久化对象存储服务中。
- 错误处理:对任务查询结果中的
task_status进行判断。对于FAILED状态,应记录code和message以便排查。部分错误(如系统超时)可能是瞬时的,可设计重试逻辑。 - 内容安全:API 会对输入和输出内容进行安全审核。若内容不合规,请求将会报错
DataInspectionFailed错误。
API 参考
关于万相-通用图像编辑模型的输入与输出参数,请参见 Wan 2.1 — 编辑图像。
计费与限流
- 模型免费额度和计费单价请参见模型列表与价格。
- 模型限流请参见万相。
- 计费说明:
- 按成功生成的图像张数计费。仅当接口返回
task_status为SUCCEEDED并成功生成图像后,才会计费。 - 模型调用失败或处理错误不产生任何费用,也不消耗新人免费额度。
- 按成功生成的图像张数计费。仅当接口返回
错误码
如果模型调用失败并返回报错信息,请参见错误信息进行解决。
常见问题
Q: 为什么我的任务会失败(FAILED)?
A: 任务失败的常见原因包括:
- 内容审核不通过:输入或生成的图像内容触发了安全策略。
- 参数错误:请求中的参数不合法,如
function名称错误、URL 无法访问等。 - 模型内部错误:模型在处理过程中遇到预期外的问题。请检查任务查询响应中的
code和message字段,获取具体错误码和信息,以便定位问题。

