Gemini Omni API:Googleの音声付き動画、料金とコード
GoogleのGemini Omniモデルは、プロンプト、開始フレーム、参照画像から、4Kまでの音声付き動画を作成します。このガイドでは、Revanaで利用できる3つのバージョン、それぞれの1秒あたりの料金、呼び出し方を解説します。
Gemini Omniの動画モデル
Gemini Omniは、Geminiをベースにした、Googleの動画モデルファミリーです。これらのモデルは、プロンプト、開始フレーム、参照画像から、音声付きのクリップを作成します。Revanaでは、同じリクエスト形式で3つのバージョンを提供しています:
| モデル | モデルID | 機能 | 解像度 | 長さ | 参照画像 | 最安価格 | ルート |
|---|---|---|---|---|---|---|---|
| Gemini Omni 1.1 Flash | gemini-omni-1.1-flash | テキストから動画、画像から動画、最初と最後のフレーム、参照画像 | 360p, 720p, 1080p, 4K | 4秒、6秒、8秒、10秒 | 最大10枚 | $0.04 / s | 2ルート |
| Gemini Omni | gemini-omni | テキストから動画、画像から動画 | 720p, 1080p, 4K | 4秒、6秒、8秒、10秒 | 開始フレーム1枚 | $0.10 / s | 1ルート |
| Gemini Omni Flash Preview | gemini-omni-flash-preview | テキストから動画、画像から動画、参照画像 | 720p | モデルのデフォルト | 最大16枚 | $0.11 / s | 1ルート |
ほとんどの用途には、Gemini Omni 1.1 Flashから始めてください。最も多くのことができ(最初と最後のフレーム、最大10枚の参照画像)、2つのルートがあり、1秒あたり$0.04の360p設定は、本番のレンダリングの前にプロンプトを安くテストする方法として便利です。
Gemini Omniの料金(2026年10月)
3つとも、出力1秒あたりで課金され、音声が含まれます。
| モデル | 解像度 | 1秒あたり | 4秒のクリップ | 8秒のクリップ | 10秒のクリップ |
|---|---|---|---|---|---|
| Gemini Omni 1.1 Flash | 360p | $0.04 | $0.16 | $0.32 | $0.40 |
| Gemini Omni 1.1 Flash | 720pまたは1080p | $0.10 | $0.40 | $0.80 | $1.00 |
| Gemini Omni 1.1 Flash | 4K | $0.23 | $0.92 | $1.84 | $2.30 |
| Gemini Omni | 720pまたは1080p | $0.10 | $0.40 | $0.80 | $1.00 |
| Gemini Omni | 4K | $0.23 | $0.92 | $1.84 | $2.30 |
| Gemini Omni Flash Preview | 720p | $0.11 | $0.44 | $0.88 | $1.10 |
Gemini Omniと1.1 Flashのどちらも、720pと1080pは同じ料金なので、1080pを指定してください。Gemini Omniと1.1 Flashのクリップは、16:9または9:16です。これらの料金がほかの動画モデルと比べてどうかは、最安動画APIのガイドをご覧ください。Googleのもう1つの動画モデルについては、Veo 3.1 APIの料金をご覧ください。
Gemini Omni 1.1 Flashのクリップを生成する
POST /v1/generations を送信し、ジョブが succeeded または failed になるまでポーリングします。この8秒・1080pの縦型クリップは$0.80です。
export REVANA_API_KEY="sr_live_..."
# 1. Submit the job (returns 202 with the generation id)
curl https://api.revana.si/v1/generations \
-H "Authorization: Bearer $REVANA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-omni-1.1-flash",
"input": {
"prompt": "A chef plates a dessert in a busy restaurant kitchen, then slides it across the pass toward the camera. Clatter of pans, a ticket printer, someone calls service.",
"resolution": "1080p",
"duration": 8,
"aspect_ratio": "9:16"
},
"max_cost_usd": 1
}'
# 2. Poll with the id from step 1 until status is "succeeded" or "failed"
curl https://api.revana.si/v1/generations/gen_01JC2V8K5T \
-H "Authorization: Bearer $REVANA_API_KEY"import os
import time
import requests
API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}
resp = requests.post(f"{API}/generations", headers=HEADERS, json={
"model": "gemini-omni-1.1-flash",
"input": {
"prompt": "A chef plates a dessert in a busy restaurant kitchen, then slides it across the pass toward the camera. Clatter of pans, a ticket printer, someone calls service.",
"resolution": "1080p",
"duration": 8,
"aspect_ratio": "9:16",
},
"max_cost_usd": 1,
})
resp.raise_for_status()
job = resp.json()
while job["status"] in ("queued", "running"):
time.sleep(5)
job = requests.get(f"{API}/generations/{job['id']}", headers=HEADERS).json()
if job["status"] == "succeeded":
print(job["output"]["urls"], job["cost_usd"])
else:
print("Failed:", job["error"])// Node 18 or later. Save as generate.mjs and run: node generate.mjs
const API = "https://api.revana.si/v1";
const headers = {
Authorization: `Bearer ${process.env.REVANA_API_KEY}`,
"Content-Type": "application/json",
};
const res = await fetch(`${API}/generations`, {
method: "POST",
headers,
body: JSON.stringify({
model: "gemini-omni-1.1-flash",
input: {
prompt: "A chef plates a dessert in a busy restaurant kitchen, then slides it across the pass toward the camera. Clatter of pans, a ticket printer, someone calls service.",
resolution: "1080p",
duration: 8,
aspect_ratio: "9:16",
},
max_cost_usd: 1,
}),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
let job = await res.json();
while (job.status === "queued" || job.status === "running") {
await new Promise((r) => setTimeout(r, 5000));
job = await (await fetch(`${API}/generations/${job.id}`, { headers })).json();
}
if (job.status === "succeeded") console.log(job.output.urls, job.cost_usd);
else console.error("Failed:", job.error);{
"id": "gen_01JC2V8K5T",
"model": "gemini-omni-1.1-flash",
"status": "succeeded",
"output": {
"urls": [
"https://cdn.revana.si/g/gen_01JC2V8K5T/0.mp4"
],
"duration_s": 8,
"has_audio": true
},
"cost_usd": 0.8,
"attempts": 1,
"error": null,
"created_at": "2026-10-28T10:14:02Z",
"completed_at": "2026-10-28T10:15:31Z"
}あるフレームから始めて、別のフレームで終える
Gemini Omni 1.1 Flashは、送信した2枚の画像の間を動かせます。開始は image_url、終了は end_image_url で指定します。この6秒・720pのクリップは$0.60です:
{
"model": "gemini-omni-1.1-flash",
"input": {
"prompt": "The flower bud slowly opens into a full bloom as morning light moves across it.",
"image_url": "https://example.com/bud.jpg",
"end_image_url": "https://example.com/bloom.jpg",
"resolution": "720p",
"duration": 6,
"aspect_ratio": "16:9"
},
"max_cost_usd": 0.8
}これらのモデルでは、音声は常に映像と同時に生成され、料金に含まれているため、audio フィールドは指定しないでください。4、6、8、10秒以外の長さは、課金される前に拒否されます。
3つともモデルページにあり、すべてのフィールドはドキュメントに、クレジットパックは料金ページに掲載されています。APIキーを取得して始めましょう。
よくある質問
Gemini Omni APIの料金はいくらですか?
2026年10月時点で、Gemini Omni 1.1 Flashは、音声込みで、360pが1秒あたり$0.04、720pまたは1080pが$0.10、4Kが$0.23です。
どのGemini Omniモデルを使えばよいですか?
ほとんどの用途には、Gemini Omni 1.1 Flashです。テキスト、開始フレーム、最初と最後のフレーム、最大10枚の参照画像を受け付け、解像度は360pから4Kまで対応します。Gemini Omni Flash Previewは、720pで最大16枚の参照画像を受け付けます。
Gemini Omniのクリップは、どのくらいの長さにできますか?
Gemini OmniとGemini Omni 1.1 Flashでは、4秒、6秒、8秒、10秒です。
Gemini Omniは音声を生成しますか?
はい。音声は映像と同時に生成され、料金に含まれています。
Gemini Omniはどのアスペクト比に対応していますか?
横向きの16:9と、縦型動画の9:16です。