跳到正文
openrouter blog·· 3 天前精選AI 評分62

OpenRouter 評比多款圖生影片模型:成本、解析度與控制

Image-to-Video AI Models Compared: Cost, Resolution, and Control

AI 導讀

OpenRouter 發布多款主流圖生影片模型的效能與成本對比,涵蓋 Veo 3.1、Seedance、Kling 及 Grok Imagine Video 系列。

推薦理由

原文對比多款熱門圖生影片模型的規格與成本,工程師可據此評估適合特定專案的模型選項。

正文 · AI 翻譯

如果你已經有一張影片要從其開始的圖片,選擇影像轉影片模型就取決於第一幀之後需要發生什麼。影片可能需要以第二張精確圖片結束、播放時間超過幾秒、包含生成音訊,或保持在每秒價格以下。

我們提供的影片模型以不同方式處理這些需求。本文涵蓋四條模型系列:Veo 3.1、Seedance、Kling 和 Grok Imagine Video。它們並非完整的影像轉影片目錄。完整列表見 video models collection。

你可以透過相同的 video generation API 呼叫所有模型。提交、輪詢、下載的生命週期對所有模型相同,但各模型支援的時長、解析度、幀角色、音訊選項及價格不同。本文將比較這些設定,並示範如何使用 TypeScript SDK 提交影像轉影片工作。

摘要

  • Veo 3.1、Fast 與 Lite 生成 4、6 或 8 秒影片,支援首幀與尾幀控制並可產生音訊。Veo 3.1 與 Fast 可達 4K,Lite 最高僅 1080p。
  • Seedance 2.5 生成 4 至 30 秒影片,解析度為 480p 或 720p,支援首幀與尾幀,且可使用最多 50 個影像、影片與音訊參考素材。Seedance 2.0 系列則覆蓋 4 至 15 秒。
  • Kling v3.0 Standard 與 Pro 生成 3 至 15 秒影片,解析度 720p,支援首幀與尾幀控制。音訊為可選項,且會改變價格。
  • Grok Imagine Video 1.5 只以首幀產生 1 至 15 秒影片,解析度為 480p、720p 或 1080p,並可產生音訊。
  • 本文中所有模型皆使用 POST /api/v1/videos。GET /api/v1/videos/models 會回傳各模型支援的設定與定價 SKU。

影像如何在影片請求中使用

一張影像可定義完成影片中的某幀,或作為參考素材。我們以兩種不同的請求欄位處理這兩種情況。

Text-to-video、image-to-video 與 reference-to-video

使用 text-to-video 時,模型僅以你的提示語建立場景。除提示所描述外,你無法控制開頭幀。

使用 image-to-video 時,影像會成為首幀、尾幀或兩者。如果產品影片必須以精確的產品鏡頭開啟,請選擇此模式。

使用 reference-to-video 時,模型會接收來源素材但不將其固定於某幀位置。你可以提供多張同一角色的影像,讓模型在組合新鏡頭時保持其外觀。

若影像必須出現在影片的特定位置,請使用 image-to-video;若僅需作為指引,則使用 reference-to-video。

frame_images 與 input_references 欄位

我們將兩種模式作為 POST /api/v1/videos 的獨立欄位公開。

欄位功能
frame_images將影像用作精確的首幀、尾幀或兩者
input_references提供模型影像、影片或音訊素材,但不將其固定於某幀

每個 frame_images 條目包含一個 frame_type,其值為 first_frame 或 last_frame。並非所有模型都支援兩種角色。video models catalog 中的 supported_frame_images 陣列告訴你模型可接受哪些角色。

若同時在一個請求中送出兩個欄位,frame_images 會優先,並將工作視為 image‑to‑video。

image‑to‑video 模型比較

這些表格涵蓋 Veo、Seedance、Kling 與 Grok Imagine Video 系列。我們亦提供其他 image‑to‑video 模型,並且 video models collection 為目前的目錄。

解析度、時長、幀角色與音訊設定皆來自 GET /api/v1/videos/models。價格則來自各模型頁面。我們於 2026 年 9 月 11 日檢查了兩者。影片定價依解析度、音訊與輸入型別而異,請將此數值作為比較參考,並於估算製作成本前先確認模型頁面。

輸出設定

模型解析度時長生成音訊幀控制
google/veo-3.1720p、1080p、4K4、6、8 秒可選首尾
google/veo-3.1-fast720p、1080p、4K4、6、8 秒可選首尾
google/veo-3.1-lite720p、1080p4、6、8 秒可選首尾
bytedance/seedance-2.5480p、720p4 至 30 秒可選首尾
bytedance/seedance-2.0480p、720p、1080p、4K4 至 15 秒可選首尾
bytedance/seedance-2.0-fast480p、720p4 至 15 秒可選首尾
bytedance/seedance-2.0-mini480p、720p4 至 15 秒可選首尾
kwaivgi/kling-v3.0-pro720p3 至 15 秒可選首尾
kwaivgi/kling-v3.0-std720p3 至 15 秒可選首尾
kwaivgi/kling-video-o1720p5 或 10 秒可選首尾
x-ai/grok-imagine-video-1.5480p、720p、1080p1 至 15 秒是僅首
x-ai/grok-imagine-video480p、720p1 至 15 秒未列出僅首

參考輸入與價格

模型參考輸入價格
google/veo-3.1未列出$0.20/s to $0.60/s
google/veo-3.1-fast未列出$0.08/s to $0.30/s
google/veo-3.1-lite未列出$0.03/s to $0.08/s
bytedance/seedance-2.5最多 50 張影像、影片與音訊資產起價 $0.1028/秒,適用 480p
bytedance/seedance-2.0影像、影片與音訊起價 $0.06726/秒,適用 480p
bytedance/seedance-2.0-fast影像、影片與音訊起價 $0.04035/秒,適用 480p
bytedance/seedance-2.0-mini影像、影片與音訊起價 $0.03363/秒,適用 480p
kwaivgi/kling-v3.0-pro未列出$0.112/秒(無音訊),$0.168/秒(含音訊)
kwaivgi/kling-v3.0-std未列出$0.084/秒(無音訊),$0.126/秒(含音訊)
kwaivgi/kling-video-o1未列出$0.112/秒
x-ai/grok-imagine-video-1.5未列出$0.08/秒至 $0.25/秒,外加每張輸入影像 $0.01
x-ai/grok-imagine-video最多 7 張影像$0.05/秒至 $0.07/秒,外加每張輸入影像 $0.002

閱讀表格的三點說明

  • 可選音訊 表示模型會公開 generate_audio 請求引數。Grok Imagine Video 模型不會公開此引數。Grok Imagine Video 1.5 的說明指出模型會產生音效、環境音與對話,因此表格將其標示為「是」。較早的 Grok Imagine Video 說明未提及音訊,故表格標示為「未列出」。
  • 參考輸入 反映了其 OpenRouter 頁面上模型描述所說的內容。 未列出 表示描述中沒有提及參考影像、影片或音訊。 這並不意味著我們測試後發現參考被拒絕。 參考至影片食譜 解釋了在你基於此開發前如何確認支援。
  • Seedance 價格 是以影片 token 為單位,而非以秒計算。Seedance 2.0 模型頁面指出 token 數量為高度 × 寬度 × 時長 × 24,再除以 1,024。表格中的每秒數值為模型頁面顯示的 480p 輸出起始費率。Seedance 2.5 以每百萬影片 token $10.70,Seedance 2.0 以 480p 與 720p $7.00,1080p 與 4K 分別有不同費率,Fast 為 $4.20,Mini 為 $3.50。帶有影片輸入的請求使用較低的每 token 費率。

因為大多數模型按秒計費,影片時長也是成本決策之一。Seedance 2.5 的起始價格為每秒 $0.1028,4 秒的剪輯起價約為 $0.41,30 秒的剪輯起價約為 $3.08。若使用 720p 或不同輸入配置,費用會更高。

如何選擇

先以時長與影格控制縮小範圍。知道剪輯長度以及是否需要固定首幀、尾幀或兩者後,再依音訊、解析度與成本比較其餘模型。

8 秒或以下帶生成音訊的剪輯

Veo 3.1、Veo 3.1 Fast 與 Veo 3.1 Lite 可產生 4、6 或 8 秒的 16:9 或 9:16 影片,支援首幀與尾幀控制以及 generate_audio 選項。Veo 3.1 與 Fast 皆接受 720p、1080p 與 4K,Lite 只接受 720p 與 1080p。

Lite 以每秒 $0.03 起始(720p、無音訊),Veo 3.1 以每秒 $0.20 起始(無音訊),因此 Lite 或 Fast 的成本較低,且提示與動作仍可變化。image-to-video cookbook 之所以使用 google/veo-3.1-lite 就是因為此原因。

Veo 3.1 Fast 與 Lite 的模型說明列出了 SynthID 水印,這是 Google 為 AI 產生內容所使用的不可察覺標記。若工作流程需要來源或水印,請檢查你打算使用的 Veo 變體的模型說明。

長達 30 秒且可使用多個參考素材的剪輯

Seedance 2.5 可產生 4 至 30 秒的影片,解析度為 480p 或 720p,支援首幀與尾幀,並可使用多達 50 個影像、影片與音訊參考素材。它是本比較中唯一能一次生成 20 秒或 30 秒鏡頭的模型。

Seedance 2.0 系列涵蓋 4 至 15 秒,起始價格較低。Seedance 2.0 支援 480p、720p、1080p 與 4K;Fast 與 Mini 只支援 480p 與 720p。三者皆在說明中列出影像、影片與音訊參考。

若不需要 30 秒視窗或 50 個素材限制,2.0 系列仍以較低價格提供相同的首幀與尾幀工作流程。

所有 Seedance 模型僅能透過託管 API 執行。我們未發現任何公開權重或模型授權,故無法在本地或隔離環境執行。

3 至 15 秒的首尾幀控制

Kling v3.0 Standard 與 Pro 可產生 3 至 15 秒、720p、16:9、9:16 或 1:1 的影片,支援首幀與尾幀控制。音訊為選用。Standard 價格為每秒 $0.084(無音訊)或 $0.126(含音訊)。Pro 價格為每秒 $0.112(無音訊)或 $0.168(含音訊)。Kuaishou 將 Pro 描述為更高畫質層級。

Kling Video O1 以 720p 產生 5 或 10 秒剪輯,具備相同的首尾幀角色,價格為每秒 $0.112。當這兩個時長已符合需求時可使用。

單一起始幀且長至 15 秒的剪輯

Grok Imagine Video 1.5 可產生 1 至 15 秒、480p、720p 或 1080p、七種長寬比的影片。其 supported_frame_images 陣列僅列出 first_frame,因此只能固定開頭影像,無法固定結尾影像。模型說明指出它會產生音效、環境音與對白。

較早的 Grok Imagine Video 僅支援 720p,且每秒成本較低。其說明列出可使用多達七張參考影像的參考到影片功能,而 1.5 的說明未提及此項。

若剪輯必須以第二個精確影像結束,請改用 Veo、Seedance 或 Kling。

提交影像到影片工作

選定模型後,請確認來源影像能透過穩定、可直接下載的 HTTPS URL 取得,且模型支援你所需的幀角色。

URL 在瀏覽器中能正常工作,但在供應商抓取時仍可能失敗,例如依賴會話 cookie、透過 HTML 頁面重定向、或被機器人檢查所阻擋。請在消耗生成信用前先直接測試 URL。

curl -I "$FIRST_FRAME_URL"

你需要200狀態,以及像image/jpeg、image/png 或image/webp 的影像內容型別。

以下範例使用google/veo-3.1-lite產生一段 4 秒、720p 的影片,提供的影像作為首幀,且關閉音訊。REST API 採用 snake_case 欄位名稱,TypeScript SDK 會將其對映為 camelCase。frame_images 變為 frameImages,frame_type 變為 frameType,image_url 變為 imageUrl,generate_audio 變為 generateAudio。像 first_frame 與 image_url 之類的值保持不變。

範例亦將{ retries: { strategy: "none" } }作為generate的第二個引數。預設情況下,SDK 會對返回5XX狀態的請求進行指數退避重試,最多持續一小時。影片提交即開始計費工作,因此若伺服器接受作業後又在你收到作業 ID 前返回暫時性錯誤,系統會自動重試並提交第二份付費作業,客戶端只會看到第二份。若在提交時關閉重試,失敗的提交會直接作為錯誤呈現,讓你決定是否重新提交。每次呼叫的選項保留預設重試,適用於唯讀的getGeneration輪詢呼叫,這類呼叫可安全重複。

import { OpenRouter } from "@openrouter/sdk";

const apiKey = process.env.OPENROUTER_API_KEY;
const firstFrameUrl = process.env.FIRST_FRAME_URL;

if (!apiKey) {
  throw new Error("Set OPENROUTER_API_KEY first.");
}

if (!firstFrameUrl) {
  throw new Error("Set FIRST_FRAME_URL to a directly downloadable image URL.");
}

const openRouter = new OpenRouter({ apiKey });

const job = await openRouter.videoGeneration.generate(
  {
    videoGenerationRequest: {
      model: "google/veo-3.1-lite",
      prompt:
        "The camera slowly pushes in as the subject turns toward warm window light, cinematic, realistic motion",
      duration: 4,
      resolution: "720p",
      aspectRatio: "16:9",
      generateAudio: false,
      frameImages: [
        {
          type: "image_url",
          imageUrl: { url: firstFrameUrl },
          frameType: "first_frame",
        },
      ],
    },
  },
  { retries: { strategy: "none" } },
);

console.log(job.id, job.status);

成功提交會回傳一個工作(job),而非完成的 MP4。儲存工作 ID,並輪詢GET /api/v1/videos/{jobId}直到狀態為completed,然後從工作之unsigned_urls陣列下載影片,SDK 以unsignedUrls方式公開,並在Authorization標頭中加入你的 API 金鑰。當狀態為failed、cancelled或expired時停止輪詢。我們的 影片生成指南 建議兩次輪詢間隔 30 秒。

let current = job;

while (!["completed", "failed", "cancelled", "expired"].includes(current.status)) {
  await new Promise((resolve) => setTimeout(resolve, 30_000));
  current = await openRouter.videoGeneration.getGeneration({ jobId: job.id });
}

if (current.status !== "completed") {
  throw new Error(current.error ?? `Video generation ${current.status}.`);
}

若模型支援提供最後一幀,請再加入一個frameImages專案並設為frameType: "last_frame"。

frameImages: [
  {
    type: "image_url",
    imageUrl: { url: firstFrameUrl },
    frameType: "first_frame",
  },
  {
    type: "image_url",
    imageUrl: { url: lastFrameUrl },
    frameType: "last_frame",
  },
],

若你的應用允許使用者切換模型,請在構建請求前先查詢GET /api/v1/videos/models。回應會包含每個模型的supported_durations、supported_resolutions、supported_aspect_ratios、supported_frame_images、generate_audio 標誌以及pricing_skus。若請求的持續時間、解析度或長寬比不受支援,將回傳一個列出支援值的400。

常見問題

OpenRouter 上有哪些影像轉影片模型可用?

影片目錄包含 Veo 3.1 及其 Fast 與 Lite 變體、Seedance 2.5 及 Seedance 2.0 系列、Kling v3.0 Standard 與 Pro、Kling Video O1,以及 Grok Imagine Video 1.5 與其前身,等等。影片模型集合 與 GET /api/v1/videos/models 列出目前的集合。

影像轉影片與參考轉影片的差異為何?

影像轉影片使用frame_images。影像成為確切的首幀、末幀或兩者。參考轉影片使用input_references。模型以影像、影片或音訊作為指引(不將其放在固定幀)。若請求同時包含兩個欄位,frame_images 會優先,並將其視為影像轉影片。

影像轉影片的生成費用是多少?

大多數影片模型按輸出秒數計價,且費率會因解析度、是否產生音訊以及是否包含影片輸入而變動。Seedance 模型則以影片 token 計價。每個模型頁面列出目前的費率,GET /api/v1/videos/models 回傳每個模型的定價 SKU。

影像轉影片作業需要多長時間?

影片生成為非同步流程。POST /api/v1/videos 立即回傳一個工作,並輪詢GET /api/v1/videos/{jobId}直到狀態為completed。我們的檔案建議兩次輪詢間隔 30 秒。處理時間依模型、持續時間與解析度而異。

若影片生成作業失敗會發生什麼?

一個工作可能以 failed、cancelled 或 expired 結束。當狀態達到上述任一值時停止輪詢,並讀取 error 欄位。輪詢請求本身的暫時性錯誤並不代表工作失敗,請重試同一工作 ID 的狀態請求,而非提交新的付費生成。

來源:openrouter blog · openrouter.ai