Gemini Omni API: 소리가 있는 Google 영상, 가격과 코드
Google의 Gemini Omni 모델은 프롬프트, 시작 프레임, 참조 이미지로 최대 4K의 소리가 있는 영상을 만듭니다. 이 가이드는 Revana의 세 가지 버전, 각각의 초당 비용, 호출 방법을 다룹니다.
Gemini Omni 영상 모델
Gemini Omni는 Gemini를 기반으로 한 Google의 영상 모델 계열입니다. 이 모델들은 프롬프트, 시작 프레임, 참조 이미지로 소리가 있는 클립을 만듭니다. Revana는 세 가지 버전을 하나의 요청 형식으로 제공합니다.
| 모델 | 모델 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장의 참조)을 지원하고, 경로가 두 개 있으며, 초당 $0.04인 360p 설정은 본격 렌더링 전에 프롬프트를 저렴하게 테스트하기 좋습니다.
Gemini Omni 가격 (2026년 10월)
세 모델 모두 소리 포함 출력 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의 다른 영상 모델은 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는 보내 주신 두 이미지 사이를 이동할 수 있습니다. 시작은 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초 이외의 길이는 요금이 청구되기 전에 거부됩니다.
세 모델 모두 모델 페이지에 있고, 모든 필드는 문서에, 크레딧 팩은 요금 페이지에 있습니다. API 키를 받아 시작하세요.
자주 묻는 질문
Gemini Omni API는 얼마인가요?
2026년 10월 기준 Gemini Omni 1.1 Flash는 소리 포함 360p에서 초당 $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입니다.