先講結論:在中國大陸以外呼叫 Seedance、可靈(Kling)、MiniMax 海螺 H3 和萬相 3.0,不必到每個中國平台分別開戶。HopBase 把它們放在同一把 API Key、同一個 Base URL(https://api.hop-base.com)後面,以美元計費。Seedance、可靈和海螺走同一套非同步流程:POST /v1/video/generate 送出,再用 GET /v1/video/tasks/{task_id} 輪詢,直到狀態變成 completed 或 failed。萬相 3.0 和快樂馬(HappyHorse)保留原本的請求格式與路徑,現有的 SDK 程式碼只要換 Base URL 和 Key。各家請求內容仍沿用自己的格式,共用的只有「送出 + 輪詢」這一層。失敗任務不計費,結果連結有效 24 小時,每個完成任務的實際美元扣款會在 usage.cost_usd 中回傳。Seedance 有兩套 ID:海外版(dreamina-seedance-*)與中國版(doubao-seedance-*-a)。
為什麼從海外串接中國影片模型這麼麻煩
2026 年最強的一批影片模型中,中國廠商佔了很大比重:字節跳動的 Seedance、快手的可靈、MiniMax 的海螺、阿里巴巴的萬相。如果你在美國、歐洲或東南亞開發影片產品,想把它們全部串進來,不是註冊一次就好,而是四個各自獨立的專案:
- 區域平台各自獨立。字節面向中國大陸用火山引擎,面向海外用 BytePlus,兩邊的模型目錄、ID 和上線時程都不同。可靈、MiniMax、阿里也各有自己的開發者主控台。
- 實名驗證與付款。中國區主控台通常要求實名驗證與人民幣付款方式。國際版門檻低一些,但每家仍是獨立的合約、獨立的餘額、獨立的發票。
- 四套請求格式。Seedance 用
content[]陣列;可靈用prompt+images[]+videos[];海螺 H3 用 MiniMax 的 v2 請求內容(同樣是content[]陣列,但規則不同);萬相用 DashScope 的input/parameters結構。輪詢方式、錯誤格式、結果連結的有效期限也各不相同。 - 四種計費單位。Seedance 按每百萬影片 token 計費;可靈、海螺、萬相按輸出秒數、依解析度分級計費。想比較單支影片的成本,得自己把它們換算成同一基準。
閘道不會改變模型本身。它省掉的是開戶、付款與輪詢這些工作,讓你的程式只面對一把 Key、一個餘額、一套任務迴圈。
可以呼叫哪些模型,定價多少
下表列出目前可用的模型家族。價格頁上有美元定價的,表中直接列出;其餘請以即時價格為準。你自己的實際價格在登入後的模型目錄中,每個任務也會回傳實際扣款。
| 家族 | 模型 ID 範例 | 輸出 | 計費單位 | 入門定價 |
|---|---|---|---|---|
| Seedance 2.5 / 2.0(字節跳動) | dreamina-seedance-2-5-260628、dreamina-seedance-2-0-260128、dreamina-seedance-2-0-fast-260128、dreamina-seedance-2-0-mini-260615 | 480p-1080p(海外版 2.5 的 1080p 視分組而定);4K 僅海外版 2.0 標準版;2.0 為 4-15 秒,2.5 為 4-30 秒 | 每百萬影片 token | 2.0 Mini:$3.50 / 百萬 token(無影片輸入) |
| 可靈(快手) | kling-v3、kling-v3-omni、kling-v3-turbo、kling-v2-5-turbo | 720p-4K(依模型而定);v3 為 3-15 秒 | 按秒 | 以即時價格為準 |
| 海螺 H3(MiniMax) | MiniMax-H3、MiniMax-H3-Max | H3:768P / 2K,4-15 秒;H3-Max:480P / 768P,5-15 秒 | 按秒 | MiniMax-H3-Max 480P:$0.05 / 秒 |
| 萬相 3.0 / 快樂馬 1.1(阿里巴巴) | wan3.0-video、happyhorse-1.1-t2v、-i2v、-r2v | 480P-1080P | 按秒 | 以即時價格為準 |
以定價試算兩個例子:MiniMax-H3 產生一支 6 秒 768P 影片是 6 × $0.08 = $0.48;MiniMax-H3-Max 產生一支 5 秒 480P 影片是 5 × $0.05 = $0.25。Seedance 的費用取決於解析度、時長以及是否傳入參考影片,大量編列預算前請先看 Seedance 文件和即時價格。
第一步:一把 Key,加入多個影片分組
在 api.hop-base.com 註冊,打開 API 金鑰 建立一把 Key。每個模型家族在各自的分組中,一把 Key 最多可加入 10 個分組,所以把 Seedance、可靈、海螺和萬相都加到同一把 Key 即可。接著確認這把 Key 能呼叫哪些模型:
export HOPBASE_API_KEY=sk-your-key
curl https://api.hop-base.com/v1/models \
-H "Authorization: Bearer $HOPBASE_API_KEY"
只使用這個介面回傳的 ID。模型 ID 採精確比對:未知名稱會直接被拒絕,不會被導向名稱相近的模型。
第二步:送出任務(三種格式,一個端點)
Seedance 2.5(海外版)
curl https://api.hop-base.com/v1/video/generate \
-H "Authorization: Bearer $HOPBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "dreamina-seedance-2-5-260628",
"content": [{"type": "text", "text": "A barista pours latte art in a sunlit cafe, slow push-in"}],
"duration": 5,
"resolution": "720p",
"ratio": "16:9",
"generate_audio": false
}'
可靈 v3
curl https://api.hop-base.com/v1/video/generate \
-H "Authorization: Bearer $HOPBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-v3",
"prompt": "A red sneaker rotates on a white turntable, studio lighting",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "9:16"
}'
海螺 H3
curl https://api.hop-base.com/v1/video/generate \
-H "Authorization: Bearer $HOPBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-H3",
"content": [{"type": "text", "text": "Aerial drone shot over snow mountains above a sea of clouds"}],
"resolution": "768P",
"duration": 6,
"ratio": "16:9"
}'
每家都用自己的欄位名稱。可靈和海螺遇到 size、n 這類 OpenAI 風格的欄位會直接回傳 400,不會建立任務,也不計費。Seedance 則要特別注意:size、seconds、n、aspect_ratio 會被默默忽略、不報錯,任務以預設時長和 720p 執行,所以務必傳入 duration、resolution 和 ratio。萬相 3.0 和快樂馬使用 POST /api/v1/services/aigc/video-generation/video-synthesis,搭配 input 和 parameters,輪詢位址是 GET /api/v1/tasks/{task_id},詳見萬相與快樂馬文件。
第三步:一套輪詢程式全部通用
Seedance 的回應把任務包在 task 物件中,可靈和海螺則是頂層欄位。進行中的狀態值也不同(Seedance 是 pending / processing,可靈和海螺是 queued / processing),但兩個最終狀態各家都一樣:completed 和 failed。一個小函式就能把差異處理掉:
import os, time, requests
BASE = "https://api.hop-base.com"
HEADERS = {"Authorization": f"Bearer {os.environ['HOPBASE_API_KEY']}"}
def submit(body: dict) -> str:
r = requests.post(f"{BASE}/v1/video/generate", json=body, headers=HEADERS, timeout=60)
r.raise_for_status() # Seedance 回傳 200,可靈和海螺回傳 202
data = r.json()
return data.get("task", data)["id"]
def wait(task_id: str, every: int = 5) -> dict:
while True:
r = requests.get(f"{BASE}/v1/video/tasks/{task_id}", headers=HEADERS, timeout=30)
r.raise_for_status()
data = r.json()
task = data.get("task", data)
if task.get("status") in ("completed", "failed"):
return data
time.sleep(every)
task_id = submit({
"model": "kling-v3",
"prompt": "A red sneaker rotates on a white turntable, studio lighting",
"duration": 5, "resolution": "720p", "aspect_ratio": "9:16",
})
result = wait(task_id)
task = result.get("task", result)
print(task["status"], task.get("outputs"))
print("charged (USD):", result.get("usage", {}).get("cost_usd"))
2026-10-29 我們用這段程式原封不動跑了 kling-v2-5-turbo、MiniMax-H3-Max 和 dreamina-seedance-2-0-mini-260615,沒有為任何一家修改:三個任務都順利完成,並從 usage.cost_usd 印出扣款——這個欄位在各家回應中都位於頂層。輪詢不收費,也不佔併發額度。結果要盡快下載:每個結果連結都是 api.hop-base.com 底下的簽章 URL,任務完成後 24 小時內有效,過期回傳 410。
Seedance 海外版與中國版 ID
Seedance 是唯一有兩套 ID 的家族:
- 海外版:
dreamina-seedance-2-5-260628、dreamina-seedance-2-0-260128、-fast-260128、-mini-260615。2.0 標準版是 Seedance 中唯一能輸出 4K 的。 - 中國版:
doubao-seedance-2-5-260628-a、doubao-seedance-2-0-260128-a、-fast-260128-a、-mini-260615-a。沒有 4K 選項,而且需要加入 Seedance 中國分組的 Key:只有海外分組的 Key 無法呼叫doubao-*ID。
兩套的請求格式、端點和輪詢程式完全相同,切換只需換 Key 和模型 ID。參考素材不能跨分組重複使用,換 Key 後要重新上傳。
最容易卡上一整天的雷
- Seedance 的真人參考圖。直接傳入(URL 或 data URL)的真人圖片在送出時可能被拒,回傳
input_sensitive,不計費。Seedance 2.0 可以先用POST /v1/sd/assets上傳素材,再以asset://<id>引用。Seedance 2.5 沒有素材庫,目前還不能使用真人參考圖。 - 送出時會預扣餘額。每次送出影片任務都會依預估費用預扣餘額。同時有幾個大型任務在跑時,即使餘額為正,也可能回傳 402
insufficient_balance。任務結束後預扣會自動釋放。 - 併發以帳戶計算。預設同時處理 5 個請求,超出的請求會立刻收到 429,不會排隊等候。送出影片任務佔併發,輪詢不佔。
- 逾時。未完成的任務在 Seedance 上 24 小時後、在可靈/海螺/萬相上 2 小時後自動判定失敗,失敗任務不計費。
- 任務慢不要重新送出。任務無法取消,每次被受理的送出都是一筆獨立計費的任務。繼續輪詢手上的任務 ID 就好。
如何選擇串接方式
如果只需要一個家族、也願意直接和廠商往來,到廠商自己的國際平台開戶很合理。如果要用好幾家,可以拿這些能自行查證的點來比較:
- 你需要的確切版本是否在列,ID 是否精確(例如 Seedance 2.5、可靈 v3)?
- 失敗任務是否不收費?能否透過 API 讀到每個任務的實際扣款?
- 結果連結能保留多久?過期後會如何?
- 一把 Key 能否涵蓋多個家族、共用一個餘額?能否按 Key 設定消費上限?
- 每個家族的參數限制有沒有文件,而不只是一張模型卡?
常見問題
沒有 BytePlus 或火山引擎帳號,能在美國或歐洲使用 Seedance 嗎?
可以。用加入 Seedance 海外分組的 HopBase Key,在 https://api.hop-base.com/v1/video/generate 呼叫 dreamina-seedance-2-5-260628 等海外版 ID 即可,不需要字節跳動的帳號。
可靈、Seedance 和海螺的請求內容一樣嗎?
不一樣。它們共用送出端點、輪詢端點和計費規則,但請求內容各自不同:Seedance 用 content[] 搭配 ratio,可靈用 prompt/images/videos 搭配 aspect_ratio,海螺 H3 用 MiniMax 的 v2 請求內容。
影片產生失敗會扣款嗎?
不會。失敗的影片任務不計費,送出時就被拒絕的請求也不計費。未扣款的失敗任務,其 usage.cost_usd 顯示為 0。
產生的影片能保留多久?
各家的結果 URL 都自任務完成起 24 小時內有效。再次查詢回傳的是同一個 URL,不會延長期限,請把結果轉存到自己的儲存空間。
在哪裡看我實際要付的價格?
定價見 hop-base.com/pricing。你帳戶的實際價格在登入後的模型目錄中,每個完成的任務也會在 usage.cost_usd 回傳實際扣款。完整參數說明見影片生成總覽、可靈、Seedance 和 MiniMax 海螺文件。