結論から言うと、ByteDance の Doubao Seed 対話、Seedream 画像、Seedance 動画、Doubao 音声は、HopBase のキー 1 本と OpenAI SDK で中国国外から呼べます。base_url を https://api.hop-base.com/v1 にしてキーに必要なグループを追加し、モデル ID は GET /v1/models の値(例:対話 doubao-seed-2-1-pro-260628、動画 dreamina-seedance-2-5-260628)を使います。画像は同期、動画は投入後にポーリングします。メールか Google・GitHub で登録でき、USD の従量課金でカード・Alipay・WeChat Pay が使えます。
「Doubao」に含まれるものと、対応するグループ
ByteDance は Doubao と Seed の名前で複数のモデルラインを公開しています。HopBase では各ラインがそれぞれ 1 つのグループになっており、1 本のキーに最大 10 グループを含められます。
| 製品ライン | 用途 | コンソールのグループ | モデル ID |
|---|---|---|---|
| Doubao Seed 対話 | テキスト・画像入力の対話、ツール呼び出し、思考 | Doubao 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 |
| Doubao 音声 | 音声合成、シーン音声、ボイスクローン | Doubao 音声 クラウド | seed-tts-2.0、seed-audio-1.0、seed-icl-2.0 |
doubao-seed-*(対話)と doubao-seedance-*(動画)を混同しないでください。別のグループです。モデル ID は完全一致で照合されます。GET /v1/models からコピーし、省略したり接尾辞を付けたりしないでください。
ステップ 1:キーを作成してモデルを一覧表示する
api.hop-base.com で登録し、APIキー を開いてキーを作成し、上の表のグループを追加します。そのうえで、キーから呼べるモデルを確認します。
export HOPBASE_API_KEY=sk-your-key
curl https://api.hop-base.com/v1/models \
-H "Authorization: Bearer $HOPBASE_API_KEY"
OpenAI SDK で Doubao 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 トークン、出力は最大 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で返します。思考はmax_tokensに含まれるので、余裕を持たせてください。 - 画像。 7 モデルすべてが
image_urlコンテンツパートを受け付けます。公開 URL かdata:URI(base64)で渡します。非公開リンクは base64 を使ってください。 - ツール。 7 モデルすべてがツール呼び出しに対応しています。
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}を送るとストリーム内で使用量を受け取れます。コンテキストキャッシュのヒット分はキャッシュ入力価格で課金されます。
パラメータの全表:チャット補完の作成:Doubao Seed とモデルカード。
OpenAI SDK で Seedream の画像を生成する
Seedream は同期 API です。レスポンスに画像のリンクが含まれ、ポーリングするタスクはありません。
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-*のキーではdoubao-seedance-*の ID を呼べません。中国版グループは海外版 ID もエイリアスとして受け付けるため(4K を除く)、海外版から中国版への移行はキーを差し替えるだけです。4K は海外版 2.0 Standard(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 pricing explained(英語)。
Doubao 音声:音声合成とボイスクローン
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 モノラルを出力します。en_female_dacey_uranus_bigttsのような Doubao のボイス ID も指定できます。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 が 1 万文字あたり ¥3、seed-audio-1.0 が生成音声 1 分あたり ¥1 です。換算後に USD 残高から差し引かれます。クローン自体は現在無料です。音声合成 API:Doubao 音声を参照してください。
料金
Doubao Seed・Seedream・Seedance 全モデルの公式定価は料金ページにあります。ByteDance はその一部を CNY で公表しており、HopBase は USD に換算して USD 残高から差し引きます。計画に入れておきたい課金ルール:
- Doubao Seed Character と 2.0 Mini は入力長の段階で課金されます。リクエストの入力(キャッシュヒットを含む)がしきい値を超えると、リクエスト全体がその段階の価格になります。ほかの 5 つの対話モデルは段階が 1 つだけで、ピーク/オフピーク料金もありません。
- Seedream は生成画像 1 枚ごと、Seedance は動画トークン 100 万あたりで課金されます。
- 課金された非ストリーミングのレスポンスと完了したタスクはすべて、正確な USD 請求額を
usage.cost_usdで返します。
関連記事
- One API key for DeepSeek, Qwen, GLM, Kimi and Doubao(英語)
- Chinese AI video APIs outside China: Seedance, Kling, Hailuo(英語)
- AI で組み込む:コーディングエージェント向けのコピペ用仕様
よくある質問
中国の電話番号や中国法人がなくても Doubao API を使えますか?
はい。api.hop-base.com でメールアドレス、または Google・GitHub アカウントで登録できます。請求は USD で、Visa / Mastercard、Apple Pay、Google Pay、Alipay、AlipayHK、WeChat Pay で支払えます。
HopBase の Doubao API は OpenAI 互換ですか?
はい。Doubao Seed の対話は https://api.hop-base.com/v1 の Chat Completions と Responses、https://api.hop-base.com の Anthropic Messages で使えます。Seedream は OpenAI の Images エンドポイント、Doubao 音声は OpenAI の音声エンドポイントを使います。Seedance は HopBase の動画タスク API を使います。
doubao-seedance-*-a と dreamina-seedance-* の ID は何が違いますか?
同じ Seedance ファミリーの中国版 ID と海外版 ID で、2 つの別のグループが提供しています。海外版のキーは dreamina-seedance-* だけを呼べます。中国版のキーは doubao-seedance-*-a を呼べ、海外版 ID もエイリアスとして受け付けます。4K は海外版 2.0 Standard にしかありません。
なぜ doubao-seed-2-1-pro-260915 は tool_choice を無視するのですか?
このモデルと doubao-seed-evolving は、none を指定したり関数を名指ししたりしても、自分でツールを選びます。ツール呼び出しを強制または無効化したい場合は、doubao-seed-2-1-pro-260628 か doubao-seed-2-1-lite-260915 を使ってください。
1 本のキーで Doubao と Claude や GPT を呼べますか?
はい。同じキーに Doubao Seed クラウドのグループに加えて Claude のグループと GPT のグループを追加します(最大 10 グループ)。Claude は https://api.hop-base.com で Anthropic SDK を、GPT と Doubao は https://api.hop-base.com/v1 で OpenAI SDK を使います。
画像と動画のリンクはどのくらい有効ですか?
Seedream の画像リンクと Seedance の結果リンクは 24 時間有効です。ダウンロードするか、自社のストレージにコピーしてください。