Schuyler Stacy2026-07-09

如何透過 AI API 生成影片:Seedance 2.0、ViduQ3 及另外 3 款模型,一把金鑰即可使用

逐步教學:使用約 10 行 Python 程式碼透過 AI API 生成影片。一把金鑰即可使用 Seedance 2.0、ViduQ3、Kling、Hailuo 與 Veo——可直接執行的程式碼與實際價格。

如何透過 AI API 生成影片:Seedance 2.0、ViduQ3 及另外 3 款模型,一把金鑰即可使用

TL;DR: 若要透過 AI API 生成影片,只需將文字提示 POST 至影片模型的端點,取得工作 ID,接著輪詢該工作,直到完成的 MP4 檔案準備就緒——Python 大約只需十行程式碼。GPTProto 的統一 API 讓五款影片模型共用一把金鑰與同一個餘額:Seedance 2.0、ViduQ3-pro、Kling v3.0 std、Hailuo 2.3 Pro,以及 Veo 3.1。只要變更 URL 中的一個字串,就能在模型之間切換——驗證方式、請求格式與輪詢流程完全相同。計費採預付隨用隨付,每秒影片起價約為 $0.04。

 

過去,要呼叫五種不同的影片模型,通常意味著要建立五個帳戶、使用五套 SDK,還要管理五個計費儀表板。想使用 ByteDance 的 Seedance 2.0?你需要 BytePlus(Volcano Engine)帳戶,以及一項大多數中國以外使用者無法在一個下午內完成的身分驗證。想使用 Google 的 Veo?那是不同的主控台與不同的金鑰。想用相同提示對兩個模型進行 A/B 測試?現在你得維護兩套彼此毫無共通之處的整合。

本指南將略過上述所有繁瑣流程。你將使用大約十行 Python 程式碼完成第一次文字轉影片 API 呼叫,輪詢取得完成的 MP4,接著只要變更 URL 中的一個字串,就能使用另外四款模型——同一把金鑰、同一套程式碼、同一個餘額。

完整揭露:我為 GPTProto 撰寫這些整合指南,因此我對你使用哪個端點確實有既得利益。不過,我仍盡力如實呈現數據,包括下方其中一款模型,透過我們呼叫的成本比直接呼叫更高。遇到這種情況,我會明確說明。

目錄

AI 影片生成 API 實際上是什麼

它不是一個免寫程式碼的按鈕,而是一項非同步工作:你 POST 一段提示,API 回傳一組 ID,模型可能需要三十秒到數分鐘進行算圖,接著你輪詢第二個端點,直到影片準備完成。這段算圖延遲正是採用兩步驟設計的原因——影片處理時間太長,無法一直保持 HTTP 連線開啟,因此 API 會先回傳工作票證,而不是檔案。

幾乎所有你會建立的功能,都能由三種請求格式涵蓋:

  • 文字轉影片 ——將提示轉換成影片片段。
  • 圖片轉影片 ——讓靜態畫面動態化。
  • 參考圖轉影片 ——使用一張或多張參考圖片,讓角色或物件在不同鏡頭間保持一致。
    以下所有內容都使用相同的基礎 URL、https://gptproto.com/api/v3,以及相同的標頭。現在就取得金鑰並完成第一次呼叫。

取得 API 金鑰

前往 gptproto.com 註冊,開啟儀表板中的 API Keys 區段,然後建立金鑰。金鑰格式看起來會像 sk-...。這裡沒有固定的免費方案——計費採預付隨用隨付,因此你需要先為餘額加值,每次呼叫從第一次請求開始就會扣款。測試時準備幾美元即可;幾段短影片的費用不會超過這個金額。

安裝唯一需要的相依套件:

pip install requests

第一次呼叫前,有一點務必注意,因為這很容易讓人困惑:在原生的 /api/v3/ 介面上,Authorization 標頭應填入你的原始金鑰,且不加上 Bearer 前綴。GPT Proto 也提供與 OpenAI 相容的 /v1/ 介面,而介面則使用 Bearer。混淆兩者是我最常看到的 401 錯誤原因。本教學全程使用原生介面,因此金鑰應直接填入。

你的第一次呼叫:Seedance 2.0,文字轉影片

Seedance 2.0 是 ByteDance 的第二代影片模型。它可以生成 4 至 15 秒、最高 1080p、具備原生同步音訊的影片片段,適合用於鏡頭切換但主體保持一致的多鏡頭場景。以下是完整的文字轉影片提交範例:

import requests
import time
 
API_KEY = "sk-your-key-here"   # raw, no "Bearer" prefix
BASE = "https://gptproto.com/api/v3"
 
headers = {
    "Authorization": API_KEY,
    "Content-Type": "application/json",
}
 
def submit_seedance(prompt):
    url = f"{BASE}/bytedance/dreamina-seedance-2-0-260128/text-to-video"
    payload = {
        "prompt": prompt,
        "duration": 5,           # 4-15 seconds
        "aspect_ratio": "16:9",
        "resolution": "1080p",
        "generate_audio": True,
        "camera_fixed": False,
        "seed": -1,              # -1 = random
    }
    resp = requests.post(url, headers=headers, json=payload)
    resp.raise_for_status()
    return resp.json()["data"]["id"]
 
prompt = (
    "A lighthouse keeper climbs a narrow spiral staircase at dawn. "
    "Cut to a wide shot of the lamp room as the light sweeps across "
    "grey water. Waves crash below. Ambient wind and distant gulls."
)
job_id = submit_seedance(prompt)
print("submitted:", job_id)

如果你想查看線上傳輸格式,以下是相同請求的 cURL 版本:

curl -X POST "https://gptproto.com/api/v3/bytedance/dreamina-seedance-2-0-260128/text-to-video" \
  -H "Authorization: sk-your-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A lighthouse keeper climbs a spiral staircase at dawn, then the lamp sweeps across grey water.",
    "duration": 5,
    "aspect_ratio": "16:9",
    "resolution": "1080p",
    "generate_audio": true,
    "camera_fixed": false,
    "seed": -1
  }'

回應中不會包含影片,而是包含一項工作:

{
  "data": {
    "id": "cgt-20260709xxxxxx-abc",
    "status": "created",
    "outputs": [],
    "urls": { "get": "https://gptproto.com/api/v3/predictions/cgt-20260709xxxxxx-abc/result" }
  },
  "message": "success",
  "code": 200
}

data.id 就是你的票證。data.urls.get 是現成的輪詢 URL,其中已經包含 ID。簡單來說:你提交了工作、取得了 ID,但目前尚未算出任何內容。

輪詢結果

現在持續呼叫結果端點,直到 status 變成 completed,接著從 outputs 讀取影片 URL。平台上的每個模型都使用相同的輪詢端點與相同的回應格式,這正是後面「只替換一個字串」技巧可行的原因:

def wait_for_video(job_id, every=5, timeout=600):
    url = f"{BASE}/predictions/{job_id}/result"
    waited = 0
    while waited < timeout:
        resp = requests.get(url, headers=headers)
        resp.raise_for_status()
        data = resp.json()["data"]
        status = data["status"]
 
        if status == "completed":
            return data["outputs"][0]        # the MP4 URL
        if data.get("error"):
            raise RuntimeError(data["error"])
 
        print(f"  {status}... {waited}s")
        time.sleep(every)
        waited += every
 
    raise TimeoutError(f"timed out after {timeout}s (last status: {status})")
 
video_url = wait_for_video(job_id)
print("done:", video_url)

這就是一個完整可運作的生成流程。兩個函式、一段提示、一個 MP4。5 秒影片通常會在一到兩分鐘內完成,不過帶音訊的 15 秒 1080p 影片可能需要更久——每隔幾秒輪詢一次即可,不要頻繁發送請求。

補充說明一下這個迴圈:我會在 error 出現時拋出錯誤,並將任何既不是 completed、也不是錯誤的狀態視為「繼續等待」。這是刻意的設計。不同模型回報中間狀態的方式各不相同,因此,與其硬編碼一份可能變動的狀態清單,不如等待所有非致命錯誤狀態。

只替換一個字串,就能切換引擎:ViduQ3-pro

重點來了。若要使用 ViduQ3-pro 而不是 Seedance 生成相同提示,只需變更路徑——其他部分完全不變。金鑰、標頭與 wait_for_video() 都維持原樣:

def submit_vidu(prompt):
    url = f"{BASE}/vidu/viduq3-pro/text-to-video"
    payload = {
        "prompt": prompt,
        "duration": 5,           # ViduQ3 goes up to 16s
        "aspect_ratio": "16:9",
        "resolution": "1080p",
        "audio": True,           # note: ViduQ3 uses `audio`, not `generate_audio`
        "seed": -1,
    }
    resp = requests.post(url, headers=headers, json=payload)
    resp.raise_for_status()
    return resp.json()["data"]["id"]
 
job_id = submit_vidu(prompt)
video_url = wait_for_video(job_id)   # same poller, unchanged

ViduQ3-pro 可將影片片段延長至 16 秒——是 Seedance 實用範圍的兩倍——而且在這些模型中每秒價格最低。不同模型的參數名稱會略有差異(ViduQ3 使用 audio 控制聲音;Seedance 使用 generate_audio),因此請查看模型頁面以確認確切欄位,但請求/提交/輪詢的流程永遠不變。

保持角色一致。 這兩款主力模型不只支援文字轉影片。你可以將 ViduQ3 指向 /vidu/viduq3-pro/image-to-video,並提供 image 欄位來讓靜態圖片動起來;也可以使用 Seedance 的參考圖轉影片模式,讓同一張臉在不同鏡頭中保持一致。流程仍然是提交並輪詢——你只是增加圖片輸入,不需要學習全新的 API。正式整合前,請先在各模型頁面確認參考圖片欄位名稱。

該使用哪一款?

五款模型共用一把金鑰。它們不是數字越大就一定越好的分級模型,而是各自適合不同工作。請依影片需求選擇:

模型 路徑({provider}/{model} 原生音訊 最長時長 價格 適用情境
Seedance 2.0 bytedance/dreamina-seedance-2-0-260128 約 15 秒 每次執行 $0.2957 起 具同步音效的多鏡頭場景
ViduQ3-pro vidu/viduq3-pro 16 秒 每秒 $0.04 起 需要更長影片與最低價格
Kling v3.0 std kling/kling-v3.0-std 約 10 秒 每次執行 $0.2016 起 便宜且可靠的圖片轉影片
Hailuo 2.3 Pro minimax/hailuo-2.3-pro 約 10 秒 $0.441/次 需要自行後製音訊時,提供清晰的 1080p 畫面
Veo 3.1 google/veo3.1 每次執行 $0.5 起 需要 4K 輸出

在做出決定前,有兩點值得注意。Hailuo 2.3 Pro 回傳的是無聲影片——畫面品質出色,但你需要在後製階段自行配樂。而 Veo 3.1 的每個輸出都會帶有無法關閉的嵌入式 SynthID 浮水印;如果客戶不希望影片內含來源標記,這一點就相當重要。

由於平台在後台透過同一套提交/輪詢合約統一所有模型,因此在不同模型間反覆測試只需要查詢字典,而不是重寫程式:

MODELS = {
    "seedance": "bytedance/dreamina-seedance-2-0-260128",
    "vidu":     "vidu/viduq3-pro",
    "kling":    "kling/kling-v3.0-std",
    "hailuo":   "minimax/hailuo-2.3-pro",
    "veo":      "google/veo3.1",
}
 
def submit(model_key, scene, payload):
    url = f"{BASE}/{MODELS[model_key]}/{scene}"
    resp = requests.post(url, headers=headers, json=payload)
    resp.raise_for_status()
    return resp.json()["data"]["id"]
 
# same wait_for_video() retrieves any of them
job_id = submit("kling", "image-to-video", {"prompt": prompt, "image": image_url})

各模型的請求內容不同——這是你需要調整的部分——但模型探索、驗證與結果取得流程都不變。

實際成本

影片計價方式為每秒或每次執行,並且會隨解析度、時長,以及是否生成音訊而大幅增加。模型頁面上的醒目價格只是最低價,不代表實際預估成本。舉例來說,一段 Seedance 720p/16:9/5 秒、包含音訊的影片約為 $0.605——遠高於 $0.2957 的基準價——因為你同時提高了所有成本因素。請依儀表板的估算,使用實際設定計算價格,而不是只看標示價格。

以下是與直接呼叫各供應商相比的實際比較:

  • ViduQ3-pro ——每秒 $0.04 起,比約 $0.05/秒的市場參考價低約 20%。
  • Kling v3.0 std ——每次執行 $0.2016 起,比約 $0.252 的參考價低約 20%。
  • Hailuo 2.3 Pro ——每次執行 $0.441,相較 MiniMax 的約 $0.49 便宜約 10%。
  • Seedance 2.0 ——每次執行 $0.2957 起,這比直接在 ByteDance 自家的 Dreamina 上生成相同影片高約 10%。我不會假裝不是這樣。透過 API 呼叫它的理由不是價格更低,而是穩定的程式化存取、共用一個餘額,以及不需要通過 BytePlus 身分驗證。如果你只在意 Seedance 的成本,直接使用會比較便宜。
  • Veo 3.1 ——每次執行 $0.5 起;頁面上沒有清楚的市場參考價,因此應將它視為便利性選擇,而不是折扣方案。沒有免費方案,也沒有月費訂閱——從第一次請求起就按次付費。若要查詢特定模型的價格,
    模型目錄會顯示目前依每秒與解析度區分的價格表。
錯誤與注意事項

以下是常見問題的簡短指南:

  • 401 未授權 ——幾乎總是 Bearer 使用錯誤。原生 /api/v3/ 介面需要原始金鑰。
  • 403 禁止存取 ——通常是餘額為零,而不是權限問題。請加值。
  • 429 ——你受到速率限制;請降低頻率並重試。
  • 400,含內容訊息 ——提示觸發了內容審核。回應也會包含值得在處理流程中檢查的 has_nsfw_contents 旗標。
  • 輪詢始終未完成 ——長時間算圖確實存在;這就是 wait_for_video() 設定逾時,而不是無限迴圈的原因。
  • 音訊參數錯誤 ——Seedance 使用 generate_audio,ViduQ3 使用 audio。傳送錯誤參數時不會報錯,而是靜默地不產生任何效果,情況反而更糟。請依模型確認欄位名稱。

 

從這裡開始

最快的方法是:取得金鑰,執行上方的 Seedance 與 ViduQ3 程式片段,接著替換模型字串來測試其他模型。選擇模型所需的一切資訊——目前價格、支援模式、解析度表——都位於目錄中的各模型頁面。一把金鑰、一個餘額、五個影片引擎。

創意工作室

使用生產級 API 生成圖像、影片及更多內容。

開始創作
創意工作室
相關模型
全部模型
Claude
20% OFF
Google
40% OFF
Google
40% OFF
MoonshotAI
10% OFF

常見問題

每個模型都需要單獨的帳戶嗎?

不需要。一把 GPTProto 金鑰即可在同一個餘額中使用所有這些模型。你只需變更 URL 路徑,不必更換驗證資訊。

AI 影片生成 API 的費用是多少?

起價約為每秒 $0.04(ViduQ3-pro),並會隨解析度、時長與音訊而增加。含音訊的 5 秒 1080p 影片,通常會依模型不同落在 $0.20 至 $0.60 之間。

2026 年哪個 AI 影片生成 API 最好?

取決於工作內容。Seedance 2.0 適合具同步音訊的多鏡頭場景;ViduQ3-pro 適合需要更長影片與低價格的情境;Kling v3.0 std 適合低成本圖片轉影片;Hailuo 2.3 Pro 適合你打算自行加入配樂時使用;需要 4K 時則選擇 Veo 3.1。上方比較表將每款模型與適用情境對應起來。

有免費方案嗎?

沒有。從第一次呼叫開始採用預付隨用隨付計費。

這些 API 能生成原生音訊嗎?

大多數模型都可以——Seedance 2.0、ViduQ3-pro、Kling v3.0 std 與 Veo 3.1 都能生成同步音效。Hailuo 2.3 Pro 會回傳無聲影片,因此請規劃在後製階段加入音訊。

相關文章

更多部落格
2026 年 7 款最實惠的 AI 影片生成器(依影片實際成本排名)

2026 年 7 款最實惠的 AI 影片生成器(依影片實際成本排名)

每月 30 美元的影片訂閱方案,成本可能比一次 0.04 美元的 API 呼叫還高。這聽起來很不合理,所以先直接算給你看:如果方案提供 800 點數,而一段像樣的影片要消耗 200 點數,那麼 30 美元只能產生 4 部影片——每部約 7.50 美元。在 GPTProto 上,使用具原生音訊的 Vidu Q3 Pro 生成一段 16 秒影片只要 $0.04 。你必須生成 187 部,才會花掉同樣的 7.50 美元。 這個差距就是 2026 年「實惠 AI 影片」的核心。登陸頁面上的標價幾乎說明不了什麼。真正重要的是一部 可用的 影片成本——也就是你重試幾次後最終保留下來的那一部。本文使用即時的單次生成價格,排名實際取得這部影片最便宜的方法,也坦白說明低價在哪些情況下不值得。

Tiffany Layne | 2026-07-07

Seedance 2.0 Mini 與 Seedance 2.0:價格、品質,以及實際該使用哪一個

Seedance 2.0 Mini 與 Seedance 2.0:價格、品質,以及實際該使用哪一個

TL;DR — 在相同解析度下,Seedance 2.0 Mini 在 GPTProto 上的成本比標準版 Seedance 2.0 低約 20% — 並不是大多數比較頁面所說的「半價」。更大的節省來自一項硬性限制:Mini 最高只支援 720p,因此完全跳過昂貴的 1080p 和 4K 等級。當你需要快速、大量反覆迭代,以及短影音社群片段時,請選擇 Mini。當你需要 1080p 或 4K、更複雜的動態,或要交付給客戶的最終剪輯時,請選擇標準版 Seedance 2.0。真正划算的做法是同時使用兩者:用 Mini 起草,再用標準版完成。本指南接下來將介紹 Seedance 2.0 Mini 及其完整版同系列模型,並展示這些選擇背後的實際數據。

Tiffany Layne | 2026-06-30

Seedance 2.5 出了嗎?發佈日期與我們目前真正知道的資訊(2026)

Seedance 2.5 出了嗎?發佈日期與我們目前真正知道的資訊(2026)

這週我刷新 ByteDance 的 Seed 頁面,等待 Seedance 2.5 出現的次數已經多到有點不好意思了。到目前為止,什麼都沒有。沒有模型頁面、沒有規格表,也沒有日期。這正是這篇文章存在的原因:目前流傳著大量關於 Seedance 2.5 的自信說法,其中大多數都把猜測當成事實。我想清楚區分兩者,然後告訴你今天實際可以執行什麼。

Tiffany Layne | 2026-06-23

如何使用 Kling 3.0 Motion Control:開發者指南(Web + API)

如何使用 Kling 3.0 Motion Control:開發者指南(Web + API)

Kling 3.0 Motion Control animates a static character image with the movement from a reference video. You give it two inputs — a picture of your character and a video of someone moving — and it returns a new clip where your character performs that exact choreography while keeping their own face, outfit, and look. This is motion transfer, not text-to-motion. Instead of describing an action in a prompt and hoping the model interprets it, you show it the action frame by frame. That makes it far more reliable for repeatable character animation, dance, and gesture work. This guide covers both paths: the Kling web app for one-off clips, and the GPTProto API for wiring Motion Control into a pipeline. We'll cover inputs and limits, the `pro` vs `std` tiers, prompt technique, full runnable code, pricing, and the failure modes worth knowing before you spend credits.

Michael Johnson | 2026-06-30