功能与支持模型

5.0 Lite、4.5、4.0均支持2至14张参考图输入。本页使用4.0和两个官方示例素材,将图1人物的服装替换为图2服装。多张输入仍只生成一张输出,不代表组图生成。

第一步:设置鉴权

使用请求头 Authorization: Bearer YOUR_API_KEY。把 YOUR_API_KEY 替换为青云TOP API 的 API Key,保留 Bearer 后一个空格。

第二步:调用模型

向 https://top.qingyuntop.ai/v1/images/generations 发送 POST JSON,请求头为 Content-Type: application/json。按提示词引用顺序填写 image 数组,不要改为 images、对象数组或 multipart。

请求参数与图片顺序

字段与类型填写规则、默认值与限制
model;string必填;JSON 顶层。使用本目录模型表的完整 ID,没有推荐默认型号。5.0 Lite 的本站 ID 不带 lite 后缀。
prompt;string必填;JSON 顶层非空文本。说明主体、构图、风格和需要保留或修改的部分;多图可按数组顺序称图1、图2。支持中英文,建议中文不超过300字、英文不超过600词;这是写作建议,不是硬性长度上限。
image;string / string[]文生图省略;编辑或参考生图必填,位于 JSON 顶层。单张用字符串,多张用字符串数组(最多14张)。内容是公网可读 URL 或 data:image/小写格式;base64,内容。没有默认图片;不得传本地路径或裸 Base64。
size;string可选;JSON 顶层。默认2048x2048。填模型允许的分辨率档位或宽x高字符串;两种方式选一种。像素值用 ASCII x,同时满足下表的总像素和宽高比限制。
response_format;string可选;JSON 顶层。url 返回临时图片链接;b64_json 返回图片的纯 Base64 字符串。只改变返回方式,不改变图片编码。 默认 url。
watermark;boolean可选;JSON 顶层布尔值。true 在右下角添加可见的“AI生成”水印,false 关闭该可见水印;不代表清除所有隐式标记。不要传字符串。 默认 true。

每张参考图不超过30MB;宽、高均须大于14px,总像素为196–36000000,宽高比为1/16–16。支持 jpeg、png、webp、bmp、tiff、gif、heic、heif,常规接入推荐PNG或JPEG。限制适用于每张图片本身,不能只检查文件扩展名。

图1对应 image[0],图2对应 image[1]。建议逐张说明用途,例如“保留图1的人物身份与姿态,采用图2的服装”。输入顺序变化后应同步调整提示词。数组元素也可使用符合要求的data URI,本地编码方法见单图编辑与本地图片。

代码示例

cURL示例使用Bash,需cURL 7.76+与jq;Python需3.10+并安装requests;Node.js需20+,保存为.mjs运行。600秒是示例的客户端超时设置,不是生成耗时承诺;Python的timeout分别控制连接和单次读取等待。代码会覆盖同名request.json或response.json,请按需另存。

set -euo pipefail
cat > request.json <<'JSON'
{
  "model": "doubao-seedream-4-0-250828",
  "prompt": "将图1人物的服装换为图2中的服装,保留图1的人物身份、姿态和背景,输出一张自然的照片。",
  "image": [
    "https://ark-project.tos-cn-beijing.volces.com/doc_image/seedream4_imagesToimage_1.png",
    "https://ark-project.tos-cn-beijing.volces.com/doc_image/seedream4_5_imagesToimage_2.png"
  ],
  "size": "2K",
  "response_format": "url",
  "watermark": true
}
JSON
curl --fail-with-body --connect-timeout 30 --max-time 600 "https://top.qingyuntop.ai/v1/images/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @request.json --output response.json
jq -e 'if .error then error(.error | tostring) else
  (.data | type == "array" and length > 0) and
  all(.data[]; (.error | not) and (.url | type == "string" and length > 0)) end' response.json

响应与图片保存

返回的 data 是输出图片数组,不是输入参考图清单;本例应得到一张合成结果。示例保存 response.json 后,继续使用图片保存代码下载图片。若需要PNG,改用5.0 Lite并按其参数表设置 output_format: "png"。

常见错误与参考

超过14张请先减少素材数量。图像内容混乱时明确每张图的角色并减少相互冲突的参考;不要靠重复传同一张图增加“权重”。下载或参数失败请查看常见错误。参考:官方多图生图说明。