Seedream 5.0 图片生成
Seedream 5.0 Pro 与 Flash 的完整参数、能力差异,以及文生图、参考图、交互编辑、图层拆分和透明背景示例。
Seedream 5.0 系列通过 ModelSell 的 OpenAI Images 兼容入口调用:
POST https://api.modelsell.com/v1/images/generations
Authorization: Bearer $MODELSELL_API_KEY
Content-Type: application/json本文按火山方舟图片生成 API 契约整理。所有模式都调用同一个路径,具体能力由 model 和请求参数决定。
支持模型
| 模型 | Model ID | 主要能力 |
|---|---|---|
| Seedream 5.0 Pro | doubao-seedream-5-0-pro-260628 | 文生单图、单/多参考图生单图、交互编辑、图层拆分、透明背景;最多 10 张参考图;支持 1K/1.5K/2K;提示词优化支持 standard 与 fast |
| Seedream 5.0 Flash | doubao-seedream-5-0-flash-260915 | 与 Pro 相同的生成、交互编辑、图层拆分和透明背景能力,生成速度更快;最多 10 张参考图;支持 1K/1.5K/2K;提示词优化仅支持 standard |
两个模型每次请求生成单张图片(图层拆分除外),暂不支持组图、联网搜索和流式输出。对生成时延敏感的业务,可选择 Flash,或使用 Pro 的 fast 提示词优化模式。
所有请求参数
| 参数 | 类型 | 必选 | 默认值 | 说明 |
|---|---|---|---|---|
model | string | 是 | - | 上表中的模型 ID |
prompt | string | 是 | - | 提示词;支持中英文,另支持日语、韩语、法语、德语、西班牙语等多种语言;建议不超过 300 个汉字或 600 个英文单词 |
image | string / string[] | 否 | - | 单张或多张参考图,支持公网 URL 或 data:image/<格式>;base64,<数据>;最多 10 张 |
size | string | 否 | 2K(图层拆分为 auto) | 分辨率档位或 宽x高;两种形式不可混用 |
layer_decomposition | boolean | 否 | false | 图层拆分开关;为 true 时把 image 拆成一张底图和多个透明 PNG 图层,需同时传 image |
background | string | 否 | opaque | 透明通道:transparent 或 opaque;transparent 仅支持输入 1 张带透明通道的图片,输出为 png |
optimize_prompt_options | object | 否 | {"mode":"standard"} | 提示词优化配置 |
optimize_prompt_options.mode | string | 否 | standard | standard 或 fast;Pro 两者都支持,Flash 仅支持 standard |
output_format | string | 否 | jpeg | png 或 jpeg |
response_format | string | 否 | url | url 或 b64_json;URL 仅保留 24 小时 |
watermark | boolean | 否 | true | 是否在右下角添加“AI 生成”水印 |
表中未列出的火山方舟图片生成 API 原生参数,ModelSell 也会原样转发给上游。
尺寸约束
| 场景 | 分辨率档位 | 自定义尺寸总像素范围 | 宽高比范围 |
|---|---|---|---|
| 图片生成 | 1K, 1.5K, 2K(默认 2K) | 921,600 至 4,624,220 像素 | 1:16 至 16:1 |
| 图层拆分 | 1K, 1.5K, 2K, auto(默认 auto) | 不支持自定义尺寸 | 与原图一致 |
使用档位时,在 prompt 中描述“16:9 横图”“9:16 竖图”等比例。使用自定义尺寸时传入如 2048x1024;请使用小写字母 x,不要使用乘号 ×。1.5K 与 1K 价格相同。
参考图限制
- 支持 jpeg、png、webp、bmp、tiff、gif、heic、heif。
- 单张不超过 30 MB,总像素不超过 36,000,000,宽和高都必须大于 14 px,宽高比在 1:16 至 16:1 之间。
- Pro 与 Flash 最多 10 张参考图。参考图片 URL 必须能被上游直接访问。
文生图
Pro 文生单图
curl https://api.modelsell.com/v1/images/generations \
-H "Authorization: Bearer $MODELSELL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-5-0-pro-260628",
"prompt": "生成一张 16:9 横向产品海报,未来感玻璃材质 API 网关置于画面中心,蓝紫色体积光,中文标题清晰可读",
"size": "2K",
"output_format": "png",
"response_format": "url",
"watermark": false
}'Flash 文生单图
curl https://api.modelsell.com/v1/images/generations \
-H "Authorization: Bearer $MODELSELL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-5-0-flash-260915",
"prompt": "生成一张 3:2 横向 editorial 摄影,雨后的上海街角,霓虹倒影,电影感自然光",
"size": "1.5K",
"output_format": "jpeg",
"watermark": false
}'单参考图生图
image 可使用单个字符串。Pro 和 Flash 都支持。
curl https://api.modelsell.com/v1/images/generations \
-H "Authorization: Bearer $MODELSELL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-5-0-pro-260628",
"prompt": "保持人物姿态和构图不变,将银色服装材质替换为透明玻璃,光影从反射改为折射",
"image": "https://example.com/model.png",
"size": "2K",
"output_format": "png",
"watermark": false
}'也可以传 Base64 Data URL:
{
"model": "doubao-seedream-5-0-flash-260915",
"prompt": "把背景改成日落海滩,保留主体外观",
"image": "data:image/png;base64,BASE64_IMAGE_DATA",
"size": "2K"
}多参考图生图
image 改为数组(2-10 张),并在提示词中按“图 1”“图 2”说明各图用途。
curl https://api.modelsell.com/v1/images/generations \
-H "Authorization: Bearer $MODELSELL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-5-0-pro-260628",
"prompt": "保持图 1 人物身份、姿态与背景,将图 1 的服装替换为图 2 的服装,保持写实摄影风格",
"image": [
"https://example.com/person.png",
"https://example.com/clothes.png"
],
"size": "2K",
"output_format": "png",
"watermark": false
}'交互编辑
Pro 和 Flash 都支持交互编辑。仍使用 image + prompt,定位信息写在提示词中。可直接上传带手绘、涂鸦、圈选或箭头标记的图片,也可使用 <point> / <bbox> 坐标标签。坐标采用 0-1000 归一化坐标系。
任意标记编辑
{
"model": "doubao-seedream-5-0-pro-260628",
"prompt": "在左下角手绘标记区域添加一叠真实杂志,在右侧标记区域添加一杯带杯碟的咖啡;移除所有草图线条,保持原构图",
"image": "https://example.com/marked-room.png",
"size": "2K",
"output_format": "png",
"watermark": false
}坐标定位编辑
{
"model": "doubao-seedream-5-0-flash-260915",
"prompt": "将图 1 <bbox>179 283 796 986</bbox> 的主体放到图 2 <bbox>118 331 933 871</bbox> 位置",
"image": [
"https://example.com/subject.png",
"https://example.com/background.png"
],
"size": "2K",
"output_format": "png",
"watermark": false
}图层拆分
Pro 和 Flash 都支持图层拆分。设置 layer_decomposition: true 后,模型会把输入图拆成一张底图和多个透明背景的 PNG 图层(最多 16 个图层),适合海报、封面等设计稿的二次编辑。在 prompt 中用 <bbox> 坐标(0-1000 归一化坐标系)指定要拆出的文字或主体。
curl https://api.modelsell.com/v1/images/generations \
-H "Authorization: Bearer $MODELSELL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-5-0-pro-260628",
"prompt": "将图片进行精确图层分离,需分离的文字坐标为<bbox>180 64 812 198</bbox>、<bbox>757 210 939 280</bbox>;鹦鹉的坐标为<bbox>347 305 642 997</bbox>。",
"image": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seedream_50_pro_layer_input.png",
"layer_decomposition": true,
"size": "2K",
"output_format": "jpeg",
"response_format": "url",
"watermark": true
}'图层拆分的 size 仅支持档位:底图分辨率与 size 一致并保持原图宽高比;各图层分辨率接近 size 并保持各自在原图中的宽高比。auto 会按原图中底图和各图层的尺寸输出,小于 1K 的按 1K、大于 2K 的按 2K 输出。
响应的 data 按图层顺序返回,z_index: 0 是底图,其余为拆出的图层:
{
"model": "doubao-seedream-5-0-pro-260628",
"created": 1791342353,
"data": [
{
"url": "https://.../base.jpeg",
"size": "2048x2048",
"output_format": "jpeg",
"z_index": 0
},
{
"url": "https://.../layer_1.png",
"size": "2406x498",
"output_format": "png",
"z_index": 1,
"bounding_box": {
"absolute": [384, 120, 1653, 382],
"normalized": [188, 59, 807, 186]
},
"name": "Seedream标题文字",
"description": "提取黄色的Seedream标题文字,不包含其他背景元素"
}
],
"usage": {
"input_images": 1,
"generated_images": 8,
"output_tokens": 131290,
"total_tokens": 131290
}
}| 字段 | 说明 |
|---|---|
data[].z_index | 图层叠放顺序,0 为底图,数值越大越靠上 |
data[].bounding_box.absolute | 图层在底图上的像素坐标 [x1, y1, x2, y2] |
data[].bounding_box.normalized | 同一位置的 0-1000 归一化坐标 |
data[].name / data[].description | 模型给出的图层名称和内容描述 |
data[].output_format | 底图使用请求的 output_format,拆出的图层固定为带透明通道的 png |
透明背景
设置 background: "transparent" 可输出带透明通道的图片。仅支持图生图,且只能输入 1 张带透明通道的图片(如 png);输出默认为 png,同时设置 output_format: "jpeg" 或传入 jpeg 等不带透明通道的图片会报错。
{
"model": "doubao-seedream-5-0-flash-260915",
"prompt": "保持透明背景,把图标改成磨砂玻璃材质,增加柔和的高光",
"image": "https://example.com/icon-transparent.png",
"background": "transparent",
"size": "1K",
"output_format": "png",
"watermark": false
}Base64 返回
设置 response_format: "b64_json",结果位于 data[].b64_json。该字段可能很大,不建议直接写入普通文本日志。
{
"model": "doubao-seedream-5-0-pro-260628",
"prompt": "极简风格的蓝色机械鲸鱼图标,白色背景",
"size": "1K",
"response_format": "b64_json",
"output_format": "png",
"watermark": false
}提示词优化
Pro 支持 standard 和 fast;Flash 当前仅支持 standard。
{
"model": "doubao-seedream-5-0-pro-260628",
"prompt": "未来城市夜景",
"size": "2K",
"optimize_prompt_options": {
"mode": "fast"
},
"output_format": "png",
"watermark": false
}非流式响应
{
"created": 1784347200,
"model": "doubao-seedream-5-0-pro-260628",
"data": [
{
"url": "https://example.com/generated.png",
"size": "2048x2048",
"output_format": "png"
}
],
"usage": {
"generated_images": 1,
"input_images": 0,
"output_tokens": 16384,
"total_tokens": 16384
}
}审核等原因导致失败时,data 中的对应项可能包含 error;请逐项检查 data[].error,不要只判断 HTTP 状态码。
Python SDK 示例
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.modelsell.com/v1",
api_key=os.environ["MODELSELL_API_KEY"],
)
response = client.images.generate(
model="doubao-seedream-5-0-flash-260915",
prompt="生成一张 16:9 未来感 API 控制台产品海报",
size="2K",
response_format="url",
extra_body={
"output_format": "png",
"watermark": False,
"optimize_prompt_options": {"mode": "standard"},
},
)
print(response.data[0].url)layer_decomposition、background 等 Seedream 专属字段同样通过 extra_body 传入。