Skip to main content
POST
图生视频:基于参考图生成视频任务
右側的互動式 Playground 支援直接線上除錯。請在 Authorization 中填入你的 API Key(格式:Bearer sk-xxx),上傳一張參考圖、輸入 prompt、選擇 model / seconds / resolution 後一鍵傳送即可。預設分組 Default 即可呼叫,無需切換專屬分組
場景說明:本頁用於「基於參考圖生成影片」——上傳一張圖片作為影片的視覺錨點 / 起始幀,讓靜態畫面”動起來”。如果不需要參考圖,請使用 文生影片介面(同一端點,JSON 請求體)。
⚠️ 圖生影片專屬約束
  • Content-Type 必須是 multipart/form-data(不是 JSON)
  • 僅支援 1 張參考圖,欄位名固定 input_reference,傳多張只取第一張
  • 不接受遠端 URL,必須是檔案上傳或 Base64
  • 接受格式:image/jpeg / image/png / image/webp
  • 時長欄位名是 seconds(不是 duration),且必須傳字串 "4" / "6" / "8"。寫成 duration 會被靜默忽略、回落預設 4 秒;傳數字會被拒
  • 1080p / 4k 時 seconds 必須 "8"
Google 官方 Veo 3.1 有多參考圖 / 首尾幀 / 影片擴充套件能力,本站官轉通道暫未開放。首尾幀需求請用 VEO 3.1(官逆)-fl 系列模型。

程式碼示例

Python(OpenAI SDK 風格 · 推薦 client.post 底層呼叫)

Python(原生 requests + multipart)

cURL(multipart 上傳)

Node.js(原生 fetch + FormData)

瀏覽器 JavaScript(FileInput 上傳)

已有 task_id?兩條 cURL 直接查狀態 / 下載

如果你已經拿到 task_id(提交任務時返回,或在控制台日誌中檢視),只需替換下面命令裡的兩處即可直接使用:
  • sk-your-api-key → 你的 API易 Key
  • task_xxxxxxxxxxxxxxxx → 你的任務 ID

1. 查詢任務狀態

返回 JSON 中 statuscompleted 即可進行下載;in_progress 則稍等幾秒再查一次。

2. 下載影片(儲存為 output.mp4)

/content 端點必須帶 Authorization 請求頭——直接在瀏覽器位址列開啟會返回 401。--retry 3 用於兜底 status 剛翻 completed 後偶發的 400(CDN 同步延遲)。

引數說明速查

multipart 與 JSON 模式的欄位命名差異
  • JSON 模式下巢狀在 metadata.* 下(如 metadata.resolution
  • multipart 模式下平鋪為表單欄位(直接 resolution / aspectRatio / seed
  • 上面的程式碼示例已經按 multipart 約定寫法
常見錯誤
  • input_reference 當作 Base64 字串塞進 JSON body —— 必須走 multipart 檔案欄位
  • 欄位名寫成 image / reference / input_image —— 必須正好 input_reference
  • 同時傳 2 張圖 —— 服務端只取第一張,第二張被靜默丟棄
  • 傳遠端 URL(如 https://cdn.../img.png)—— 不接受,必須檔案或 Base64

響應格式

響應結構與 文生影片 完全一致:第 1 步返回 task_id + status: "queued",第 2 步輪詢返回 status + 粗粒度 progress,第 3 步從 /content 端點下載 MP4 二進位制。
⚠️ 響應欄位陷阱
  • task_idid 同值,下游建議統一用 task_id
  • 沒有直接的 video_url 欄位,影片從 GET /v1/videos/{task_id}/content 下載
  • progress 只在 0 / 50 / 100 三檔跳,不是線性進度
  • /content 端點在 status 剛翻 completed 後偶發 400,等 4 秒重試即可
  • 圖生影片任務通常比同參數文生影片慢 10-30%(多了一次影像編碼)
本端點是非同步任務式入口,計費在任務進入 completed 時按模型名按次結算(與是否傳 input_reference 無關,fast $0.3 / standard $1.2)。POST 提交、輪詢查詢、影片下載本身不計費,失敗任務也不計費

授權

Authorization
string
header
必填

在 API易控制台获取的 API Key(默认分组 + 任意计费模式都能调通)

主體

multipart/form-data
model
enum<string>
預設值:veo-3.1-fast-generate-preview
必填

模型 ID(按次计费):

  • veo-3.1-fast-generate-preview —— $0.3/次
  • veo-3.1-generate-preview —— $1.2/次
可用選項:
veo-3.1-fast-generate-preview,
veo-3.1-generate-preview
prompt
string
必填

视频生成提示词。重点描述如何让画面动起来:镜头运动、物体动作、光线变化、音频氛围。不要传 generateAudio,音频写进 prompt。

範例:

"镜头从灯塔基座缓慢上升至塔顶,黄昏光线,海浪轻拍礁石的声音"

input_reference
file
必填

参考图文件。字段名固定 input_reference,仅支持 1 张

接受格式:image/jpeg / image/png / image/webp不接受远程 URL,需要文件上传或 Base64。

seconds
enum<string>
預設值:8

视频时长,字段名是 seconds(不是 duration字符串枚举"4" / "6" / "8"。写成 duration 会被静默忽略、回落默认 4 秒。1080p / 4k 时必须 "8"

可用選項:
4,
6,
8
size
enum<string>
預設值:1280x720

输出像素,优先级低于 resolution

可用選項:
1280x720,
720x1280,
1920x1080,
1080x1920,
3840x2160,
2160x3840
resolution
enum<string>
預設值:720p

分辨率档位(multipart 模式下平铺为表单字段,优先级高于 size

可用選項:
720p,
1080p,
4k
aspectRatio
enum<string>
預設值:16:9

画面比例:16:9 横屏(默认)或 9:16 竖屏

可用選項:
16:9,
9:16
seed
string

随机数种子(multipart 表单字段,传字符串数字即可)。固定 seed 可让多次输出风格聚集,但不能字节级复现。

範例:

"20260521"

negativePrompt
string

反向提示词,推荐传 "blurry, watermark, distorted, low quality"

範例:

"blurry, watermark, distorted, low quality"

回應

任务已提交,返回 task_id 与 queued 状态

id
string

任务 ID(与 task_id 同值,下游建议统一用 task_id

範例:

"task_xxxxxxxxxxxxxxxx"

task_id
string

任务 ID,用于后续轮询和下载

範例:

"task_xxxxxxxxxxxxxxxx"

object
string

对象类型,固定 video

範例:

"video"

model
string

本次任务使用的模型 ID

範例:

"veo-3.1-fast-generate-preview"

status
enum<string>

任务状态:

  • queued —— 已提交,排队等待
  • in_progress —— 正在生成
  • completed —— 完成,可下载(/v1/videos/{task_id}/content
  • failed —— 失败(不计费),可重试
可用選項:
queued,
in_progress,
completed,
failed
範例:

"queued"

progress
integer

生成进度(粗粒度,只在 0 / 50 / 100 三档跳

範例:

0

created_at
integer

任务创建 Unix 时间戳(秒)

範例:

1775025000

completed_at
integer

任务完成 Unix 时间戳(秒),仅 completed 状态返回

範例:

1775025090