Doubao · 生成
根据提示词生成图片;请求参数和输出因模型而异。
/v1/images/generations查看候选模型 ID
没有符合条件的模型。请调整筛选或重置。
| 模型 ID | 厂商 | 类型 | 说明 | 上下文窗口 | 最大输出 Token | 媒体规格 | 价格 | 状态 |
|---|---|---|---|---|---|---|---|---|
Doubao-Seedream-4.5 | Doubao | 图片 | 文生图、图生图、多参考图融合和图像编辑 | — | — | 查看规格型号: 生成方式:文生图、图生图、图片编辑;分辨率:最高 4K | 查看价格型号: $0.0320 币种:USD;计价单位:次;页面折扣:8.9折;资料日期:2026-09-28 登录页面参考价 登录模型广场展示价,含页面折扣;以当前账户价格和账单为准。 | — |
Doubao-Seedream-5.0-lite | Doubao | 图片 | 文生图、图生图、参考图驱动生成 | — | — | 查看规格型号: 生成方式:文生图、图生图 | 查看价格型号: $0.0303 币种:USD;计价单位:次;页面折扣:8.9折;资料日期:2026-09-28 登录页面参考价 登录模型广场展示价,含页面折扣;以当前账户价格和账单为准。 | — |
Doubao-Seedream-5.0-pro | Doubao | 图片 | 文生图、单图或多图生图、交互式局部编辑 | — | — | 查看规格型号: 生成方式:文生图、图生图、图片编辑;分辨率:最高 4K;图中文字语言:14 种语言 | 查看价格型号: $0.0270 币种:USD;计价单位:张起;页面折扣:6.2折;资料日期:2026-09-28 登录页面参考价 登录模型广场展示价,含页面折扣;以当前账户价格和账单为准。 | — |
按公开标签归类,并补充模型广场资料;— 表示暂无明确资料。左右滑动查看完整表格。

Headers请求头
左右滑动查看完整参数表
| 参数名 | 类型 | 必填 | 说明 | 默认值 / 示例 |
|---|---|---|---|---|
Authorization | string | 必填 | 平台 API Key,使用 Bearer 认证。 | |
Content-Type | string | 必填 | 请求体编码格式。 |
Request Body请求体
application/json左右滑动查看完整参数表
| 参数名 | 类型 | 必填 | 说明 | 默认值 / 示例 |
|---|---|---|---|---|
model | string | 必填 | 模型 ID;请替换为账户可用且支持当前接口的模型。 | |
prompt | string | 必填 | 描述要生成的图像;文本长度限制因模型而异。 | — |
n | integer | 可选 | 生成图片的数量,支持范围由模型决定。示例为 1 张。 | — |
size | string | 可选 | 图像尺寸,支持范围由模型决定。例如 qwen-image-3.0-pro 可填写 512x512,Doubao-Seedream-5.0-pro 的标准方图可填写 1024x1024。 | — |
quality | string | 可选 | 图像质量档位,支持取值因模型而异;image-2 可使用 low。 | — |
background | string | 可选 | 背景设置;仅部分模型支持,透明背景需选支持透明度的输出格式。 可选值 autotransparentopaque | — |
moderation | string | 可选 | 模型支持的图像审核设置。 可选值 autolow | — |
response_format | string | 可选 | 输出图片的表示形式,需所选模型支持。url 返回图片地址,b64_json 返回 Base64 数据;部分模型使用默认返回格式,可省略此字段。 可选值 urlb64_json | — |
output_format | string | 可选 | 输出文件格式;需模型支持。 可选值 pngjpegwebp | — |
output_compression | integer | 可选 | JPEG/WebP 输出压缩设置;需模型支持。 | — |
stream | boolean | 可选 | 是否流式返回图片事件;仅部分模型支持。 | — |
partial_images | integer | 可选 | 流式返回中间图片的数量;需同时开启 stream 且模型支持。 | — |
style | string | 可选 | 图像风格;支持取值由模型决定。 | — |
user | string | 可选 | 应用内终端用户标识。 | — |
使用说明
- 尺寸、数量、质量、透明背景、输出格式和流式能力按所选图像模型开放。
- Seedream 5.0 pro 支持 1K、1.5K、2K,1K 标准方图为 1024x1024;自定义尺寸需符合模型和平台的规格要求。
- 从 data[].url 读取图片地址,或解码 data[].b64_json 获取图片。示例中的链接和 BASE64_IMAGE_DATA 为占位内容。
生成与编辑
| 用途 | 请求格式 | 输入 |
|---|---|---|
| 生成 /v1/images/generations | application/json | 以 prompt 描述新图片 |
| 编辑 /v1/images/edits | multipart/form-data | 上传 image 文件,并用 prompt 描述修改 |
编辑接口的 mask、透明区域规则、多图字段及文件规格由具体模型决定。使用 multipart 时让客户端生成 Content-Type 和 boundary。图片数量、尺寸、格式和单文件大小按所选模型的说明填写。
保存 URL 或 Base64 图片结果
读取 data[].url 下载图片,或将 data[].b64_json 解码为二进制。URL 可能有有效期,收到后及时保存。下方示例按文件头识别 PNG、JPEG、WebP,其他编码保存为 .bin;完整写入临时文件后再替换目标文件。
展开 Python:提交请求并保存图片
# 安装依赖:python -m pip install requests
import base64
import json
import os
from pathlib import Path
from urllib.parse import quote
import requests
BASE_URL = "https://ai.kedang.net"
MODEL_ID = "MODEL_ID" # 替换为账户可用、支持当前能力的模型
def request_json(path, body, extra_headers=None):
headers = {"Authorization": "Bearer " + os.environ["KEDANG_API_KEY"]}
headers.update(extra_headers or {})
response = requests.post(BASE_URL + path, headers=headers, json=body, timeout=120)
response.raise_for_status()
result = response.json()
if result.get("error"):
raise RuntimeError(result["error"])
return result
import tempfile
from urllib.parse import urlsplit
def image_extension(content):
if content.startswith(b"\x89PNG\r\n\x1a\n"):
return ".png"
if content.startswith(b"\xff\xd8\xff"):
return ".jpg"
if content[:4] == b"RIFF" and content[8:12] == b"WEBP":
return ".webp"
return ".bin" # 其他编码先按原始字节保存,再按实际格式命名。
def save_images(result, directory="generated-images"):
items = result.get("data")
if not isinstance(items, list) or not items:
raise ValueError("响应没有 data 图片列表")
folder = Path(directory)
folder.mkdir(parents=True, exist_ok=True)
paths = []
for index, item in enumerate(items, 1):
if item.get("b64_json"):
content = base64.b64decode(item["b64_json"], validate=True)
elif item.get("url"):
url = item["url"]
parsed = urlsplit(url)
if parsed.scheme != "https" or not parsed.netloc:
raise ValueError("图片结果需为有效 HTTPS 地址")
# 媒体地址可能在独立域名;这里不携带平台 API Key。
response = requests.get(url, timeout=120)
response.raise_for_status()
mime = response.headers.get("Content-Type", "").split(";", 1)[0].lower()
if mime and not (mime.startswith("image/") or mime == "application/octet-stream"):
raise ValueError("下载响应不是图片或二进制文件")
content = response.content
else:
raise ValueError("图片项缺少 url 或 b64_json")
if not content:
raise ValueError("图片内容为空")
target = folder / ("image-" + str(index) + image_extension(content))
temporary = None
try:
with tempfile.NamedTemporaryFile(dir=folder, delete=False) as file:
temporary = Path(file.name)
file.write(content)
temporary.replace(target)
finally:
if temporary is not None:
temporary.unlink(missing_ok=True)
paths.append(target)
return paths
def main():
result = request_json("/v1/images/generations", {
"model": MODEL_ID, "prompt": "一只橘猫坐在窗边,柔和自然光。", "n": 1})
for path in save_images(result):
print(path)
if __name__ == "__main__":
main()