先说答案:在海外用一把 HopBase Key 加 OpenAI SDK,就能调用字节的豆包 Seed 对话、Seedream 生图、Seedance 视频和豆包语音。base_url 设为 https://api.hop-base.com/v1,给 Key 挂上所需分组,模型 ID 以 GET /v1/models 为准,如对话 doubao-seed-2-1-pro-260628、视频 dreamina-seedance-2-5-260628。生图同步返回,视频先提交再轮询。邮箱或 Google、GitHub 账号即可注册,美元按量付费,可用支付宝、微信支付或银行卡。
「豆包」包括哪些,由哪个分组提供
字节以豆包和 Seed 的名义发布了多条模型线。在 HopBase 上每条线各自是一个分组,一把 Key 最多可挂 10 个分组:
| 产品线 | 用途 | 控制台分组 | 模型 ID |
|---|---|---|---|
| 豆包 Seed 对话 | 文本与图片输入对话、工具调用、深度思考 | 豆包 Seed 云厂商 | doubao-seed-2-1-pro-260628、doubao-seed-2-1-pro-260915、doubao-seed-2-1-lite-260915、doubao-seed-2-1-turbo-260628、doubao-seed-evolving、doubao-seed-character-260628、doubao-seed-2-0-mini-260428 |
| Seedream | 文生图、图生图、改图 | Seedream 生图分组,或 Seedance 海外 · Seedream(该组只有 seedream-5-0-pro) |
seedream-5-0-pro、seedream-5-0-lite、seedream-4-5 |
| Seedance(海外 ID) | 文本、图片、参考生视频 | Seedance 海外 · Seedream | dreamina-seedance-2-5-260628、dreamina-seedance-2-0-260128、dreamina-seedance-2-0-fast-260128、dreamina-seedance-2-0-mini-260615 |
| Seedance(国内 ID) | 同样的系列,国内模型 ID | Seedance 国内(Doubao) | doubao-seedance-2-5-260628-a、doubao-seedance-2-0-260128-a、doubao-seedance-2-0-fast-260128-a、doubao-seedance-2-0-mini-260615-a |
| 豆包语音 | 语音合成、场景音频、声音复刻 | 豆包语音 云厂商 | seed-tts-2.0、seed-audio-1.0、seed-icl-2.0 |
别把 doubao-seed-*(对话)和 doubao-seedance-*(视频)搞混,它们属于不同分组。模型 ID 精确匹配:请从 GET /v1/models 复制,不要缩写,也不要加后缀。
第 1 步:创建 Key 并列出模型
在 api.hop-base.com 注册,打开 API 密钥,新建一把 Key 并挂上上表中的分组。然后查看这把 Key 能调用哪些模型:
export HOPBASE_API_KEY=sk-your-key
curl https://api.hop-base.com/v1/models \
-H "Authorization: Bearer $HOPBASE_API_KEY"
用 OpenAI SDK 调用豆包 Seed 对话
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.hop-base.com/v1",
api_key=os.environ["HOPBASE_API_KEY"],
)
resp = client.chat.completions.create(
model="doubao-seed-2-1-pro-260628",
messages=[{"role": "user", "content": "Summarise the main idea of retrieval-augmented generation in two sentences."}],
max_tokens=4000,
)
print(resp.choices[0].message.content)
上线前需要了解:
- 上下文与输出。
doubao-seed-2-1-pro-260915和doubao-seed-2-1-lite-260915上下文 1M token,最多输出 256K。doubao-seed-2-1-pro-260628、doubao-seed-2-1-turbo-260628、doubao-seed-evolving和doubao-seed-2-0-mini-260428上下文 256K,最多输出 128K。doubao-seed-character-260628上下文 128K,最多输出 32K。 - 深度思考。 除
doubao-seed-character-260628外,所有模型默认开启思考,思考内容在reasoning_content中返回。思考 token 计入max_tokens,请留足余量。 - 图片输入。 七个模型都接受
image_url内容块,可以是公网 URL 或data:URI(base64)。私有链接请用 base64。 - 工具调用。 七个模型都支持工具调用。
doubao-seed-evolving和doubao-seed-2-1-pro-260915会忽略tool_choice。需要强制调用或禁止调用工具时,请用doubao-seed-2-1-pro-260628或doubao-seed-2-1-lite-260915。 - 不支持的参数。
doubao-seed-2-1-pro-260915和doubao-seed-2-1-lite-260915不支持logprobs。 - 其他协议。 同样的模型也可以走
POST /v1/responses和 Anthropic Messages(base_url="https://api.hop-base.com",不带/v1)。 - 流式用量。 发送
stream_options={"include_usage": True}即可在流中拿到用量。命中上下文缓存的部分按缓存输入价计费。
完整参数表:创建对话补全:豆包 Seed 和模型卡。
用 OpenAI SDK 调用 Seedream 生图
Seedream 是同步接口:响应里直接带图片链接,不需要轮询任务。
img = client.images.generate(
model="seedream-5-0-pro",
prompt="A ceramic coffee cup on a linen tablecloth, soft morning light, product photo",
size="2K",
)
print(img.data[0].url) # signed link, valid 24 hours: download it
- 尺寸。
seedream-5-0-pro支持1K、1.5K、2K,或 921,600 到 4,624,220 像素之间的宽x高。Pro 上 1.5K 与 1K 同价,画质更好。seedream-5-0-lite(2K / 3K / 4K)和seedream-4-5(2K / 4K)输出至少 2K。 - 参考图与改图。 参考图放在
image中(URL 或 Data URL,字符串或数组)。Pro 最多 10 张参考图;Lite 和 4.5 最多 14 张。没有蒙版:在提示词里描述要修改的区域。 n恒为 1。 需要一组图时,在 Lite 或 4.5 上用组图生成。
图层拆分、透明背景和流式输出见 Seedream。
Seedance 视频:先提交,再轮询
import os, time, requests
API = "https://api.hop-base.com/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['HOPBASE_API_KEY']}"}
task = requests.post(f"{API}/video/generate", headers=HEADERS, json={
"model": "dreamina-seedance-2-5-260628",
"content": [{"type": "text", "text": "An orange cat runs across sunlit grass as the camera follows"}],
"duration": 5,
"resolution": "720p",
"ratio": "16:9",
}).json()["task"]
while True:
t = requests.get(f"{API}/video/tasks/{task['id']}", headers=HEADERS).json()["task"]
if t["status"] == "completed":
print(t["outputs"][0]); break # valid 24 hours after completion
if t["status"] == "failed":
raise RuntimeError(t["error"]["message"])
time.sleep(5)
- 用哪套 ID? 海外
dreamina-seedance-*的 Key 不能调用doubao-seedance-*ID。国内分组也把海外 ID 当作别名接受(4K 除外),所以从海外切到国内只需换 Key。4K 只有海外 2.0 标准版(dreamina-seedance-2-0-260128)提供。 - 时长。 2.0:4 到 15 秒;2.5:4 到 30 秒,或传
-1由模型决定。 - 字段。 所有字段都在 JSON 顶层,提示词放在
content里的text项。size、seconds、n和aspect_ratio会被静默忽略:请用duration、resolution和ratio。 - 计费。 失败任务不扣费。已被接受的任务不要重复提交,每次提交都会单独计费。
详见 Seedance 视频生成 API 和 Seedance API 价格详解。
豆包语音:语音合成与声音复刻
speech = client.audio.speech.create(
model="seed-tts-2.0",
voice="alloy", # an OpenAI voice name picks the default voice for the text language
input="Hello, welcome to Doubao text to speech.",
)
speech.write_to_file("hello.mp3")
seed-tts-2.0单次最多 5,000 字符,输出 24 kHz 单声道。也可以传豆包音色 ID,例如en_female_dacey_uranus_bigtts。seed-audio-1.0根据场景描述加台词生成带语气和音效的音频(最多 3,000 字符,48 kHz 立体声)。seed-icl-2.0用你先通过POST /v1/voice_clone复刻的声音朗读。- 只用
POST /v1/audio/speech。它一次返回整段音频,不支持流式。
文档列出的官方价为:seed-tts-2.0 和 seed-icl-2.0 每万字符 ¥3,seed-audio-1.0 每分钟生成音频 ¥1。换算后从美元余额扣费。复刻本身目前免费。见语音合成 API:豆包语音。
价格
所有豆包 Seed、Seedream 和 Seedance 模型的官方牌价见价格页。其中部分价格字节以人民币公布,HopBase 换算为美元后从美元余额扣费。几条需要提前规划的计费规则:
- 豆包 Seed Character 和 2.0 Mini 按输入长度分档计费。一个请求的输入(含缓存命中)一旦超过阈值,整个请求都按该档计费。其余五个对话模型只有一档,也没有峰谷价。
- Seedream 按生成的图片张数计费,Seedance 按百万视频 token 计费。
- 每个计费的非流式响应和每个完成的任务都在
usage.cost_usd中报告确切的美元扣费。
延伸阅读
常见问题
没有中国手机号或中国公司,能用豆包 API 吗?
能。在 api.hop-base.com 用邮箱或 Google、GitHub 账号注册即可。按美元计费,可用 Visa / Mastercard、Apple Pay、Google Pay、支付宝、支付宝香港或微信支付付款。
HopBase 上的豆包 API 兼容 OpenAI 吗?
兼容。豆包 Seed 对话支持 https://api.hop-base.com/v1 上的 Chat Completions 和 Responses,以及 https://api.hop-base.com 上的 Anthropic Messages。Seedream 用 OpenAI 图片接口,豆包语音用 OpenAI 语音接口。Seedance 用 HopBase 的视频任务 API。
doubao-seedance-*-a 和 dreamina-seedance-* 有什么区别?
它们是同一 Seedance 系列的国内 ID 和海外 ID,由两个不同的分组提供。海外 Key 只能调用 dreamina-seedance-*;国内 Key 可调用 doubao-seedance-*-a,也接受海外 ID 作为别名。4K 只有海外 2.0 标准版提供。
为什么 doubao-seed-2-1-pro-260915 会忽略 tool_choice?
这个模型和 doubao-seed-evolving 会自行决定是否调用工具,即使你设为 none 或指定了函数。需要强制或禁止工具调用时,请用 doubao-seed-2-1-pro-260628 或 doubao-seed-2-1-lite-260915。
一把 Key 能同时调用豆包和 Claude 或 GPT 吗?
能。在同一把 Key 上挂豆包 Seed 云厂商分组,再加一个 Claude 分组和一个 GPT 分组(最多 10 个分组)。Claude 用 Anthropic SDK,地址 https://api.hop-base.com;GPT 和豆包用 OpenAI SDK,地址 https://api.hop-base.com/v1。
图片和视频链接能保留多久?
Seedream 图片链接和 Seedance 结果链接都是 24 小时有效。请下载或转存到你自己的存储。