Skip to content
上新Nano Banana 2.1 已上線:Google 新一代生圖模型,單張低至 $0.0336,原生 4K,約上一代半價查看模型
HopBase
← 返回 Blog

海外呼叫豆包 API:Seed、Seedream 與 Seedance 串接指南

先講答案:在海外用一把 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、支付寶、AlipayHK 或微信支付付款。

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 小時有效。請下載或轉存到你自己的儲存空間。