Qwen 2.1 图生图
本页由 ModelFold 文档站根据上游官方 OpenAPI 文档同步生成。接口路径、参数、示例与官方保持一致;品牌与 API 域名已替换为 ModelFold。
接口
POST /jobs/createTask
完整 URL: https://ai.modelfold.online/v1/jobs/createTask
鉴权:所有请求都需要
Authorization: Bearer <API_KEY>请求头。
查询任务状态
提交任务后,可通过统一的查询端点查看任务进度并获取生成结果:
- 获取任务详情 — 了解如何查询任务状态并获取生成结果
TIP
生产环境中,建议使用 callBackUrl 参数接收生成完成的自动通知,而非轮询状态端点。
相关资源
请求参数
请求体 (application/json)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 用于生成的模型名称。该接口必须使用 qwen2-1/image-to-image。 默认值:"qwen2-1/image-to-image"。 可选值:qwen2-1/image-to-image。 示例:qwen2-1/image-to-image。 |
callBackUrl | string | 否 | 任务完成后的回调地址。可选参数。填写后,任务无论成功还是失败,系统都会向该地址发起一次 POST 请求;不填则不发送回调通知。回调签名校验见 Webhook 签名校验指南。 示例:https://your-domain.com/api/callback。 |
input | object | 是 | 图生图任务的输入参数。 |
input.image_urls | array<string> | 是 | 参考图 URL 数组,1–10 张,必填。数组顺序即提示词里「第一张图 / 第二张图」的指代顺序。支持 JPEG、PNG、WebP,单张不超过 30MB、不超过 25MP,且每个 URL 都要能直接 GET 取到。图片地址无法获取时,任务以 failCode 400 失败。超过 10 张时请求会被拒绝。参考图越多,单张保留的细节越少,需要高保真时建议控制在 4 张以内。把多个人物或物品合成到同一画面时,建议使用 3:2、16:9 这类横幅比例。 |
input.prompt | string | 是 | 画面描述提示词,用于描述期望得到的结果。必填。支持任意语言,最长 5000 字符,超长时请求会被拒绝。传了 mask_url 时,用它描述掩码白色区域要生成或改成什么。 示例:把第一张图里的背包换成第二张图里的配色,其余保持不变。 |
input.mask_url | string | 否 | 局部编辑掩码图,传入后进入局部编辑模式。一张黑白图,白色 = 要修改的区域,黑色 = 保持不变,边界有几个像素的羽化过渡。必须与恰好 1 张 image_urls 同用,否则请求会被拒绝。掩码应与该参考图同宽高比,尺寸不同会按原图缩放。局部编辑时输出宽高比跟随原图,因此 aspect_ratio 与 enhance_prompt 都会被忽略。不能与 background=transparent 同用,否则请求会被拒绝。 示例:https://example.com/room-mask.png。 |
input.aspect_ratio | string | 否 | 输出画面比例。默认 auto,即取第一张参考图的宽高比并吸附到最近的一档。实际输出像素还取决于 resolution。局部编辑模式下本参数被忽略。 默认值:"auto"。 可选值:auto / 1:1 / 4:3 / 3:4 / 3:2 / 2:3 / 16:9 / 9:16 / 21:9 / 9:21。 示例:auto。 |
input.resolution | string | 否 | 输出分辨率档位。1K 更快;2K 像素量是前者的四倍,耗时明显更长,带参考图时最长约 3 分钟。只接受 1K 与 2K,传 4K 或其他值时请求会被拒绝。 默认值:"1K"。 可选值:1K / 2K。 示例:1K。 |
input.background | string | 否 | 背景类型。transparent 输出带真实透明通道的 PNG 或 WebP,不能与 JPEG 同用。使用 transparent 时,提示词只描述主体;若提到背景、场景、台面等,结果可能不是透明背景。 默认值:"opaque"。 可选值:opaque / transparent。 示例:opaque。 |
input.output_format | string | 否 | 输出图片格式。png(默认)与 webp 都带 alpha 通道,可以配合 background: transparent 使用;jpeg 没有 alpha 通道,不能与透明背景同时使用。 默认值:"png"。 可选值:png / webp / jpeg。 示例:png。 |
input.enhance_prompt | boolean | 否 | 出图前先把提示词改写成更完整的画面描述,能明显提升效果。默认开启(不传该参数也视为开启),传 false 可关闭。 默认值:true。 示例:false。 |
input.seed | integer | 否 | 随机种子。不传则随机生成。传入相同种子并搭配相同的提示词与参数,在同一服务版本内可复现同一张图。 示例:20260921。 |
input.nsfw_checker | boolean | 否 | 默认 false。为 false 时不额外进行内容过滤,结果由模型直接返回。 |
请求示例
bash
curl -X POST "https://ai.modelfold.online/v1/jobs/createTask" \
-H "Authorization: Bearer $MODELFOLD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen2-1/image-to-image",
"callBackUrl": "https://your-domain.com/api/callback",
"input": {
"image_urls": [
"https://example.com/a.jpg",
"https://example.com/b.jpg"
],
"prompt": "把第一张图里的背包换成第二张图里的配色,其余保持不变",
"aspect_ratio": "auto",
"resolution": "1K",
"background": "opaque",
"output_format": "png",
"enhance_prompt": true,
"seed": 20260921
}
}'json
{
"model": "qwen2-1/image-to-image",
"callBackUrl": "https://your-domain.com/api/callback",
"input": {
"image_urls": [
"https://example.com/a.jpg",
"https://example.com/b.jpg"
],
"prompt": "把第一张图里的背包换成第二张图里的配色,其余保持不变",
"aspect_ratio": "auto",
"resolution": "1K",
"background": "opaque",
"output_format": "png",
"enhance_prompt": true,
"seed": 20260921
}
}响应
200 — 请求成功
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
code | integer | 否 | 请求状态码。请求失败时 HTTP 状态仍为 200,请始终以本字段判断:200 表示成功,其他值均表示失败,原因见 msg。常见值:401 API key 无效或缺失;402 积分不足;429 超出频率限制;422 或 500 请求未能处理(请先查看 msg、检查参数,再决定是否重试)。 可选值:200 / 401 / 402 / 404 / 422 / 429 / 433 / 455 / 500 / 501 / 505。 示例:200。 |
data | object | 是 | — |
data.taskId | string | 是 | 任务 ID,可结合「获取任务详情」接口查询任务状态 |
msg | string | 否 | 响应消息,请求失败时返回错误描述 示例:success。 |
json
{
"code": 200,
"msg": "success",
"data": {
"taskId": "task_qwen21i2i_1769000000000"
}
}回调
onImageGenerated
回调地址:{$request.body#/callBackUrl}(即请求体里的 callBackUrl)。
任务成功或失败时发送回调。
回调体参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
code | integer | 否 | 200:成功;501:失败,原因见 data.failCode 与 data.failMsg。 可选值:200 / 501。 示例:200。 |
msg | string | 否 | 状态消息 示例:Playground task completed successfully.。 |
data | object | 否 | — |
data.completeTime | integer | 否 | 任务完成时间,Unix 毫秒时间戳 示例:1786435794000。 |
data.costTime | integer | 否 | 处理耗时(秒),成功和失败回调都会返回。 示例:50。 |
data.createTime | integer | 否 | 任务创建时间,Unix 毫秒时间戳 示例:1786435744000。 |
data.creditsConsumed | number | 否 | 本任务消耗的积分;失败任务为 0。 示例:4.8。 |
data.model | string | 否 | 图片生成使用的模型 示例:qwen2-1/image-to-image。 |
data.param | string | 否 | 创建任务时提交的参数,JSON 字符串格式 示例:{"input":"{\"image_urls\":[\"https://example.com/a.jpg\",\"https://example.com/b.jpg\"],\"prompt\":\"把第一张图里的背包换成第二张图里的配色,其余保持不变\",\"aspect_ratio\":\"auto\",\"resolution\":\"1K\",\"background\":\"opaque\",\"output_format\":\"png\",\"enhance_prompt\":true,\"seed\":20260921}","callBackUrl":"https://your-domain.com/api/callback","model":"qwen2-1/image-to-image"}。 |
data.resultJson | string | 否 | 图片生成结果,JSON 字符串格式。resultUrls 为生成图片的 URL 列表。仅在 state 为 success 时出现。 示例:{"resultUrls":["https://tempfile.aiquickdraw.com/workers/images/6a290e5bf56277db2f3c56686e0b51ba.png"]}。 |
data.state | string | 否 | 任务状态 可选值:success / fail。 示例:success。 |
data.taskId | string | 否 | 任务 ID 示例:709bf695b197209c410c980ee55a6ea6。 |
data.updateTime | integer | 否 | 完成时间请以 completeTime 为准;updateTime 可能与 createTime 相同。 示例:1786435794000。 |
data.failCode | string | 否 | 失败码,数字字符串,如 "400"、"500"。仅在 state 为 fail 时出现。 示例:500。 |
data.failMsg | string | 否 | 失败原因,仅在 state 为 fail 时出现。 示例:<error detail>。 |
成功
json
{
"code": 200,
"msg": "Playground task completed successfully.",
"data": {
"taskId": "709bf695b197209c410c980ee55a6ea6",
"model": "qwen2-1/image-to-image",
"state": "success",
"param": "{\"input\":\"{\\\"image_urls\\\":[\\\"https://example.com/a.jpg\\\",\\\"https://example.com/b.jpg\\\"],\\\"prompt\\\":\\\"把第一张图里的背包换成第二张图里的配色,其余保持不变\\\",\\\"aspect_ratio\\\":\\\"auto\\\",\\\"resolution\\\":\\\"1K\\\",\\\"background\\\":\\\"opaque\\\",\\\"output_format\\\":\\\"png\\\",\\\"enhance_prompt\\\":true,\\\"seed\\\":20260921}\",\"callBackUrl\":\"https://your-domain.com/api/callback\",\"model\":\"qwen2-1/image-to-image\"}",
"resultJson": "{\"resultUrls\":[\"https://tempfile.aiquickdraw.com/workers/images/6a290e5bf56277db2f3c56686e0b51ba.png\"]}",
"completeTime": 1786435794000,
"createTime": 1786435744000,
"costTime": 50,
"creditsConsumed": 4.8,
"updateTime": 1786435794000
}
}失败
json
{
"code": 501,
"msg": "Playground task failed.",
"data": {
"taskId": "709bf695b197209c410c980ee55a6ea6",
"model": "qwen2-1/image-to-image",
"state": "fail",
"param": "{\"input\":\"{\\\"image_urls\\\":[\\\"https://example.com/a.jpg\\\",\\\"https://example.com/b.jpg\\\"],\\\"prompt\\\":\\\"把第一张图里的背包换成第二张图里的配色,其余保持不变\\\",\\\"aspect_ratio\\\":\\\"auto\\\",\\\"resolution\\\":\\\"1K\\\",\\\"background\\\":\\\"opaque\\\",\\\"output_format\\\":\\\"png\\\",\\\"enhance_prompt\\\":true,\\\"seed\\\":20260921}\",\"callBackUrl\":\"https://your-domain.com/api/callback\",\"model\":\"qwen2-1/image-to-image\"}",
"failCode": "500",
"failMsg": "<error detail>",
"completeTime": 1786435794000,
"createTime": 1786435744000,
"costTime": 50,
"creditsConsumed": 0,
"updateTime": 1786435794000
}
}