「Doubao API」實際上是什麼意思
Doubao(豆包)是 ByteDance 的消費型聊天機器人。其國際版應用程式是 Dola,過去稱為 Cici。兩者底層都採用 ByteDance 的 Seed 研究模型家族,而 API 提供的是這個模型家族,而不是聊天應用程式本身。Seed 負責文字,Seedream 產生圖片,Seedance 產生影片。Volcano Engine(國際品牌為 BytePlus)則是託管這些模型的雲端平台。
有一個常見錯誤值得避免:不要把這些名稱理解成數字越大就一定越好的單一排名。它們不是可互相比較的層級,而是不同用途的模型。你不會像在 GPT-5 和 GPT-4 之間做選擇那樣選擇「Seedance 而不是 Seed」;你應該選擇輸出類型符合目前建置內容的模型。以這種方式理解後,「我該呼叫哪個 Doubao 模型?」就不再是研究專案,而是一份查表工作。
以下是這份查表,並對應 GPT Proto 實際託管的模型 ID:
| 你的工作 |
模型 |
輸出 |
| 圖片生成 |
Seedream 5.0(最新)、4.5、4.0 |
圖片 |
| 影片生成 |
Seedance 2.0、2.0 Fast、1.5 Pro |
影片(含音訊) |
| 文字/推理 |
Doubao 1.5 Pro、Seed 1.6 Thinking |
文字 |
| 最低成本文字/高吞吐量 |
Seed 1.6 Flash |
文字 |
| 圖片理解、OCR |
Doubao 1.5 Vision Pro、Seed 1.6 |
從圖片產生文字 |
關於這些名稱,有一點需要注意:在程式碼中,你必須傳入完整的模型 ID——例如 doubao-seedream-5-0-260128——就像下方範例所示,連同連字號和日期後綴一起傳入。這個長字串才是實際的 API 參數;上方的簡稱只是本指南中的稱呼。
還有一個值得說明的缺口:程式設計。ByteDance 提供專門用於程式設計的模型 Seed 2.0 Code,但該模型在 GPT Proto 上已標記為棄用,因此我不會引導你使用它。對於偏向程式碼的工作,目前最接近的選項是 Seed 1.6 Thinking;它是推理模型,而非專門的程式設計模型。如果你的專案重點就是專用程式設計模型,那麼這是考慮其他平台的理由——我寧願坦白說明,也不會過度推銷。
為什麼不直接使用 Volcano Engine?
你可以這麼做。ByteDance 確實營運國際平台,中國境外的開發者也能註冊。問題在於,選擇不同途徑會帶來多少操作阻力,因此以下列出四種方式:
消費型應用程式 Dola 免費,但它不是 API,影片生成受地區限制,而且在美國、加拿大和澳洲甚至無法使用。使用 VPN 加中國帳戶的方式可以登入應用程式,但經常失效,也無法提供任何程式化能力。直接使用 Volcano Engine/BytePlus 才是真正的 API,但主控台預設為中文,註冊要求身分證或企業驗證,還會增加一個計費關係。聚合端點——本指南採用的方式——提供單一金鑰、單一基礎 URL,以及類似 OpenAI 的呼叫方式,不需要中國身分證;代價是你必須信任中介層,因此在接入正式環境前,應檢查其正常運作時間並閱讀定價資訊。
簡單來說:如果你今天只想從程式碼呼叫 Seedream 或 Seedance,聚合端點可以移除兩個真正的障礙——身分驗證門檻和中文主控台。但它不會免除你閱讀定價的責任;對影片而言,這正是大多數人感到意外的地方。
每個模型的實際費用
圖片——按張計費,價格固定
Seedream 按產生的圖片張數計費,因此頁面上的數字就是你要支付的金額。請注意,價格並不是依版本排序:4.5 比 5.0 貴,而 5.0 又比 4.0 貴。
| 圖片模型 |
GPT Proto |
市場參考價 |
備註 |
| Seedream 5.0 |
$0.0298 |
$0.035 |
最新版本,比參考價低 15% |
| Seedream 4.5 |
$0.034 |
$0.04 |
三者中最昂貴 |
| Seedream 4.0 |
$0.0255 |
$0.03 |
最便宜,128K 上下文 |
影片——依設定計費,而非固定費率
這是最需要弄清楚的部分。Seedance 影片並非按片段收取固定費用,而是會依解析度、長寬比、時長以及是否產生音訊而變動。模型頁面上的標示價格反映的是基準設定。更高規格的設定會更昂貴——在一次實際執行中,720p/16:9/5 秒且啟用音訊的片段約為 $0.605,遠高於基準價格。
| 設定(Seedance 2.0 fast) |
約略費用 |
| 480p/1:1/4 秒(基準) |
$0.215 |
| 720p/16:9/5 秒/啟用音訊 |
~$0.605 |
有兩點需要注意。第一,這裡的 Seedance 2.0 約比市場參考價高 10%,而不是低於參考價——如果直接在 ByteDance 自有的 Dreamina 上生成片段更便宜,那確實如此;使用 API 的理由是穩定的程式化存取和不需要點數制度,而不是更低的標價。第二,由於費用會隨參數增加,不要只根據標示價格估算每部影片的預算;請查看控制面板對實際設定的估算。
文字——每百萬 token
採用標準 token 計費。最便宜的入門選項是 Seed 1.6 Flash;最昂貴的是 vision-pro 層級。
| 文字模型 |
輸入/1M |
輸出/1M |
最適用途 |
| Seed 1.6 Flash |
$0.0172 |
$0.1815 |
高吞吐量、低延遲 |
| Doubao 1.5 Pro |
$0.0965 |
$0.2424 |
一般雙語推理 |
| Seed 1.6 Thinking |
$0.0965 |
$0.9706 |
思維鏈/數學 |
| Doubao 1.5 Vision Pro |
$0.3641 |
$1.0924 |
文件視覺理解、OCR |
這裡沒有長期提供的免費 API 層級。從第一次請求開始就按次計費,因此最便宜的試用方式是 Seed 1.6 Flash,輸入 token 每百萬個約需兩美分。
快速開始:一把金鑰、兩種 API 介面
開始所需的一切,就是從 控制面板取得 GPT Proto API 金鑰。不過,在第一次呼叫前,請先了解最容易踩雷的一點:這裡有兩種 API 介面,而且行為並不相同。
文字聊天與 OpenAI 相容且為同步請求,位於 /v1/chat/completions。圖片和影片則是位於 /api/v3/doubao/… 的非同步任務——你提交請求後會取得結果 ID,接著輪詢第二個端點,直到檔案準備完成。
另一個可能讓你浪費第一個小時的陷阱是:兩者的驗證標頭並不完全相同。聊天端點的文件直接傳入原始金鑰;圖片和影片端點則要求在金鑰前加上「Bearer 」。如果混用,就會收到「Invalid signature」的 401 錯誤。只要分清楚這一點,其餘就只是一般的 HTTP。
呼叫文字模型(與 OpenAI 相容)
由於文字介面採用 OpenAI 格式,你可以將官方 OpenAI SDK 指向該服務,只需修改兩項內容:基礎 URL 和模型。以下先提供符合文件格式的 cURL 範例,再提供 Python 範例。
curl -X POST "https://gptproto.com/v1/chat/completions" \
-H "Authorization: YOUR_GPTPROTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seed-1-6-250615",
"messages": [
{ "role": "user", "content": "Who are you?" }
],
"stream": false
}'
from openai import OpenAI
client = OpenAI(
api_key="YOUR_GPTPROTO_API_KEY",
base_url="https://gptproto.com/v1",
)
resp = client.chat.completions.create(
model="doubao-seed-1-6-250615", # or doubao-1-5-pro-32k-250115
messages=[{"role": "user", "content": "Who are you?"}],
stream=False,
)
print(resp.choices[0].message.content)
當你需要更強的推理能力時,可改用 Doubao 1.5 Pro;若想要最低成本且最快的回應,則使用 Seed 1.6 Flash——只要將 model 欄位改成該模型的 ID(範例中提供了確切字串)。你實際會遇到的錯誤都有文件說明:401「Invalid signature」(金鑰錯誤或標頭使用錯誤)、403「Insufficient balance」(餘額不足)以及 503「Content policy violation」(提示遭封鎖)。最後一項尤其重要:這些端點有內容政策,因此不要假設它們不受限制。
使用 Seedream API 產生圖片
Seedream 採用非同步模式:先以 POST 提交,再以 GET 取得結果。請求本文很小,只需要提示、尺寸和兩個布林值。
# 1. Submit
curl --request POST \
"https://gptproto.com/api/v3/doubao/doubao-seedream-5-0-260128/text-to-image" \
--header "Authorization: Bearer YOUR_GPTPROTO_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"prompt": "Young woman with auburn hair reading in a rustic coffee shop, warm Edison-bulb light, rain on the window, photorealistic, 8k, 35mm lens, f/1.8",
"size": "2048x2048",
"enable_base64_output": false,
"enable_sync_mode": false
}'
# 2. Poll for the result using the id the submit call returned
curl --request GET \
"https://gptproto.com/api/v3/predictions/YOUR_RESULT_ID/result" \
--header "Authorization: Bearer YOUR_GPTPROTO_API_KEY"
以下是使用 Python 搭配簡單輪詢迴圈的相同流程:
import time, requests
API_KEY = "YOUR_GPTPROTO_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
# 1. Submit
submit = requests.post(
"https://gptproto.com/api/v3/doubao/doubao-seedream-5-0-260128/text-to-image",
headers=HEADERS,
json={
"prompt": "Young woman reading in a rustic coffee shop, warm Edison-bulb light, 8k",
"size": "2048x2048",
"enable_base64_output": False,
"enable_sync_mode": False,
},
)
result_id = submit.json()["id"] # confirm the exact field name in the docs response
# 2. Poll until the image is ready
while True:
r = requests.get(
f"https://gptproto.com/api/v3/predictions/{result_id}/result",
headers={"Authorization": f"Bearer {API_KEY}"},
)
data = r.json()
if data.get("status") in ("succeeded", "failed"):
break
time.sleep(2)
print(data)
有兩個實務注意事項。首先,不同版本使用的尺寸分隔符號並不相同——Seedream 5.0 範例使用 2048x2048,中間是「x」;4.x 範例則使用 2048*2048,中間是星號——因此請依照你實際呼叫的模型複製格式。其次,enable_sync_mode 是免除輪詢的方法:將其設為 true,回應就會直接內嵌返回,但代價是連線需要維持更長時間。
使用 Seedance API 產生影片
影片同樣採用提交後輪詢的流程,但請求本文更豐富,包含長寬比、時長、解析度、音訊開關、相機鎖定和種子值。實務上的差異在於處理時間——影片所需時間明顯比圖片長,因此輪詢迴圈應預期執行一段時間,而不是只等待幾秒。
# 1. Submit
curl --request POST \
"https://gptproto.com/api/v3/doubao/doubao-seedance-2-0-260128/text-to-video" \
--header "Authorization: Bearer YOUR_GPTPROTO_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"prompt": "Cinematic wide shot of a sun-drenched Maldives beach, friends playing volleyball, turquoise water, 8k, 35mm lens",
"aspect_ratio": "16:9",
"duration": 5,
"resolution": "720p",
"generate_audio": true,
"camera_fixed": false,
"seed": -1
}'
# 2. Poll (expect this to take a while for video)
curl --request GET \
"https://gptproto.com/api/v3/predictions/YOUR_RESULT_ID/result" \
--header "Authorization: Bearer YOUR_GPTPROTO_API_KEY"
如果希望降低成本並縮短處理時間,而且能接受稍微降低精緻度,可選擇 Seedance 2.0 Fast;若最新模型功能過剩,則可選擇 Seedance 1.5 Pro。請記住前面提到的定價規則:時長、解析度和音訊會影響費用,因此 5 秒、720p、含音訊的影片約為 $0.60,而不是基準價格。
使用 Doubao API 建立的實際成果
以下是影片模型產生的兩個成果,以及生成它們的完整提示。兩者都使用上方相同的提交後輪詢程式碼——只有提示和模型 ID 不同。
F1 廣播寫實感——Seedance 2.0
Seedance 2.0 最擅長廣播風格的寫實感和動態效果,也能透過參考圖維持人物身分。以下提示同時運用了這三項能力:
Prompt
Ultra-realistic F1 live TV broadcast screenshot, identity preserved exactly from reference image.
Young woman sitting in the VIP paddock / team garage during a Formula 1 race, shown on the official live race broadcast as the girlfriend of an F1 driver. It is the final lap, listening to the team radio through a professional racing headset, watching the garage monitors nervously, leaning forward with one hand near her mouth, proud tense expression.
She wears a fitted white tank top, oversized racing team jacket draped over her shoulders, large black team-radio headset with boom mic, gold jewelry, soft glam makeup. A slim paddock pass hangs from her neck.
Realistic F1 broadcast graphics: “FINAL LAP” banner, lap counter, driver timing tower on the left, small F1-style logo bug, “LIVE” indicator, lower-third identifying her as paddock guest.
Team staff, headsets, garage screens, mechanics blurred around her. Telephoto broadcast camera from across the garage, compression artifacts, digital noise, bright paddock lighting, natural skin texture, no smoothing, 8k.
多鏡頭情緒——Seedance 2.0 Fast
Fast 版本仍能處理具有連貫性和情緒氛圍的五鏡頭序列。這就是指南開頭展示的影片:
Prompt
An extremely frail elderly ballerina, 80s, in a tattered tutu, performs alone on an abandoned theater stage lit only by a single spotlight.
Shot 1: Close-up on her gnarled, arthritic feet sliding into first position on the dusty stage floor, the sound of creaking wood beneath her.
Shot 2: Wide shot — she raises her arms overhead with trembling elegance, spine straightening inch by inch, empty velvet seats stretching into darkness.
Shot 3: Medium shot — she begins to turn, slowly then faster, her tutu catching the light, dust swirling around her ankles like smoke.
Shot 4: Low-angle shot — she launches into a grand jeté, suspended in the air for a breathless moment, face locked in fierce concentration.
Shot 5: She lands, staggers one step, stands perfectly still — chest heaving, tears streaming silently — and takes a deep, solitary bow to no one.
The mood is bittersweet and haunting, soaked in faded glory and unbroken love for a life lived in motion.
模型自己的備註也承認了一項限制:在快速、高動態的序列中,你可能會看到紋理顆粒和偶爾的連貫性不穩定。對於主視覺鏡頭,請預留一兩次重試的預算,不要假設第一次渲染就能直接交付。
簡述文字與多模態能力
如果你是因為「doubao api」的聊天功能而來,相關模型如下。 Doubao 1.5 Pro 是雙語推理主力;Seed 1.6 Flash 是便宜又快速的選項;vision-pro 層級則能讀取文件並執行 OCR。它們都支援上方展示的 OpenAI 格式。
在這個平台上,Doubao 的強項並不是一般的前沿聊天能力——來到這裡的主要理由是圖片和影片模型。至於程式設計專用模型 Seed 2.0 Code 已被棄用,因此也不是目前可用的選項。如果你希望在同一把金鑰下,搭配圖片和影片呼叫使用便宜的雙語推理,請選擇文字模型;不要期待它們在英文推理能力上勝過西方前沿模型。
合規與採購注意事項
由於 ByteDance 同時擁有 TikTok,Doubao 會帶來純技術比較容易忽略的採購問題,而這些問題值得明確說明。對大多數商業用途——行銷內容、原型和內部工具——這些模型都足以勝任。但對受監管產業、政府或國防工作,或任何合約明確規定資料所在地的情境,請謹慎評估或選擇西方模型;部分買方可能僅基於政策就排除它,而這是合理的決定,並不代表模型品質不佳。
在內容方面,請記住 503「Content policy violation」錯誤:這些端點會執行內容政策,並拒絕部分提示。請以此規劃應用程式,而不要以可以不受限制地生成內容為前提。
開始建置
選擇符合工作需求的模型,並從其頁面取得請求格式:圖片使用 Seedream 5.0 ,影片使用 Seedance 2.0。在接入正式環境前,請查看模型頁面 上的即時費率——尤其是影片,因為設定會直接影響費用。
如果你想了解的是 Doubao 的產品層面——應用程式是什麼、與 ChatGPT 相比如何,以及實際使用體驗——而不是 API,那是另一篇文章:請參閱我們完整的 Doubao AI 評測。