Skip to main content
本页介绍如何在 kapon 中,通过 OpenAI 兼容接口 /v1/images/generations 调用 Doubao Seedream 图片生成模型,包括:
  • 文生图(Text-to-Image,T2I) 🖼️
  • 图生图(Image-to-Image,I2I) 🎨
  • 多图融合与组图生成 ✨
  • 流式输出(SSE) 🔄
所有请求都经由 kapon 转发到火山方舟,不需要自行签名,只需在 Header 中携带 kapon API Key。
export BASE_URL="https://models.kapon.cloud/v1"
export TOKEN="oh-xxxxxxxxxxxxxxxx"
统一使用:
Authorization: Bearer <TOKEN>
Content-Type: application/json

支持的模型

Seedream 4.0

  • 模型名称doubao-seedream-4.0
  • 计费别名doubao-seedream-4.0-n(按图片张数计费,单张 0.2 元;适合需要通过 n 一次生成多张图片的场景)
  • 能力
    • ✅ 文生图(Text-to-Image)
    • ✅ 单图生图(Image-to-Image)
    • ✅ 多图融合(2-10 张输入)
    • ✅ 组图生成(Sequential Generation,最多 15 张)
    • ✅ 流式输出(SSE)
    • ✅ 提示词优化(标准 / 快速模式)
    • ✅ 水印控制
  • 分辨率
    • 支持 1K2K4K 分辨率模式
    • 支持精确尺寸(如 2048x2048
    • 总像素范围:[921,600, 16,777,216]
    • 宽高比范围:[1/16, 16]

Seedream 3.0-t2i

  • 模型名称doubao-seedream-3.0-t2i
  • 能力
    • ✅ 文生图(Text-to-Image)
    • ✅ seed 控制(随机数种子)
    • ✅ guidance_scale 控制(文本权重)
  • 分辨率
    • 总像素范围约在 512x5122048x2048 之间(以火山官方文档为准)。

SeedEdit 3.0-i2i

  • 模型名称doubao-seededit-3.0-i2i
  • 能力
    • ✅ 图生图(Image-to-Image)
    • ✅ seed 控制
    • ✅ guidance_scale 控制
  • 分辨率
    • 推荐使用 adaptive(自动适配输入图片尺寸)。

接口说明

端点

POST /v1/images/generations

请求头

Authorization: Bearer <TOKEN>
Content-Type: application/json
控制台侧需要将 doubao-seedream-* / doubao-seededit-* 模型名绑定到 Doubao / VolcArk 渠道(ChannelTypeVolcArk),即可通过统一的 OpenAI 风格接口访问。

请求参数

基础参数(OpenAI 兼容)

参数类型必填说明
modelstring模型名称,如 doubao-seedream-4.0
promptstring图片描述文本,建议不超过 300 汉字或 600 英文单词
sizestring图片尺寸,如 1024x10242K
ninteger生成图片数量(非组图模式),默认 1
response_formatstring返回格式:url(默认)或 b64_json
qualitystring图片质量,例如 high / standard
stylestring图片风格,例如 vivid / natural

火山方舟专用参数

参数类型支持模型说明
imagestring / string[]Seedream 4.0, SeedEdit 3.0参考图片(URL 或 base64),支持单图或多图(2-10 张)
seedintegerSeedream 3.0, SeedEdit 3.0随机数种子,范围通常为 [-1, 2147483647],-1 表示随机
sequential_image_generationstringSeedream 4.0组图功能:auto(自动判断)或 disabled(关闭)
sequential_image_generation_optionsobjectSeedream 4.0组图配置对象
sequential_image_generation_options.max_imagesintegerSeedream 4.0最多生成图片数量,范围 [1, 15]
streambooleanSeedream 4.0是否启用流式输出(SSE)
guidance_scalefloatSeedream 3.0, SeedEdit 3.0文本权重,范围一般为 [1, 10],值越大与提示词越相关
watermarkboolean全部是否添加水印,默认 true
optimize_prompt_optionsobjectSeedream 4.0提示词优化配置
optimize_prompt_options.modestringSeedream 4.0优化模式:standard(默认)或 fast
提示:所有未识别的字段会按原样透传给火山方舟上游,但计费与用量统计只会依赖部分关键参数(如分辨率、张数等)。

响应格式

非流式响应

标准的 OpenAI 图片响应形态如下:
{
  "created": 1589478378,
  "data": [
    {
      "url": "https://...",
      "size": "2048x2048"
    }
  ],
  "usage": {
    "output_tokens": 16384,
    "total_tokens": 16384
  }
}

Base64 响应(response_format=b64_json

{
  "created": 1589478378,
  "data": [
    {
      "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..."
    }
  ]
}
你可以在客户端将 b64_json 解码为二进制图片数据并保存成文件。

流式响应(Seedream 4.0,stream=true

Seedream 4.0 支持通过 服务器端事件(SSE) 按增量返回图片生成进度,适用于组图和大图生成场景。 典型事件类型:
  1. image_generation.partial_succeeded - 某张图片生成成功;
  2. image_generation.partial_failed - 某张图片生成失败;
  3. image_generation.completed - 所有图片处理完毕。
示例事件(仅示意,实际字段以火山官方文档为准):
data: {"type":"image_generation.partial_succeeded","model":"doubao-seedream-4.0","image_index":0,"url":"https://...","size":"2048x2048"}
data: {"type":"image_generation.completed","usage":{"generated_images":2,"output_tokens":32768,"total_tokens":32768}}
在命令行中,建议使用 curl -N 关闭缓冲;在 Python 中可以使用 requests.post(..., stream=True) 或 OpenAI SDK 的流式接口逐行消费事件。

使用示例

1. 基础文生图(Seedream 4.0)

curl -X POST "$BASE_URL/images/generations" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-4.0",
    "prompt": "一只可爱的熊猫在竹林里吃竹子,阳光透过树叶洒下斑驳的光影",
    "size": "2048x2048",
    "response_format": "url"
  }'

2. 组图生成(Sequential Generation)

curl -X POST "$BASE_URL/images/generations" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-4.0",
    "prompt": "四季变换的风景,春夏秋冬",
    "size": "1024x1024",
    "sequential_image_generation": "auto",
    "sequential_image_generation_options": {
      "max_images": 4
    }
  }'

3. 单图生图(Seedream 4.0)

curl -X POST "$BASE_URL/images/generations" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-4.0",
    "prompt": "将这张图片转换为水彩画风格",
    "image": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seelite_first_frame.png",
    "size": "2048x2048"
  }'

4. 多图融合(2-10 张输入)

curl -X POST "$BASE_URL/images/generations" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-4.0",
    "prompt": "融合这些图片的风格元素",
    "image": [
      "https://example.com/image1.jpg",
      "https://example.com/image2.jpg",
      "https://example.com/image3.jpg"
    ],
    "size": "2048x2048"
  }'

5. 带种子控制(可复现)

curl -X POST "$BASE_URL/images/generations" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-3.0-t2i",
    "prompt": "梵高风格的星空",
    "size": "1024x1024",
    "seed": 12345,
    "guidance_scale": 7.5
  }'

6. 流式组图(Seedream 4.0 + SSE)

curl -N -X POST "$BASE_URL/images/generations" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" \
  -d '{
    "model": "doubao-seedream-4.0",
    "prompt": "一组夕阳下的城市天际线,不同视角的构图",
    "size": "1024x1024",
    "stream": true,
    "sequential_image_generation": "auto",
    "sequential_image_generation_options": {
      "max_images": 4
    }
  }'

常见问题(FAQ)

1. 如何选择模型?

  • Seedream 4.0:最新版本,功能最全,支持组图、流式、多图融合,推荐默认使用。
  • Seedream 3.0-t2i:仅文生图,但支持 seedguidance_scale 精细控制。
  • SeedEdit 3.0-i2i:专门用于图生图编辑场景。

2. 组图和 n 参数的区别?

  • 组图sequential_image_generation=auto):生成一组内容相关的图片,由模型根据理解自动决定数量(受 max_images 限制)。
  • n 参数:生成 n相对独立的图片,通常只用于简单多张采样场景。

3. size 参数如何设置?

  • Seedream 4.0
    • 分辨率模式:1K2K4K(在 prompt 中描述宽高比);
    • 精确尺寸:如 2048x2048(总像素需在 921,600 - 16,777,216 之间)。
  • Seedream 3.0-t2i:推荐在 512x5122048x2048 范围内选择。
  • SeedEdit 3.0-i2i:建议使用 adaptive,由模型根据输入图自动调整。

4. 图片 URL 有效期多久?

生成的图片 URL 通常在 24 小时内有效,请在有效期内完成下载并保存到自己的存储。

5. 如何去除水印?

在请求体中设置:
{
  "watermark": false
}
即可关闭模型水印(前提是当前模型与账号配置允许关闭)。

6. 流式输出有什么好处?

  • 实时查看每张图片的生成进度;
  • 组图场景下,某张图失败不影响其他图片;
  • 适合需要即时反馈的前端应用(如绘画直播、交互式创作)。

7. 图生图时图片传不上去怎么办?

  • 确认 image 字段使用的是公网可访问的 HTTPS URL,或正确的 base64 字符串;
  • 若图片较大,建议预先进行压缩,避免超过上游大小限制;
  • 对于参数名,统一使用 image 字段(数组时传入字符串数组)。

计费说明

  • 成功生成的图片张数 计费;
  • 生成失败的图片通常不计费(以上游账单为准);
  • 具体价格请在后台 模型价格管理 中查看 Doubao Seedream 相关条目。

相关链接