Seedream 图像生成(火山方舟原生协议)
模型与档位
| 模型 | 缺省 size | 可用 size | 典型输出(实测) |
|---|---|---|---|
doubao-seedream-5.0-pro | 2K | 1K / 1.5K / 2K,或 WxH | 1K ≈ 1152×864;1.5K ≈ 1792×1344;2K + 16:9 提示 → 2816×1584 |
doubao-seedream-5.0-lite | 2K | 2K / 3K / 4K,或总像素 ≥ 3,686,400 的 WxH | 2K → 2048×2048;3K → 3072×3072;4K → 4096×4096 |
doubao-seedream-5.0 | 2K | 同 5.0 lite | 同 5.0 lite |
doubao-seedream-4.5 | 2K | 2K / 4K,或总像素 ≥ 3,686,400 的 WxH(不提供 3K) | 2K → 2048×2048;4K → 4096×4096 |
- 四个模型走同一入口
POST /api/v3/images/generations,能力均为文生图、图生图(单图 / 多图参考),必填model、prompt。 doubao-seedream-5.0是doubao-seedream-5.0-lite的别名:方舟没有独立的 5.0 模型,二者档位与单价完全一致。- 5.0 pro 不提供
3K/4K;5.0 lite / 5.0 / 4.5 不提供1K/1.5K(方舟要求总像素 ≥ 3,686,400);4.5 另外不提供3K。表外档位在创建时被拒(HTTP400),不渲染、不计费。 - 5.0 pro 的
1.5K与1K同价(方舟定价),且只有部分供应商能出该档位,可用线路少于其他档位。
ModelGo 按火山引擎方舟 Images API 的官方路径与请求/响应格式原样接收 Seedream 请求,网关负责路由到供应商并计费;由哪家供应商渲染对调用方不可见。图像同步返回,无需轮询。
使用方舟官方 SDK(
volcenginesdkarkruntime)时,把base_url指向https://api.modelgo.com/api/v3、api_key换成 ModelGo API Key 即可。
1. 创建图像
POST https://api.modelgo.com/api/v3/images/generations
文生图(5.0 pro)
bash
curl https://api.modelgo.com/api/v3/images/generations \
-H "Authorization: Bearer $MODELGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-5.0-pro",
"prompt": "一只毛茸茸的橘猫坐在阳光下的窗台上,16:9 横构图,胶片质感",
"size": "2K",
"watermark": false
}'文生图(5.0 lite)
bash
curl https://api.modelgo.com/api/v3/images/generations \
-H "Authorization: Bearer $MODELGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-5.0-lite",
"prompt": "一只毛茸茸的橘猫坐在阳光下的窗台上,胶片质感",
"size": "2K",
"watermark": false
}'图生图 / 多图参考
bash
curl https://api.modelgo.com/api/v3/images/generations \
-H "Authorization: Bearer $MODELGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-5.0-pro",
"prompt": "把第一张图的猫放到第二张图的霓虹街景里",
"image": ["https://example-cdn.com/cat.jpg", "https://example-cdn.com/street.jpg"],
"size": "1280x720",
"response_format": "b64_json"
}'响应
json
{
"model": "doubao-seedream-5.0-pro",
"created": 1757318400,
"data": [{"url": "https://ark-content-generation.tos-cn-beijing.volces.com/...", "size": "2816x1584", "output_format": "jpeg"}],
"usage": {"generated_images": 1, "input_images": 0, "output_tokens": 17424, "total_tokens": 17424}
}model始终回显你请求的逻辑模型名(如doubao-seedream-5.0-lite),不是方舟内部的版本 id(形如doubao-seedream-5-0-260128/doubao-seedream-4-5-251128/doubao-seedream-5-0-pro-260628)。response_format缺省url,链接 24 小时内有效,请及时下载,不要持久化该 URL。response_format: "b64_json"时data[].b64_json直接给出 base64 图像。data[].size是实际输出像素,output_format是实际编码格式。usage.output_tokens/total_tokens为上游回显的参考值,不参与计费;结算只看usage.generated_images。
保存到文件:
bash
curl -s https://api.modelgo.com/api/v3/images/generations \
-H "Authorization: Bearer $MODELGO_API_KEY" -H "Content-Type: application/json" \
-d '{"model":"doubao-seedream-5.0-lite","prompt":"a red ball on a wooden table","size":"2K","response_format":"b64_json"}' \
| python3 -c 'import sys,json,base64; open("out.jpg","wb").write(base64.b64decode(json.load(sys.stdin)["data"][0]["b64_json"]))'2. 参数说明
| 字段 | 类型 | 说明 |
|---|---|---|
model | string | doubao-seedream-5.0-pro / doubao-seedream-5.0-lite / doubao-seedream-5.0 / doubao-seedream-4.5 |
prompt | string | 必填。画面内容描述;使用档位写法时在此描述构图比例 |
image | string / string[] | 参考图 URL(单图)或 URL 数组(多图参考),必须是上游可直接 GET 的公网直链 |
size | string | 分辨率档位(缺省 2K;各模型可用档位见「模型与档位」),或显式像素 WxH(如 1280x720、2560x1440) |
seed | int | 随机种子 |
guidance_scale | number | 提示词贴合度 |
watermark | boolean | 是否加水印,缺省 true |
response_format | string | url(缺省,24 小时有效)/ b64_json |
output_format | string | 输出编码格式,透传 |
sequential_image_generation: "auto"(组图)在 5.0 pro 上不支持 →400。stream: true→400:不支持流式。- 请求体中出现上表之外的字段 →
400,不会被忽略。 - 按可交付档位选路。 网关只把请求交给能按所声明
size交付的供应商;若当前无供应商能出该档位,返回400,不产生费用。
分辨率档位
| 模型 | size 写法 | 输出 | 实测示例 |
|---|---|---|---|
| 5.0 pro | 1K / 1.5K / 2K(缺省) | 档位决定总像素量级,宽高比由 prompt 中的构图描述决定 | "2K" + 16:9 提示 → 2816×1584;"1.5K" → 1792×1344;"1K" → 1152×864 |
| 5.0 lite / 5.0 | 2K(缺省)/ 3K / 4K | 档位决定输出边长 | "2K" → 2048×2048;"3K" → 3072×3072;"4K" → 4096×4096 |
| 4.5 | 2K(缺省)/ 4K | 同上;4.5 不提供 3K | "2K" → 2048×2048;"4K" → 4096×4096 |
| 全部 | WxH | 精确按指定宽高输出;宽高比在 1/16 – 16 之间。5.0 lite / 5.0 / 4.5 要求总像素 ≥ 3,686,400 | 5.0 pro:"1280x720" → 1280×720;5.0 lite:"2560x1440" → 2560×1440 |
- 表外的
size(该模型不提供的档位、像素低于下限或宽高比越界)在创建时被拒(HTTP400),不会静默降档或升档生成,也不产生费用。
参考图的要求
- 必须是上游服务器能直接
GET到的直链:无鉴权、无跳转、不依赖 Referer / Cookie。 - 部分站点直链对非浏览器抓取返回 403,会导致请求失败,不计费。建议使用自有对象存储或 CDN 地址。
3. 完整示例(Python,方舟官方 SDK)
python
import os, requests
from volcenginesdkarkruntime import Ark
client = Ark(api_key=os.environ["MODELGO_API_KEY"], base_url="https://api.modelgo.com/api/v3")
# 5.0 pro:档位 + 提示词里的构图比例
r = client.images.generate(model="doubao-seedream-5.0-pro",
prompt="一只橘猫坐在窗台上,16:9 横构图,胶片质感",
size="2K", watermark=False)
img = r.data[0]
print(r.model, img.size, r.usage.generated_images)
open("cat.jpg", "wb").write(requests.get(img.url, timeout=60).content)
# 5.0 lite:2K 缺省档(2048x2048)
l = client.images.generate(model="doubao-seedream-5.0-lite",
prompt="一只橘猫坐在窗台上,胶片质感",
size="2K", watermark=False)
open("cat-lite.jpg", "wb").write(requests.get(l.data[0].url, timeout=60).content)
# 多图参考
e = client.images.generate(model="doubao-seedream-5.0-pro",
prompt="把第一张图的猫放到第二张图的霓虹街景里",
image=["https://example-cdn.com/cat.jpg", "https://example-cdn.com/street.jpg"],
size="1280x720")
open("cat-neon.jpg", "wb").write(requests.get(e.data[0].url, timeout=60).content)4. 计费口径
- 按张计费:以
usage.generated_images为结算数量,每张固定单价,与size档位无关。 - 每个模型一个单价:5.0 pro / 5.0 lite / 5.0 / 4.5 在控制台「模型列表」中各有一张价卡,单价不同(5.0 与 5.0 lite 同价)。
- 请求时预授权冻结,响应返回后按实际生成张数结算。
- 请求被拒(
400)或生成失败不计费,预授权自动释放。 - HTTP
200但data[]中没有任何url/b64_json(例如各条目均为error)不计费。 - 内容审核拒绝(如
OutputImageSensitiveContentDetected)返回 HTTP400并携带上游错误码,不计费、不重试。
常见错误
| 现象 | 原因 | 处理 |
|---|---|---|
返回 400 | size 不在档位表内或 WxH 越界;缺 prompt;带了 sequential_image_generation / stream 或其他不支持的字段;当前无供应商能出所请求档位 | 按参数表修正或换档位 |
返回 400(5.0 lite / 5.0 / 4.5) | size 低于该模型下限:传了 1K / 1.5K,或 WxH 总像素 < 3,686,400;4.5 传了 3K | 改用 2K / 4K(lite / 5.0 还可用 3K),或 WxH 总像素 ≥ 3,686,400(如 2560x1440) |
返回 400(5.0 pro) | 传了 3K / 4K,5.0 pro 不提供该档位 | 改用 1K / 1.5K / 2K 或 WxH |
返回 400,metadata.upstream_error_code 为 OutputImageSensitiveContentDetected 等 | 上游内容审核拒绝,不计费、不重试 | 修改 prompt / 参考图后重试 |
| 生成失败 | 上游无法下载 image 中的 URL | 换成公网可直接下载的直链 |
data[].url 下载 403 / 404 | 链接已过 24 小时有效期 | 重新生成;或改用 response_format: "b64_json" |
返回 401 | API Key 无效或未带 Authorization 头 | 核对 Key |