Back to Models

Gemini Omni 1.1 Flash

Generate smooth video transitions between two key frames with Gemini Omni 1.1 Flash. Provide a start frame, an end frame and a text prompt to guide the in-between motion.

Pricingstarting $0.09/request
Latency~240 seconds average
Resolution360P/720P/1080P/4K
Best forvideo, google, high-fidelity

Parameters

Estimated Cost

You save 40% on this model
Base cost per second$0.15
Discount-40%
Your Total$0.09
You save $0.06 per request

Sign in to run models

Output Preview

Ready

No output yet

Run the model to see generated results.

API Example— Current Parameters

generate.py
import requests

result = requests.post(
    'https://api.e2x.ai/v1/jobs/submit',
    headers={
        'Authorization': f'Bearer {API_KEY}',
        'Content-Type': 'application/json'
    },
    json={
  'model': 'google/omni-1.1-flash/start-end-frame-to-video',
  'input': {}
}
)

Get Job— Poll for result

get_job.py
import time

job_id = result.json()['jobId']

while True:
    response = requests.get(
        f'https://api.e2x.ai/v1/jobs/{'{job_id}'}',
        headers={'Authorization': f'Bearer {'{API_KEY}'}'}
    )
    data = response.json()['data']

    if data['status'] == 'completed':
        print('Done!', data['outputs'][0]['url'])
        break
    elif data['status'] == 'failed':
        raise Exception(f"Job failed: {'{'}data['error']['message']{'}'}")

    time.sleep(2)

Pricing Breakdown

Estimated cost per generation by duration and resolution. You only pay for what you run.

Duration
360P
720P
1080P
4K
4
$0.20
$0.60
$0.90
$1.20
6
$0.30
$0.90
$1.35
$1.80
8
$0.40
$1.20
$1.80
$2.40
10
$0.50
$1.50
$2.25
$3.00
Explore Alternatives

Related Models

Discover more AI models for Start & End Frame to Video

View all models

Gemini Omni 1.1 Flash Start-End-Frame-to-Video on E2X

Gemini Omni 1.1 Flash is Google's gemini-omni-1.1-flash, GA since 27 August 2026 and a Gemini-family model rather than a Veo. We run its two-frame capability as google/omni-1.1-flash/start-end-frame-to-video and bill per second of output — $0.09 at 720p, a standing 40% off the $0.15 list rate. The default eight-second clip is $0.72.

Three fields go in: a start frame, an end frame, a prompt. Your first image becomes frame one, your second the last, everything between is invented. That is not a clip request but a bridge request, and a bridge is worth what its two banks are worth.

New here, too — the earlier Omni Flash generation shipped without it, the plainest evidence for the case in our 1.1 release write-up. A continuity release, not a quality one.

Our rates, checked August 28, 2026:

Duration360p720p1080p4K
4 s$0.1188$0.36$0.54$0.72
6 s$0.1782$0.54$0.81$1.08
8 s (default)$0.2376$0.72$1.08$1.44
10 s$0.297$0.90$1.35$1.80

1080p and 4K are upscaled, not native.

What the model invents between your two frames

Tweening is the wrong mental model. A tweening tool blends pixel A toward pixel B. This model reads both images, decides what event plausibly carried the scene between them, and renders that — audio included, generated natively from the same prompt. No has_sound field, no mute switch.

At 24 fps a four-second bridge is ninety-six frames, two of which you supplied. The other ninety-four are an argument about physics, made whether or not it holds. Framing is 16:9 or 9:16; budget four minutes a job.

Frames that can connect, and frames that cannot

Three questions settle the pair. Same subject? Not similar — same. Same light? Key direction, colour temperature, contrast. Could a camera have made that move? If you cannot say it in a sentence an operator would follow, neither can the model.

When the answer is no, nothing errors — the model papers over the gap, in four shapes:

  • An invented cut. Two shots welded at an arbitrary point. You ordered a take; you got an edit.
  • A morph. Geometry that cannot rotate simply flows: a face turning inside out, a label sliding across glass.
  • A lighting pop. Noon at one end, dusk at the other, exposure jumping mid-shot like a botched dissolve.
  • Ghosting. One person in the start frame, three in the end — the extra two fade up out of nothing.

A clip you cannot use costs what a usable one costs.

Draft at 360p before you pay for the render

At $0.0297 per second a four-second 360p test is $0.1188; the eight-second 720p final is $0.72, five times more. And 360p, too small to judge a face, is fine for judging the middle. A cut is a cut at any resolution. A morph is a morph. Google also claims the tier runs up to 60% faster — launch-blog wording, not an API-reference number.

That makes storyboard work affordable to iterate. Two key frames per beat, the shot list run at four seconds and 360p, played back as an animatic — twelve beats for about $1.73. Failures are almost always a frame-pair problem, fixed by redrawing one board rather than rewriting the prompt five times. Render only the survivors. Veo 3.1 Fast start-end-frame-to-video has no draft tier at all.

Duration is the pacing control

duration accepts 4, 6, 8 or 10, as a string. Every second costs the same, so it reads like a budget knob. It is a directing one.

The same two frames at four seconds and at ten are two different shots. Four forces the transit — the camera commits, little room to invent. Ten has to be filled, and the model will find its own filler: a drift, a held beat, a second gesture. That invented business is the least predictable output here.

Match length to distance: two product angles thirty degrees apart, stretched to ten seconds, buys a crawl and dead air. Ten is Omni's ceiling and a real edge — Veo stops at eight.

API request: two frame URLs in, one clip out

Mint a key, hold it server-side, submit the job. prompt, start_frame_url and end_frame_url are required, and we fetch both images, so each URL must answer an unauthenticated request.

curl -X POST https://api.e2x.ai/v1/jobs/submit \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/omni-1.1-flash/start-end-frame-to-video",
    "input": {
      "prompt": "The camera arcs right around the espresso machine as steam builds. Grinder hum, cafe chatter.",
      "start_frame_url": "https://example.com/07a-left.jpg",
      "end_frame_url": "https://example.com/07b-right.jpg",
      "duration": "6",
      "resolution": "360p"
    }
  }'

Poll the job id, or pass a webhookUrl:

const headers = {
  Authorization: `Bearer ${process.env.E2X_API_KEY}`,
  "Content-Type": "application/json",
};

const { data } = await fetch("https://api.e2x.ai/v1/jobs/submit", {
  method: "POST",
  headers,
  body: JSON.stringify({
    model: "google/omni-1.1-flash/start-end-frame-to-video",
    input: {
      prompt: "A slow crane down from the rooftop railing to the courtyard table. One continuous move.",
      start_frame_url: "https://example.com/12a-roof.jpg",
      end_frame_url: "https://example.com/12b-courtyard.jpg",
      duration: "10",
      resolution: "720p",
    },
  }),
}).then((r) => r.json());

let url = null;
while (!url) {
  const job = await fetch(`https://api.e2x.ai/v1/jobs/${data.jobId}`, { headers })
    .then((r) => r.json());

  if (job.data.status === "completed") url = job.data.outputs[0].url;
  else if (["failed", "cancelled"].includes(job.data.status))
    throw new Error(job.data.error?.message ?? job.data.status);
  else await new Promise((r) => setTimeout(r, 5000));
}

Status runs pending, processing, completed, or lands on failed/cancelled. Two schema traps: duration and resolution are strings, and the fields are start_frame_url and end_frame_url, not the singular image_url used elsewhere. Live values sit in the machine-readable spec.

Where this beats Veo, and where it does not

Veo 3.1 Fast runs the same job for a ninth of the money:

Endpoint8 s at 720pReach for it when
Veo 3.1 Fast start-end-frame-to-video$0.08The frames connect and eight seconds is enough
Omni 1.1 Flash start-end-frame-to-video$0.72You need ten seconds, 4K, or a draft pass
Omni 1.1 Flash image-to-video$0.72Only one end of the shot is fixed
Omni 1.1 Flash reference-to-video$0.72A subject must stay itself across many shots
Omni 1.1 Flash text-to-video$0.72There is no source frame at all

Prices and product terms can change. Check each provider's current pricing before making a purchasing decision. Google Batch or Flex pricing is not directly equivalent to a standard on-demand API request because scheduling, availability, and processing conditions differ; it is therefore excluded from this comparison. This is a scoped comparison, not a claim that E2X is the world's cheapest option in every configuration.

Start on Veo. Come back when its eight-second wall is in the way, the deliverable is 4K, or a draft pass saves more than it costs. The rest sits under image-to-video and text-to-video, and the whole model catalog is one page.

Writing the prompt, and what to check before you ship

Describe the transit, not the scenery — the model already sees both ends. Name the move that connects them ("arc right", "crane down", "rack focus to the far window"), then say how it should sound — the audio is written off that same line. Do not request events neither frame implies. More camera vocabulary is in our Omni prompting guide; English is the only evaluated prompt language.

Three things before this goes near a client. Every frame carries SynthID, Google's invisible provenance marker, and no provider can strip it. Google's model card is blunt that "maintaining complete consistency throughout edits, generating scenes with complex motion, or rendering perfectly accurate text remains a challenge" — complex motion is what a wide frame gap asks for. In the EEA, Switzerland and the UK you may not upload images containing minors or certain recognisable people — a limit on your inputs. Result URLs are temporary: re-host them in the completion handler.

Frequently asked questions

How much does a start-end-frame clip cost on E2X?

We charge $0.09 for each second of 720p output, so an eight-second clip is $0.72 and the ten-second maximum $0.90 — 40% off a $0.15 list rate. Resolution multiplies it, making a four-second 360p draft $0.1188 and a ten-second 4K render $1.80. Checked August 28, 2026.

What makes two frames a good pair for this model?

Same subject, same lighting setup, and a camera move that could physically get from one to the other in the time requested. Two stills from one shoot, minutes apart, almost always work. Frames shot under different conditions force the model to resolve the difference on screen.

What happens when the start and end frames cannot connect?

Nothing errors. You get a clip that hides the gap four possible ways: an invented cut, a morph through impossible geometry, a lighting pop, or figures ghosting in from nothing. All bill the same as a good render, which is why the $0.1188 draft pays for itself.

Should I use Omni 1.1 Flash or Veo 3.1 Fast for this?

Veo 3.1 Fast first, in most cases — it does start-and-end frames at $0.01 per second against our $0.09, so eight seconds costs $0.08, not $0.72. Omni earns the gap in three places: the ten-second duration, 4K output, and the 360p test tier.

How long can one generated clip be?

Three to ten seconds per call. The duration enum carries 4, 6, 8, 10, all strings. Ten is the hard ceiling, and anything longer is stitched from several jobs.

Do the start and end frames have to be publicly hosted?

Yes. Both are fetched server-side, so each must answer an unauthenticated request until the job finishes. Short-lived signed URLs, private buckets, localhost addresses and data URIs fail.

Do the generated videos carry a watermark?

Yes — every frame is marked with SynthID, Google's imperceptible provenance signal, invisible to viewers and verifiable through their tooling. No provider can disable it. Settle that with your client if a contract forbids labelled AI assets.