Claude Opus 5.5 已在 SeedRouter 上線
SeedRouter Docs

Veo 3.1

透過統一的任務 API 生成 Veo 3.1 影片片段:三個模型按每段 8 秒影片計費,兩個模型按秒計費,支援首尾影格、音訊和 GIF 輸出。

View Markdown

Veo 3.1 是 Google 的影片生成模型。SeedRouter 在同一個端點上提供五個模型 ID:三個按次計費,每段影片都是 8 秒;兩個按秒計費,控制項更多(時長、音訊、種子、負向提示詞、首尾影格)。送出請求,保存回傳的任務 ID,再從該任務讀取生成完成的影片。圖片以 URL 形式傳入。

模型 ID

模型 ID計費時長圖片音訊
veo-3.1-fast按次8 秒最多 3 張,首尾影格或參考模式無開關
veo-3.1-quality按次8 秒最多 3 張,首尾影格模式無開關
veo-3.1-lite按次8 秒不支援(文字轉影片)無開關
veo-3.1-fast-official按秒4、6 或 8 秒首影格和尾影格generate_audio
veo-3.1-quality-official按秒4、6 或 8 秒首影格和尾影格generate_audio

目前價格請見模型頁。

快速範例

curl https://api.seedrouter.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo-3.1-fast",
    "prompt": "A red paper boat drifts across a calm pond at sunrise, soft mist on the water, slow push-in on a 35mm lens, no text, no logos.",
    "resolution": "720p",
    "aspect_ratio": "16:9"
  }'

端點

POST https://api.seedrouter.ai/v1/videos/generations
標頭值
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

回應是一個任務({"id": "task_...", "status": "processing"}),而不是生成完成的影片。請輪詢 GET /v1/tasks/{task_id} 取得結果。請把 API 金鑰保存在伺服器端程式碼中。

參數:按次計費的模型

veo-3.1-fast、veo-3.1-quality 和 veo-3.1-lite。

欄位型別預設值說明
modelstring必填上述三個 ID 之一。
promptstring必填描述鏡頭。
durationinteger8只接受 8。
aspect_ratioenum16:9 或 9:16。
resolutionenum720p720p、1080p 或 4k(不分大小寫)。veo-3.1-lite 不支援 4k。
enable_gifbooleanfalse以 GIF 動畫而非 MP4 回傳影片。僅限 720p。
nsfw_checkbooleanfalse生成前檢查提示詞和圖片是否含有不安全內容。
image_urlsarray僅限 Fast 和 Quality。最多 3 個公開圖片 URL。
generation_typeenum依圖片數量而定僅限 Fast 和 Quality。frame 或 reference;Quality 只接受 frame。

參數:按秒計費的模型

veo-3.1-fast-official 和 veo-3.1-quality-official。

欄位型別預設值說明
modelstring必填上述兩個 ID 之一。
promptstring必填描述鏡頭。
negative_promptstring不希望出現在影片中的內容。
durationinteger84、6 或 8 秒。
aspect_ratioenum16:916:9 或 9:16。
resolutionenum720p720p、1080p 或 4k(不分大小寫)。
first_frame_imagestring公開圖片 URL。影片以它開場。
last_frame_imagestring公開圖片 URL。需要 first_frame_image。
seedinteger隨機0 到 4294967295。
generate_audiobooleanfalse加上一條音軌。以較高的每秒費率計費。
person_generationenumallow_adultallow_adult 或 disallow。
resize_modeenumpadpad 或 crop。需要 first_frame_image。
enhance_promptbooleantrue只接受 true;否則請省略此欄位。
nsfw_checkbooleanfalse生成前檢查提示詞和圖片是否含有不安全內容。

請求結構採嚴格驗證:未知欄位會被拒絕,而不是被忽略,而且每個模型只接受自己的欄位。不支援回呼;請改為輪詢任務。

圖片模式

在 veo-3.1-fast 和 veo-3.1-quality 上,generation_type 決定 image_urls 的用法:

generation_type圖片效果
frame1 或 2 張第一張圖是首影格,第二張是尾影格。
reference最多 3 張這些圖片作為主體和風格的參考。僅限 Fast。
省略2 或 3 張兩張圖使用首尾影格模式,三張圖使用參考模式。

veo-3.1-quality 不支援參考模式,因此會拒絕 generation_type: "reference",也會拒絕未指定 generation_type 的三張圖片。veo-3.1-lite 不接受圖片。

在按秒計費的模型上,設定 first_frame_image,並可選擇設定 last_frame_image。resize_mode 決定畫幅不同的圖片要填補還是裁切。

媒體輸入

圖片是公開的 HTTP(S) URL:

{ "image_urls": ["https://example.com/first.jpg", "https://example.com/last.jpg"] }

在按次計費的模型上,每張圖片必須是 JPEG、PNG 或 WebP,且不超過 10 MB;不符合這些規則的檔案會讓任務失敗,但不扣費。不接受 Base64 資料:請把檔案上傳到你自己的儲存空間,再傳入它的 URL。

計費維度

目前費率請查看模型定價部分。

per-clip models:    cost = price of one clip at the output resolution        (720p and 1080p cost the same)
per-second models:  cost = duration × rate for the resolution and audio setting

費用在請求被受理時就已確定,因此預扣金額就是實際扣費金額。最終扣費請在帳戶的用量記錄中查看。失敗的任務不計費。

輸出結構

提交後回傳任務:

{"id": "task_...", "model": "veo-3.1-fast", "status": "processing", "created_at": 1789689600}

查詢任務

GET https://api.seedrouter.ai/v1/tasks/{task_id}

每 10–20 秒輪詢一次,直到 status 變為 completed 或 failed。輪詢過程中出現網路逾時,並不代表生成失敗:請保留任務 ID 並繼續查詢。不要為了查看進度而再建立一個任務。

完成的任務

{
  "id": "task_...",
  "model": "veo-3.1-fast",
  "status": "completed",
  "created_at": 1789689600,
  "finished_at": 1789689720,
  "output": {
    "video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"
  }
}

video_url 是一個 MP4;如果請求設定了 enable_gif,則是 GIF。該連結位於 SeedRouter 的儲存空間。

我們測試執行的回傳結果(每項各執行一次,2026-10-04):

請求檔案
veo-3.1-fast,9:16,首尾影格模式MP4,H.264,720 × 1280,24 fps,8 秒,含立體聲 AAC 音軌
veo-3.1-fast-official,16:9,720p,4 秒,未設 generate_audioMP4,H.264,1280 × 720,24 fps,4 秒,無音軌
veo-3.1-lite,enable_gifGIF,480 × 270,16 fps,8 秒

按次計費的模型沒有音訊開關;按秒計費的模型只有設定 generate_audio 才會加上音軌。

錯誤

在任務建立之前被拒絕的請求,會回傳 HTTP 錯誤狀態碼和一個 error 物件,且不計費。受理之後才失敗的任務,在查詢時回傳 HTTP 200,並帶有 status: "failed" 和一個 error 物件。

錯誤碼、HTTP 狀態碼和重試建議請參見共用錯誤目錄。

{
  "id": "task_...",
  "model": "veo-3.1-fast",
  "status": "failed",
  "error": {
    "code": 60001,
    "message": "The request was rejected by the content policy. Please revise the prompt or input images."
  }
}

如果提交本身逾時,請先檢查你的任務清單再重新提交:第一次請求有可能已經被受理。

實用建議

  • 先用 veo-3.1-lite 或 veo-3.1-fast 以 720p 試提示詞,再換 Quality 或 4k 做最終算繪。
  • 寫明攝影機和光線:鏡頭焦段和運鏡對畫面的影響比形容詞大得多。
  • 加上 no text, no logos,避免畫面中出現憑空編造的文字和標記。
  • 如果鏡頭必須以已知圖片開始和結束,請用兩張圖的首尾影格模式,或在按秒計費的模型上使用 first_frame_image 和 last_frame_image。
  • 在按秒計費的模型上固定 seed,一次只改一個子句,逐步打磨一個鏡頭。

相關內容