Gemini Omni API - price per clip and how to use it
Gemini Omni and Omni 1.1 API guide: price per clip, which inputs work (text, start frame, three images, reference video), curl and JavaScript examples.
The Gemini Omni API lets you generate a 4 to 10 second video from text, a start frame, three images combined into one scene, or an existing clip you want reworked. On Jantaris it is billed per clip, not per second: Gemini Omni 1.1 costs from $1.02 per video and the original Gemini Omni costs from $1.45 per video. This guide covers what each input mode does, what Google's demos show versus what the API accepts today, and working request examples.
What Gemini Omni is
Google introduced Gemini Omni at I/O in May 2026 as an "any input" model, starting with video. Google calls the first release Gemini Omni Flash. Version 1.1 followed in August (gemini-omni-1.1-flash in Google's docs). On Jantaris the model IDs are gemini-omni and gemini-omni-1.1.
What sets it apart from plain text-to-video models is that it is built around references. A photo can be a locked first frame or a character reference, three images can be fused into one shot, and a source clip can be edited with a text instruction. Google pitches that last part as "video editing through conversation".
Limits that apply on Jantaris, taken from the model schema:
| Parameter | Gemini Omni | Gemini Omni 1.1 |
|---|---|---|
duration | 4, 6, 8, 10 s | 4, 6, 8, 10 s |
aspect_ratio | 16:9, 9:16 | 16:9, 9:16 |
resolution | 720p, 1080p, 4k | 360p, 720p, 1080p, 4k |
prompt | up to 2,000 characters | up to 2,000 characters |
image_url | one start frame | one locked start frame |
image_urls | exactly 3 (fusion) | 1 or 3 subject/style references |
video_urls | one clip up to 30 s (first 10 s used) | one clip up to 30 s |
There is no square format and no free-form duration. Anything outside these values returns 422 with the offending field named.
Gemini Omni price
Most video models on Jantaris bill per second. Gemini Omni bills per generated clip, with the rate set by resolution:
| Model | 720p / 1080p | 4K |
|---|---|---|
| Gemini Omni 1.1 | from $1.02 per video | 2x the 1080p rate |
| Gemini Omni | from $1.45 per video | 2x the 1080p rate |
A few things follow from that:
- 1080p costs the same as 720p. Unless you need 4K, request 1080p.
- 360p on 1.1 is not cheaper. Google frames 360p as a draft tier, but on Jantaris it bills at the 720p rate, so I draft at 720p and keep the result usable.
- 1.1 is cheaper than the original at every tier and takes the same request shape. For new work I see no reason to pick the older model.
The exact amount for your settings comes back as estimated_cost before the job starts. That amount is held on your balance; if the generation fails, it is released in full and you pay nothing. Billing is prepaid in USD with a $10 minimum top-up, no subscription, and the balance does not expire. Current rates for every model are on the pricing page.
What Google demos versus what the API takes
Google's launch material shows more modes than every integration exposes, so here is how each one maps to the Jantaris API.
Editing a video with an instruction
Send an existing clip, describe the change. In Google's demo a sculpture turns into one made of soap bubbles while the rest of the shot stays put.
On Jantaris this is the reference-to-video mode: the clip goes in video_urls, the instruction in prompt, and duration is omitted because the length comes from the source. There is no persistent conversation. Each revision is a new task that takes the previous output as its input, so you keep the edit history on your side.
First and last frame interpolation
Google's 1.1 docs show a transition between two keyframes: a green forest at sunrise turning into a snowy forest at night.
To be clear: the Jantaris schema for Gemini Omni accepts a start frame (image_url) but has no end frame field yet. If you need an A-to-B transition today, MiniMax H3 and MiniMax H3 Max take end_image_url. I cover them in the MiniMax H3 / Hailuo API guide.
Scene extension
Also from Google's docs: extending a clip so that a character from a reference image walks in and waves.
The closest Jantaris equivalent is a clip in video_urls, an "extend this video" instruction in the prompt, and the character image in image_urls. I have not run that combination myself yet, so test one job at 720p before you queue a batch.
Three-image fusion
This one maps directly. Put three URLs in image_urls and give each a role in the prompt: subject, prop, setting. Exactly three, because two are rejected. On 1.1, image_urls act as subject or style references (one or three), while a single image_url is a locked first frame.
How to use Gemini Omni without code
Jantaris Studio is the browser version on the same balance:
- Create an account and add funds (from $10).
- Open Studio, go to Video and pick Gemini Omni 1.1.
- Write the prompt, then choose aspect ratio, resolution and duration.
- To start from a photo, expand Start frame and upload a file or paste a URL.
- Check the Cost line and press Generate.

The form only shows the fields the selected model accepts, and finished clips stay in your account history.
Gemini Omni API examples
Create a key in the dashboard (see the quickstart) and keep it in an environment variable.
export JANTARIS_API_KEY="sk-jt-..."Text to video
curl https://jantaris.com/v1/generate \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-omni-1.1",
"input": {
"prompt": "A drone shot over a misty pine forest at sunrise, slow forward glide, soft golden light",
"duration": 8,
"resolution": "1080p",
"aspect_ratio": "16:9"
}
}'The response is 202 with a task id, estimated_cost and poll_url.
Three images fused into one shot
{
"model": "gemini-omni",
"input": {
"prompt": "The woman from image 1 holds the ceramic mug from image 2 while walking through the market from image 3, handheld tracking shot",
"image_urls": [
"https://example.com/refs/woman.jpg",
"https://example.com/refs/mug.jpg",
"https://example.com/refs/market.jpg"
],
"duration": 6,
"resolution": "1080p",
"aspect_ratio": "9:16"
}
}Reworking an existing clip
{
"model": "gemini-omni-1.1",
"input": {
"prompt": "Keep the camera move and the people, change the season to deep winter with falling snow",
"video_urls": ["https://example.com/clips/street.mp4"],
"resolution": "1080p",
"aspect_ratio": "16:9"
}
}No duration here. Sending it together with video_urls returns 422.
JavaScript: submit, poll, download
const API = "https://jantaris.com/v1";
const headers = {
Authorization: `Bearer ${process.env.JANTARIS_API_KEY}`,
"Content-Type": "application/json",
};
const res = await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
model: "gemini-omni-1.1",
input: {
prompt: "A paper boat drifts down a rain gutter, low angle tracking shot, puddles reflect street lights",
duration: 6,
resolution: "1080p",
aspect_ratio: "9:16",
},
}),
});
let task = await res.json();
if (res.status !== 202) throw new Error(task.error.message);
console.log("task", task.id, "estimated", task.estimated_cost);
let delay = 5000;
while (!["succeeded", "failed"].includes(task.status)) {
await new Promise((r) => setTimeout(r, delay));
delay = Math.min(delay * 1.5, 20000);
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
if (task.status === "succeeded") {
const file = await fetch(task.output[0].url);
const { writeFile } = await import("node:fs/promises");
await writeFile(`${task.id}.mp4`, Buffer.from(await file.arrayBuffer()));
console.log("saved, cost", task.cost);
} else {
console.log("failed, cost 0:", task.error);
}Output URLs expire after a limited time, so download right away. For batches, pass webhook_url instead of polling; the webhooks docs cover the signature check, and every request field is in the generate reference.
Gemini Omni vs Veo 3.1
Both come from Google but they solve different problems. I reach for Gemini Omni when I already have material: a clip to rework, a character photo, three elements to combine. For shots from scratch where lighting and native audio matter, I use Veo 3.1 (Quality); its pricing is in the Veo 3.1 API pricing guide. If you are starting from a single still, the image-to-video guide compares the options, and AI video prompts for camera moves covers how to describe motion so the model does not improvise it. The wider field is in the AI video API comparison.
FAQ
How much does the Gemini Omni API cost?
On Jantaris, Gemini Omni 1.1 is from $1.02 per video and the original is from $1.45 per video, both at 720p or 1080p. 4K is twice that. estimated_cost shows the exact amount before the job runs.
Is Gemini Omni free?
Not on Jantaris. There is no free tier or signup credit; you pay from the first clip, with a $10 minimum top-up that never expires. Failed generations cost nothing. Google also offers Omni Flash inside its own apps, such as Flow, with free daily credits under Google's own limits.
How do I use Gemini Omni?
Without code, pick Gemini Omni 1.1 in Jantaris Studio. With code, send POST /v1/generate with "model": "gemini-omni-1.1" and poll GET /v1/tasks/{id}.
What is the difference between Gemini Omni and Gemini Omni 1.1?
1.1 is cheaper at every tier, adds a 360p option and lets one image act either as a locked first frame or as a subject/style reference. The request shape is the same.
Can Gemini Omni edit my own video?
Yes. Send one clip up to 30 seconds in video_urls with an instruction in prompt. The model uses the first 10 seconds.
How long can a Gemini Omni clip be?
4, 6, 8 or 10 seconds per job. Longer pieces are cut together from several clips.












