Skip to Content
ModelSell 文档
图片系列Seedream

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。

请求参数

参数类型默认值说明
modelstring必填dola-seedream-5-5-261028
promptstring—普通出图必填。拆层可省略,由模型识别主要元素,也可指定要拆出的元素。建议在 300 个汉字或 600 个英文单词以内。
imagestring 或 string[]—参考图的公网 URL 或 Base64 Data URL。普通出图可省略,图生图最多 10 张。拆层必填,只能传一张。
sizestring普通出图 2K,拆层 auto普通出图用 1K、1.5K、2K 或像素尺寸 宽x高。拆层可用三个档位或 auto。
output_formatstringpngpng 或 jpeg。拆层时此参数控制底图格式,独立图层始终是透明 PNG。
backgroundstringauto普通出图可选 auto、transparent 或 opaque。auto 根据提示词与输出格式决定是否透明。透明背景须用 PNG。拆层请求须省略此字段。
response_formatstring见下文url 返回下载链接,b64_json 返回 Base64 编码的图片字节。
watermarkbooleantrue控制图片右下角的 AI 生成水印。传 false 关闭。
optimize_prompt_optionsobject—提示词优化配置。mode 的默认值及唯一取值为 standard。
safety_identifierstring—每位终端用户固定且唯一的标识,最长 64 个英文字符。可使用用户 ID 的哈希值。
layer_decompositionbooleanfalse设为 true 后拆分输入图。任一图层生成失败时,整个请求会报错。
layer_decomposition_optionsobject—仅在拆层时生效。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、modelUnix 时间戳(秒)和本次调用的模型 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
            }
          }
        ]
      }
    ]
  }
}

相关资料

On this page