Qwen 多模态生图改图
Qwen Image 文生图、图像编辑与多模态请求语义。
Qwen 多模态生图改图文档
本文档说明如何通过 WisGate 调用 Qwen Image 系列图像生成和图像编辑模型。经过测试,当前 Qwen / Wan 新图像模型应统一使用阿里百炼多模态图像请求结构:input.messages[].content[]。纯文生图时,content 中只放 text;图像编辑时,content 中放 image 和 text。
所有示例均使用 https://api.wisgate.cn。本页只展示已验证可用的多模态请求格式,不展示旧版 input.prompt 请求格式。
基础信息
| 能力 | 方法 | WisGate 路径 | 请求格式 | 标准内容结构 |
|---|---|---|---|---|
| 文生图 | POST |
/v1/images/generations |
JSON | input.messages[0].content 中只放 text |
| 单图编辑 | POST |
/v1/images/generations |
JSON | input.messages[0].content 中放 1 个 image 和 1 个 text |
| 多图编辑 | POST |
/v1/images/generations |
JSON | input.messages[0].content 中放 1 到 3 个 image 和 1 个 text |
WisGate 仍使用 /v1/images/generations 作为入口,服务端会请求 DashScope multimodal-generation/generation。OpenAI SDK 的 base_url / baseURL 使用:
https://api.wisgate.cn/v1
认证方式:
Authorization: Bearer YOUR_API_KEY
模型支持
实际可用模型以当前 WisGate 站点后台配置为准。Qwen Image 系列适合中文文字、海报、商品包装、图文排版和需要较强文字理解的图片任务。
| 模型系列 | 能力 | 说明 |
|---|---|---|
qwen-image-2.0* |
文生图、图像编辑 | 新版 Qwen Image,多模态理解与中文文字能力更强 |
qwen-image-max |
文生图 | 高质量图像生成,适合复杂提示词和细节要求较高的场景 |
qwen-image-plus |
文生图 | 通用图像生成,适合日常内容生产 |
qwen-image-edit* |
图像编辑 | 支持基于参考图的局部修改、风格转换和多图融合 |
调用时请使用 WisGate 分配给你的模型名,例如:
{
"model": "qwen-image-2.0"
}
多模态请求结构
请求体使用 JSON。最重要的字段是 input.messages[0].content:
| 字段 | 类型 | 说明 |
|---|---|---|
model |
string | WisGate 模型名 |
prompt |
string | 兼容字段,建议填写占位文本;实际生成内容以 input.messages 中的 text 为准 |
input.messages[].role |
string | 固定使用 user |
input.messages[].content[].text |
string | 文生图提示词或图像编辑指令 |
input.messages[].content[].image |
string | 图像 URL 或 Data URL。文生图不要传空图片字段 |
parameters.size |
string | 图片尺寸,使用阿里多模态格式,例如 1024*1024、1328*1328 |
parameters.n |
integer | 生成数量。编辑模型通常固定输出 1 张 |
parameters.watermark |
boolean | 是否添加水印 |
parameters.prompt_extend |
boolean | 是否开启提示词智能改写,是否生效取决于具体模型 |
parameters.negative_prompt |
string | 反向提示词,是否生效取决于具体模型 |
response_format |
string | url 或 b64_json。默认建议使用 url |
纯文生图时,content 内只放 text,不要传空图片字段或旧版 images 字段。
文生图
curl -X POST "https://api.wisgate.cn/v1/images/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-2.0",
"prompt": "占位提示词,实际以 input.messages 内的 text 为准",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"text": "一张极简中文咖啡店海报,标题文字为「晨光咖啡」,白底,黑色字体,少量棕色点缀"
}
]
}
]
},
"parameters": {
"negative_prompt": "",
"prompt_extend": true,
"watermark": false,
"size": "1024*1536",
"n": 1
},
"response_format": "url"
}'
复杂中文文字示例
curl -X POST "https://api.wisgate.cn/v1/images/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-2.0",
"prompt": "占位提示词,实际以 input.messages 内的 text 为准",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"text": "一副典雅庄重的对联悬挂于厅堂之中,房间是安静古典的中式布置,桌上放着青花瓷,对联左书「义本生知人机同道善思新」,右书「通云赋智乾坤启数高志远」,横批「智启通义」,中间挂着岳阳楼中国风画作,字体飘逸"
}
]
}
]
},
"parameters": {
"negative_prompt": "",
"prompt_extend": true,
"watermark": false,
"size": "1328*1328"
},
"response_format": "url"
}'
图像编辑 / 图生图
图像编辑也使用 /v1/images/generations 的多模态 JSON 请求格式。将参考图放入 content[].image,将编辑指令放入 content[].text。图片可以使用公网 URL,也可以使用 Data URL。
单图编辑
curl -X POST "https://api.wisgate.cn/v1/images/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-edit",
"prompt": "占位提示词,实际以 input.messages 内的 text 为准",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"image": "https://example.com/input.png"
},
{
"text": "保留主体姿势,把背景替换为夜晚城市街景,电影感灯光"
}
]
}
]
},
"parameters": {
"watermark": false,
"size": "1024*1024"
},
"response_format": "url"
}'
多参考图编辑
curl -X POST "https://api.wisgate.cn/v1/images/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-edit",
"prompt": "占位提示词,实际以 input.messages 内的 text 为准",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"image": "https://example.com/subject.png"
},
{
"image": "https://example.com/style.png"
},
{
"text": "融合第一张图的人物主体和第二张图的服装风格,生成一张商业摄影风格图片"
}
]
}
]
},
"parameters": {
"watermark": false,
"size": "1024*1024"
},
"response_format": "url"
}'
多图编辑时,图片顺序会影响模型理解。建议在提示词中明确“第一张图”“第二张图”各自的用途。
不建议使用的格式
不要使用旧版 input.prompt 结构组织 Qwen 图像请求。该格式在当前 Qwen / Wan 新图像模型上可能无法正常生成。
{
"input": {
"prompt": "不要使用这种结构",
"negative_prompt": "不要把反向提示词放在 input 内"
}
}
请使用 input.messages[].content[],并将反向提示词、尺寸、水印等控制项放在 parameters 中。
响应格式
成功响应兼容 OpenAI Images API:
{
"created": 1770000000,
"data": [
{
"url": "https://example.com/generated-image.png",
"b64_json": "",
"revised_prompt": ""
}
],
"extra": {
"request_id": "xxx"
}
}
| 字段 | 说明 |
|---|---|
created |
WisGate 生成响应的 Unix 时间戳 |
data[].url |
图片 URL。建议业务侧及时下载或转存 |
data[].b64_json |
当 response_format=b64_json 时返回 Base64 图片内容 |
data[].revised_prompt |
如模型返回改写后的提示词,则在此字段中展示 |
extra |
上游响应的保留字段,便于排查请求 ID、任务 ID 或错误码 |
Qwen 上游多模态响应通常会把图片放在 output.choices[].message.content[].image 中,WisGate 会解析为 OpenAI 兼容的 data[].url 或 data[].b64_json。
限制与建议
| 项目 | 建议 |
|---|---|
| 文生图内容 | content 中只放 text,不要传空 image 字段 |
| 编辑图片数量 | 建议传 1 到 3 张图片;多图时在提示词中说明每张图的用途 |
| 图片格式 | 使用公网 URL 或 Data URL;公网 URL 应无需登录且可被上游访问 |
| 尺寸格式 | 使用 1024*1024 这类阿里多模态格式,不要写成 1024x1024 |
| 输出数量 | 图像编辑模型通常固定输出 1 张;文生图也建议先用 n=1 验证提示词 |
| 结果 URL | 生成图片 URL 通常有有效期,业务侧如需长期保存应及时转存 |
错误响应
{
"error": {
"message": "model is required",
"type": "invalid_request_error",
"code": "invalid_request_error"
}
}
| 场景 | 处理建议 |
|---|---|
401 或鉴权失败 |
检查 Authorization: Bearer YOUR_API_KEY 是否正确 |
model is required |
请求体必须包含 model |
prompt 为空 |
顶层 prompt 建议保留占位文本,同时实际内容写入 input.messages |
| 生成失败或无图 | 检查是否使用 input.messages[].content[],不要使用旧版 input.prompt |
| 尺寸不支持 | 检查目标模型支持的 parameters.size 范围,格式使用 1024*1024 |
| 图片 URL 不可访问 | 确认图片 URL 可公网访问,或改用 Data URL |
调用建议
- 将
input.messages作为 Qwen / Wan 新图像模型的唯一标准请求结构。 - 纯文生图时只传
text,不要传空图片字段。 - 多图编辑时,按“主体图、风格图、背景图”的顺序上传,并在提示词中显式说明。
- 测试阶段将
parameters.n设置为1,确认提示词、尺寸和模型选择后再放大生成数量。