doubao-seedream

本文介绍 doubao-seedream-4.5、doubao-seedream-5-0-260128 两个模型调用 API 的输入输出参数,明确参数共性与模型专属特性,供您使用接口时查阅字段含义,涵盖图像生成相关的完整配置与示例。

1. 接口概述

两个模型均支持 OPENAI 兼容接口,核心功能为图像生成,共享大部分请求与响应参数;其中 doubao-seedream-5-0-260128 新增工具调用、多输出格式支持等专属特性,下文将明确标注各参数的模型支持范围。

2. 认证方式

采用 API Key 认证,统一使用 Authorization 请求头,格式如下:

Authorization: Bearer \{MODELVERSE\_API\_KEY\}

3. 接口地址

两个模型共用同一 OPENAI 兼容接口,请求地址固定:

POST https://api.modelverse.cn/v1/images/generations

4. 请求参数(请求体)

以下参数中,未特别标注的为两个模型共用参数;标注“仅 doubao-seedream-5-0-260128 支持”的为该模型专属参数。

字段名 类型 是否必须 默认值 描述
model string 必须 - 本次请求使用的模型名称,可选值:1. doubao-seedream-4.52. doubao-seedream-5-0-260128
prompt string 必须 - 用于生成图像的提示词,支持中英文,建议不超过300个汉字或600个英文单词
images array(string) 可选 - 输入的图片信息,支持 URL 或 Base64 编码;支持单图或多图输入,最多支持传入14张参考图。- 图片URL:请确保图片URL可被公开访问;- Base64编码:需遵循格式 data:image/\<图片格式\>;base64,\<Base64编码\>,其中<图片格式>需小写(如 data:image/png;base64,)。
size string 可选 - 指定生成图像的尺寸信息,支持以下两种方式,不可混用:方式1:指定分辨率(2K、4K),需在prompt中用自然语言描述图片宽高比、形状或用途,由模型判断最终大小;方式2:指定宽高像素值,默认2048x2048;总像素取值范围 [2560x1440=3686400, 4096x4096=16777216],宽高比取值范围 [1/16, 16];推荐像素值:2048x2048、2304x1728、1728x2304、2560x1440、1440x2560、2496x1664、1664x2496、3024x1296。
sequential_image_generation string 可选 disabled 控制是否关闭组图功能:- auto:自动判断模式,模型根据提示词自主判断是否返回组图及组图数量;- disabled:关闭组图功能,仅生成1张图片。
sequential_image_generation_options object 可选 - 组图功能的配置,仅当 sequential_image_generation 为 auto 时生效。
sequential_image_generation_options.max_images integer 可选 - 指定本次请求最多可生成的图片数量,取值范围 [1, 15]
stream Boolean 可选 false 控制是否开启流式输出模式:- false:非流式输出,等待所有图片生成完毕后一次性返回;- true:流式输出,即时返回每张图片的生成结果,单图和组图场景均生效。
response_format string 可选 url 指定生成图像的返回格式(生成图片默认为jpeg格式),支持两种方式:- url:返回图片下载链接,链接24小时内有效,请及时下载;- b64_json:以Base64编码字符串的JSON格式返回图像数据。
watermark Boolean 可选 true 是否在生成的图片中添加水印:- false:不添加水印;- true:在图片右下角添加“AI生成”字样的水印标识。
optimize_prompt_options object 可选 - 提示词优化功能的配置(无额外说明,按默认逻辑生效)。
tools array[object] 可选 - 配置模型要调用的工具,仅 doubao-seedream-5-0-260128 支持
tools.type string 可选 web_search 工具类型,目前仅支持 web_search(联网搜索功能):开启后,模型根据提示词自主判断是否搜索互联网内容(如商品、天气等),提升图片时效性,会增加一定时延。
output_format string 可选 jpeg 指定生成图像的文件格式,仅 doubao-seedream-5-0-260128 支持,可选值:png、jpeg。

5. 响应参数

响应参数分为非流式响应(stream=false)和流式响应(stream=true)两种模式,两个模型的响应格式一致,仅流式响应会通过 Server-Sent Events(SSE)实时推送事件。

5.1 非流式响应参数

字段名 类型 描述
model string 本次请求使用的模型 ID(格式:模型名称-版本)
created integer 本次请求创建时间的 Unix 时间戳(单位:秒)
data array 输出图像的信息,可能是图像详情,也可能是错误信息
data.url string 图片下载URL,当 response_format 指定为 url 时返回;链接24小时内有效,请及时保存
data.b64_json string 图片Base64编码,当 response_format 指定为 b64_json 时返回
data.size string 图像的宽高像素值,格式为 <宽像素>x<高像素>(如2048×2048)
data.error object 错误信息结构体,仅当单张图片生成失败时返回
data.error.code string 某张图片生成错误的错误码
data.error.message string 某张图片生成错误的提示信息
usage object 本次请求的用量信息
usage.generated_images integer 模型成功生成的图片张数(不含失败图片),仅对成功生成的图片按张计费
usage.output_tokens integer 生成图片花费的token数量,计算逻辑:sum(图片长×图片宽)/256,取整
usage.total_tokens integer 本次请求消耗的总token数量,当前不计算输入token,与output_tokens值一致
error object 本次请求整体发生错误时返回的错误信息
error.code string 整体错误的错误码
error.message string 整体错误的提示信息

5.2 流式响应参数

当 stream 设置为 true 时,服务器通过 Server-Sent Events(SSE)实时推送事件,共3种事件类型,均为请求处理过程中的实时反馈,最终以 completed 事件结束。

5.2.1 事件1:image_generation.partial_succeeded

流式响应模式下,任意图片生成成功时返回,用于实时反馈单张图片的生成结果。

字段名 类型 描述
type string 事件类型,固定为:image_generation.partial_succeeded
model string 本次请求使用的模型 ID
created integer 本次请求创建时间的 Unix 时间戳(单位:秒)
image_index integer 当前图片在本次请求中的序号,从0开始累加(无论生成成功/失败,均会累加)
url string 当前图片的下载URL,当 response_format 为 url 时返回
b64_json string 当前图片的Base64编码,当 response_format 为 b64_json 时返回
size string 当前图像的宽高像素值,格式为 <宽像素>×<高像素>

5.2.2 事件2:image_generation.partial_failed

流式响应模式下,任意图片生成失败时返回,用于实时反馈单张图片的错误信息。

字段名 类型 描述
type string 事件类型,固定为:image_generation.partial_failed
model string 本次请求使用的模型 ID
created integer 本次请求创建时间的 Unix 时间戳(单位:秒)
image_index integer 当前图片在本次请求中的序号,从0开始累加(无论生成成功/失败,均会累加)
error object 当前图片生成失败的错误信息
error.code string 当前图片生成失败的错误码
error.message string 当前图片生成失败的提示信息

5.2.3 事件3:image_generation.completed

本次请求的所有图片(无论成功或失败)均处理完毕后返回,是流式响应的最后一个事件,包含本次请求的整体用量信息。

字段名 类型 描述
type string 事件类型,固定为:image_generation.completed
model string 本次请求使用的模型 ID
created integer 本次请求创建时间的 Unix 时间戳(单位:秒)
usage object 本次请求的用量信息(与非流式响应的usage字段含义一致)
usage.generated_images integer 模型成功生成的图片张数(不含失败图片)
usage.output_tokens integer 生成图片花费的token数量,计算逻辑:sum(图片长×图片宽)/256,取整
usage.total_tokens integer 本次请求消耗的总token数量,与output_tokens值一致

6. 调用示例

以下示例分别对应两个模型的典型使用场景,包含curl和python两种调用方式,适配OPENAI兼容接口格式。

6.1 doubao-seedream-4.5 调用示例(基础生成)

6.1.1 curl 示例

curl --location 'https://api.modelverse.cn/v1/images/generations' \
  --header "Authorization: Bearer $MODELVERSE_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "doubao-seedream-4.5",
    "prompt": "将图片转换为铅笔素描",
    "images": ["https://umodelverse-inference.cn-wlcb.ufileos.com/ucloud-maxcot.jpg"],
    "size": "2k",
    "watermark": false,
    "stream": false,
    "response_format":"url"
  }'

6.1.2 Python 示例

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.modelverse.cn/v1",
    api_key=os.getenv("MODELVERSE_API_KEY", "YOUR_API_KEY")
)

response = client.images.generate(
    model="doubao-seedream-4.5",
    prompt="Convert to quick pencil sketch",
    extra_body={
        "images":["https://umodelverse-inference.cn-wlcb.ufileos.com/ucloud-maxcot.jpg"],
        "size":"2K",
        "response_format":"url",
        "watermark":False
    }
)

print(response.data[0].url)

6.2 doubao-seedream-5-0-260128 调用示例(联网搜索生成)

6.2.1 curl 示例

curl --location 'https://api.modelverse.cn/v1/images/generations' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MODELVERSE_API_KEY" \
  -d '{
    "model": "doubao-seedream-5-0-260128",
    "prompt": "制作一张上海未来5日的天气预报图,采用现代扁平化插画风格,清晰展示每日天气、温度和穿搭建议。",
    "size": "2k",
    "tools": [
      {
          "type": "web_search"
      }
  ],
    "output_format":"jpeg",
    "response_format": "url",
    "watermark": false
}'

7. 响应示例(非流式)

{
    "model": "doubao-seedream-4-5-251128",
    "created": 1767939740,
    "data": [{
        "url": "https://xxxxxx",
        "size": "2048x2048"
    }],
    "usage": {
        "generated_images": 1,
        "output_tokens": 16384,
        "total_tokens": 16384
    }
}