阿里云百炼图生图:qwen-image-2.0 不支持输入图,必须用 pro
最近在一个 AI 图像工作流里需要做「帧 → 线稿」的风格重绘:给定一张参考图 + 文字指令,输出同构图、不同风格的新图。听起来就是标准的 img2img,阿里云百炼的 Token Plan 里有 qwen-image-2.0,文档标注的是「图像生成」。自然地就拿它去调——然后发现怎么传参都不对劲,要么报错,要么根本没有用到参考图。
排查了一圈之后,坑其实有两个:用了错误的模型,以及端点完全找错了地方。
现象
把参考图 base64 丢进 /compatible-mode/v1/chat/completions 的 content 数组里,加上重绘指令,调用返回 200,但输出结果完全忽略了输入图——模型只按文字描述出图,参考图形同虚设。换几种参数排列没有改善。
根因
根因分两层:
一、模型选错了。 qwen-image-2.0(非 pro)只支持文生图,它不接受参考图输入。图生图编辑必须用 qwen-image-2.0-pro。Token Plan 的模型列表里两个都标「图像生成」,但能力集完全不同,文档没有在列表层面直接标出这个差异。
二、端点找错了。 百炼图像生成走的是独立的多模态生成端点,不在 OpenAI 兼容对话端点 /compatible-mode/v1/chat/completions 上。文档里明确写了「图像生成使用独立的接口」,但对话兼容端点本身也接受图文混合输入(multimodal chat),很容易产生混淆,以为传图就能生图。
qwen-image-2.0 非 pro 版只做文生图,传进去的参考图会被静默无视;同时图像生成端点与对话兼容端点是两套不同的 URL,混用不会报错但参考图不生效。
正解
模型:图生图编辑用 qwen-image-2.0-pro,文生图才用 qwen-image-2.0。
端点(同步阻塞,无需轮询):
POST https://token-plan.cn-beijing.maas.aliyuncs.com
/api/v1/services/aigc/multimodal-generation/generation
把对话端点的 /compatible-mode/v1 替换成 /api/v1/services/aigc/multimodal-generation/generation,鉴权用同一把 Token Plan key。
请求体:参考图字段名是 image,支持 base64 data URI,无需上传 OSS:
{
"model": "qwen-image-2.0-pro",
"input": {
"messages": [{
"role": "user",
"content": [
{ "image": "data:image/jpeg;base64,<...>" },
{ "text": "Redraw this frame as a clean pencil storyboard sketch. White background, graphite lines only, keep composition." }
]
}]
},
"parameters": { "n": 1, "size": "1280*720", "watermark": false }
}注意 size 用 * 分隔宽高(不是 x),可以贴合原图比例。
返回值:生成图是 OSS 临时 URL,位置在 output.choices[0].message.content[].image(content 是数组,取含 image 字段的项)。URL 有时效,拿到之后立即下载落盘,别存 URL 当持久化。
换成 qwen-image-2.0-pro + /api/v1/services/aigc/multimodal-generation/generation 端点,参考图用 image 字段传 base64 data URI,同步调用几秒内返回 OSS 临时 URL,下载即得重绘结果。
进阶:多图参考做主体替换
同一端点支持 content 传多张图。场景:保持参考帧的构图和景别,把画面主体替换成指定产品(商品图)。
"content": [
{ "image": "data:image/jpeg;base64,<结构参考帧>" },
{ "image": "data:image/png;base64,<产品白底图>" },
{ "text": "保持图1的构图/景别/光线,把画面主体替换成图2的产品,保持主体在画面中的位置与占比,仅替换其外观。" }
]实测结论:喂两张图(结构帧 + 产品图)时,qwen-image-2.0-pro 标签和颜色对原产品图还原度最高;只传产品图不传结构帧,构图完全丢失退化成白底电商图;只靠文字描述产品(不喂产品图),无名品牌必崩、训练见过的名牌勉强可用。
喂 3 张以上参考图时,必须在 prompt 开头显式声明每张图的角色(哪张管构图、哪张管主体外观),否则强锚会接管整张构图,把本镜内容挤走。示例:Image 1 is the SOLE authority for composition. Image 2 = ONLY the appearance of the product, do NOT copy its composition.
一句话外卖
百炼 Token Plan 图生图:模型必须加
-pro,端点换多模态生成路径,这两条缺一条都不会生效,且都不报错。