Seedream 5.5 图片生成
Dola Seedream 5.5 的文生图、参考图编辑、透明 PNG、图层拆分和富文本 OCR 接口参数与示例。
在 ModelSell 使用 dola-seedream-5-5-261028 生成图片、编辑参考图或拆分图层。三种用法共用一个 JSON 接口。
POST https://api.modelsell.com/v1/images/generations
Authorization: Bearer $MODELSELL_API_KEY
Content-Type: application/json普通出图每次生成一张图片,支持原生 RGBA 透明背景。图层拆分最多返回一张底图和 99 个透明 PNG 图层,规整文字图层可附带富文本 OCR。
请求参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
model | string | 必填 | dola-seedream-5-5-261028 |
prompt | string | — | 普通出图必填。拆层可省略,由模型识别主要元素,也可指定要拆出的元素。建议在 300 个汉字或 600 个英文单词以内。 |
image | string 或 string[] | — | 参考图的公网 URL 或 Base64 Data URL。普通出图可省略,图生图最多 10 张。拆层必填,只能传一张。 |
size | string | 普通出图 2K,拆层 auto | 普通出图用 1K、1.5K、2K 或像素尺寸 宽x高。拆层可用三个档位或 auto。 |
output_format | string | png | png 或 jpeg。拆层时此参数控制底图格式,独立图层始终是透明 PNG。 |
background | string | auto | 普通出图可选 auto、transparent 或 opaque。auto 根据提示词与输出格式决定是否透明。透明背景须用 PNG。拆层请求须省略此字段。 |
response_format | string | 见下文 | url 返回下载链接,b64_json 返回 Base64 编码的图片字节。 |
watermark | boolean | true | 控制图片右下角的 AI 生成水印。传 false 关闭。 |
optimize_prompt_options | object | — | 提示词优化配置。mode 的默认值及唯一取值为 standard。 |
safety_identifier | string | — | 每位终端用户固定且唯一的标识,最长 64 个英文字符。可使用用户 ID 的哈希值。 |
layer_decomposition | boolean | false | 设为 true 后拆分输入图。任一图层生成失败时,整个请求会报错。 |
layer_decomposition_options | object | — | 仅在拆层时生效。max_images 是输出图片总数上限,含底图,取整数 2–100,默认 30。text_recognition 是布尔值,默认 false,设为 true 后请求富文本 OCR。 |
请在请求中显式填写 response_format。API Key 的图片返回格式设为「跟随请求」时,接口使用请求中的格式。若 Key 和渠道均未固定格式且请求也省略此字段,ModelSell 默认按 b64_json 处理响应。若 Key 固定了图片返回格式,Key 的设置优先。方舟直连接口默认使用 url,上游生成链接通常在 24 小时后失效,请及时保存。
该型号不支持组图、流式输出或联网搜索。调用时省略 sequential_image_generation、sequential_image_generation_options、stream 和 tools。需要控制拆层图片数时,使用 layer_decomposition_options.max_images。
图片尺寸和参考图
普通出图指定像素尺寸时,使用如 2048x1152 的写法,像素总数需在 921,600–4,624,220 之间,宽高比需在 1:16–16:1 之间。使用档位时可在提示词中描述期望比例。拆层时,底图与各图层分别保留其在原图中的宽高比。
| 场景 | 参考图要求 |
|---|---|
| 普通出图 | 最多 10 张,支持 JPEG、PNG、WebP、BMP、TIFF、GIF、HEIC、HEIF。单张总像素 196–36,000,000,宽和高均大于 14 px。 |
| 图层拆分 | 单张 PNG 或 JPEG,总像素 262,144–36,000,000。 |
参考图的宽高比为 1:16–16:1,单张至多 30 MB。使用公网 URL 时,确保上游可以访问。使用 Base64 时,传入 data:image/png;base64,BASE64_DATA 格式的字符串,媒体子类型使用小写。ModelSell 网关请求体上限为 128 MiB,大批量参考图可用 URL。
文生图并下载透明 PNG
curl --fail-with-body -sS https://api.modelsell.com/v1/images/generations \
-H "Authorization: Bearer $MODELSELL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "dola-seedream-5-5-261028",
"prompt": "生成一只独立的红色雨靴,主体轮廓清晰,周围完全透明",
"size": "1K",
"background": "transparent",
"output_format": "png",
"response_format": "b64_json",
"watermark": false
}' > transparent.json将响应中的图片字节解码为 PNG,读取时无需去除 Data URL 前缀。
import base64
import json
from pathlib import Path
data = json.loads(Path("transparent.json").read_text())["data"][0]
Path("transparent.png").write_bytes(base64.b64decode(data["b64_json"]))编辑参考图
把以下 JSON 发到同一个接口。将 image 换成你要编辑的图片 URL。多张参考图用数组,并在提示词中按顺序说明各张图的用途。图生透明 PNG 时,输入图可以是普通不透明图片。
{
"model": "dola-seedream-5-5-261028",
"prompt": "保持人物姿态与构图,在人物脸上添加圆框太阳镜",
"image": "https://arkdocs-en.tos-ap-southeast-1.volces.com/images/image-generation/seedream-5-5-multi-round-editing-input.png",
"size": "2K",
"output_format": "png",
"background": "opaque",
"response_format": "url"
}多轮编辑时,可把上一轮结果作为下一轮的 image,并在 prompt 中说明本轮要修改和保留的内容。
拆分图层并识别文字
使用方舟的示例海报,返回最多 15 张图片,含底图。
curl --fail-with-body -sS https://api.modelsell.com/v1/images/generations \
-H "Authorization: Bearer $MODELSELL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "dola-seedream-5-5-261028",
"prompt": "将海报的标题和署名拆为可独立编辑的文字图层,保留原有文字。",
"image": "https://arkdocs-en.tos-ap-southeast-1.volces.com/images/image-generation/ocr-test2.png",
"layer_decomposition": true,
"layer_decomposition_options": {
"max_images": 15,
"text_recognition": true
},
"size": "auto",
"output_format": "png",
"response_format": "url",
"watermark": false
}' > layers.json可将 response_format 改为 b64_json,让底图和各图层分别内嵌 Base64 图片。只需拆层时省略 text_recognition 或传 false。
响应字段
| 字段 | 说明 |
|---|---|
created、model | Unix 时间戳(秒)和本次调用的模型 ID。 |
data[].url、data[].b64_json | 根据返回格式获取临时下载地址或可直接解码的 Base64 字符串。 |
data[].size、data[].output_format、data[].background | 实际尺寸 宽x高、文件格式及透明状态 transparent 或 opaque。 |
data[].z_index | 拆层时的叠放顺序。底图为 0,独立图层从 1 开始,数值越大越靠上。 |
data[].name、data[].description | 独立图层的名称和内容描述。 |
data[].bounding_box | 图层在底图坐标系中的位置。底图占据整个画布,省略该字段。 |
data[].text_recognition | 开启 OCR 后,模型识别为规整文字的图层返回此对象。 |
safety_identifier | 请求中传入时原样返回。 |
usage.input_images、usage.generated_images | 输入图数量和成功输出图片数。拆层输出数含底图。 |
usage.output_tokens、usage.total_tokens | 所有输出图片像素数相加,除以 256 后向下取整。该模型当前不计算输入 token,两字段相等。 |
error.code、error.message | 整个请求失败时返回的错误码和说明。 |
bounding_box.absolute 和 bounding_box.normalized 都是 [left, top, right, bottom]。前者是从底图左上角起算的像素坐标,后者按底图宽高分别归一到 0–1000。复原图层时,将图层缩放到边界框宽高并按 z_index 升序叠放。
text_recognition.text 是图层全文,多行用换行符分隔。lines[] 逐行返回该行的 bounding_box 和 runs[],每个片段包含 text 与 style。样式包括 similar_font_family(无法识别时为 unknown)、foreground_color(#RRGGBB)以及 bold、italic、underline、strikethrough、shadow、translucent 六个布尔字段。样式是模型估计值。在 ModelSell 的线上样本中,两行文字、粗体和斜体识别正确,其中一层可见的下划线未被标记。
以下是线上样本中一个文字图层的 data[] 元素。图片的 Base64 内容以占位符表示。
{
"z_index": 1,
"name": "Bold navy title text “SUNNY DAY”",
"description": "Bold navy title text “SUNNY DAY”",
"size": "1677x625",
"output_format": "png",
"background": "transparent",
"b64_json": "BASE64_PNG_DATA",
"bounding_box": {
"absolute": [43, 135, 1162, 552],
"normalized": [36, 155, 964, 634]
},
"text_recognition": {
"text": "SUNNY DAY",
"lines": [
{
"bounding_box": {
"absolute": [193, 272, 1015, 434],
"normalized": [160, 313, 842, 499]
},
"runs": [
{
"text": "SUNNY DAY",
"style": {
"similar_font_family": "Arial",
"foreground_color": "#111E3E",
"bold": true,
"italic": false,
"underline": false,
"strikethrough": false,
"shadow": false,
"translucent": false
}
}
]
}
]
}
}