Gemini Omni:影片生成 API
用 Gemini Omni 一次同步請求產生短影片:型號、請求參數、回傳結果、報錯與計費。
Gemini Omni 用一次同步請求產生短影片:回應本文中直接回傳 base64 MP4 成片,沒有任務 ID,也不需要輪詢。
| 項目 | 取值 |
|---|---|
| Base URL | https://api.hop-base.com/v1beta |
| 產生影片 | POST /v1beta/interactions |
| 等價別名 | POST /v1/interactions、POST /interactions |
| 任務與輪詢 | 無,同步回傳 |
| 金鑰分組 | 「Gemini 官方直連」 |
可用型號
| 模型 ID | 解析度 | 時長 | 官方價 |
|---|---|---|---|
gemini-omni-flash-preview | 720p | 3-10 秒 | $1.50 / $9/ 百萬 tokens |
gemini-omni-flash-preview 是唯一能產生影片的 Gemini 模型,也是 HopBase 上唯一同步回傳的影片模型。成片為 3-10 秒 720p MP4,按 Token 計費而非按秒計費。完整規格見模型卡。
Omni 影片由Gemini 官方直連分組提供,與 Gemini 對話、Gemini 生圖是同一個分組、同一把金鑰,不需要另外購買影片套餐。可用性以 GET /v1/models 為準,實際單價請見登入後的模型廣場。
請求參數
| 參數 | 必填 | 類型與限制 | 預設值 | 說明 |
|---|---|---|---|---|
model | 必填 | 僅 gemini-omni-flash-preview | — | 其他模型返回 400 |
input | 必填 | 字串,或原生步驟陣列;素材用 data(base64)加 mime_type,或遠端 uri;輸入影片 ≤ 10 秒 | — | 支援文字、圖片、影片輸入。10 秒上限由模型校驗,閘道不查 |
stream | 選填 | 布林值 | false | 傳 true 也不會逐段串流,結果一次性返回 |
| 其他原生欄位 | 選填 | 如 system_instruction、generation_config | — | 原樣透傳 |
沒有 duration、resolution、fps 這類參數,想要多長就直接在提示詞裡說明。
回傳結果
請求會一直等到成片生成完畢,沒有「排隊中」「處理中」這類中間狀態。成功時 HTTP 200,成片位於 type 為 model_output 那一步的 steps[].content[] 裡。
| 欄位 | 說明 |
|---|---|
status | 完成時為 completed |
steps[].type | 成片所在步驟為 model_output |
steps[].content[].type | 影片區塊為 video |
steps[].content[].mime_type | video/mp4 |
steps[].content[].data | base64 編碼的 MP4 |
usage.total_input_tokens / usage.total_output_tokens | 輸入與輸出 Token |
usage.output_tokens_by_modality | 輸出 Token 依模態拆開,僅供參考 |
成功
{
"status": "completed",
"model": "gemini-omni-flash-preview",
"steps": [{
"type": "model_output",
"content": [{ "type": "video", "mime_type": "video/mp4", "data": "<base64-mp4>" }]
}],
"usage": {
"total_input_tokens": 20,
"total_output_tokens": 17819,
"output_tokens_by_modality": [{ "modality": "video", "tokens": 17376 }]
}
}usage.output_tokens_by_modality 中的數字已經計入 total_output_tokens,請勿重複相加。
| 項目 | 數值 |
|---|---|
| 時長 | 3-10 秒 |
| 解析度 | 720p |
| 影格率 | 24 FPS |
| 封裝 | MP4,以 base64 回傳 |
| 上下文視窗 | 1,048,576 Token |
成片直接放在 JSON 回應本文裡,沒有下載連結,也就不存在連結過期。回應因此會很大,客戶端緩衝區要留夠空間。
失敗
失敗有三種形態:
- 閘道校驗失敗返回 400,格式是
{"error": {"message": …}},原文見下方「常見報錯」。 - 模型自身的報錯以其原生錯誤體返回。
- 返回 200 但沒有
type: "video"區塊(模型只回了文字或拒答)。這種情況仍按 Token 計費,判定成功前請先檢查這個區塊。
最小範例
curl https://api.hop-base.com/v1beta/interactions \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
--max-time 600 \
-d '{
"model": "gemini-omni-flash-preview",
"input": "生成一段 3 秒影片:白色背景上一顆紅球緩慢滾動"
}'注意事項
把 gemini-omni-flash-preview 送到 /v1/chat/completions 是能呼叫成功的,但只會回傳回答裡的文字部分,影片區塊會被捨棄。要拿到成片就用 Interactions 端點。
影片生成較慢,而這個端點沒有非同步模式——Prefer: respond-async 對 Gemini 生圖有效,對這裡無效。
- 原生 Interactions 端點沒有閘道端的逾時監控,客戶端逾時請設得足夠長,建議至少 5 分鐘。
- 若改經
/v1/chat/completions呼叫gemini-omni-flash-preview,單次請求會受約 100 秒的限制,與客戶端逾時設定無關;可能跑得更久的請求請直接走 Interactions 端點。 - HopBase 在這條路徑上刻意不重試 504:結果未知就重送,有可能把片子生成兩次、也扣兩次費用。
- 模型 ID 帶
preview,能力與可用性可能隨時異動。
目前網關沒有為 Omni 圖片/影片輸入設定統一的素材數量、單檔位元組數校驗;未驗證的上限不等於無限制。不要套用 GPT Image 的 16 張或 Seedance 的素材規則。
uri 是遠端素材位址,data 是 base64 內容;不要傳 asset://、Seedance 素材 ID 或本機檔案路徑。即使結構被接受,媒體規格和內容審核仍以服務端結果為準。
常見報錯 → 改法
閘道對以下情況返回 400:
Interactions API only supports model gemini-omni-flash-preview
request body is missing input
missing model
request body must be JSON| 報錯或現象 | 改法 |
|---|---|
Interactions API only supports model gemini-omni-flash-preview | model 改為 gemini-omni-flash-preview |
request body is missing input | 補上 input |
missing model | 補上 model |
request body must be JSON | 請求本文改為 JSON |
| 402 | 餘額不大於 0,儲值後再呼叫 |
| 200 但沒有影片區塊 | 模型只回了文字或拒答,仍計費;檢查 steps[].content[] 後再判定成功 |
經 /v1/chat/completions 只拿到文字 | 改用 POST /v1beta/interactions |
| 504 | HopBase 不自動重試;重送可能生成兩次、扣兩次費用 |
計費
按 Token 計費,不按秒。返回 200 但沒有影片區塊時仍按 Token 計費;發生錯誤或逾時的請求都不計費。
送出前不做餘額預留,只有餘額不大於 0 時才會回傳 402。官方牌價請見價格頁,你的實際單價以登入後的模型廣場為準,每次請求的實際扣款請見主控台「用量紀錄」。