How to Use the Gemini Omni 1.2 Flash API: 15-Second Videos in Google Flow and Google Vids

7 min read • November 6, 2026

Independent third-party service, see Legal

Table of contents

  1. Introduction
  2. Google Flow or Google Vids: Omni 1.2 Flash at a glance
  3. Price per video
  4. Omni 1.2 Flash in Google Flow: a 30-second scene in three calls
  5. Omni 1.2 Flash in Google Vids: 15 seconds, an extend and an edit
  6. Which one to use
  7. Use it from Claude Code, Cursor or Gemini CLI
  8. Questions
    1. Is there a Gemini Omni 1.2 Flash API?
    2. How much does Omni 1.2 Flash cost per video?
    3. Is there a free Gemini Omni 1.2 Flash API?
    4. How long can an Omni 1.2 Flash video be?
    5. Omni 1.2 Flash vs Veo 3.1: which should I use?
  9. Sources

Introduction

Gemini Omni 1.2 Flash, which Google released on November 5, 2026, makes videos of 3 to 15 seconds with sound and speech, and useapi.net runs it on your Google AI subscription through two REST APIs: the Google Flow API and the Google Vids API. On Google AI Ultra $199.99, a 15-second video uses $0.30 of the plan’s monthly Vids allowance or $0.48 of its Flow credits, against $1.04 for 15 seconds at 720p on Google’s own Gemini API (as of November 2026). You need no Gemini API key and no Google Cloud project.

New in 1.2, per Google’s announcement: clips of up to 15 seconds instead of 10, closer adherence to references and clearer lip-sync, and Google moved Google Vids to it the same day.

This guide puts the two routes side by side, then walks through one real scene in each: a 30-second scene in Google Flow made in three calls, with two voices, and a 15-second scene in Google Vids with an extension and a 15-second edit. Every request is the real one and every video is the real output, from the release posts Google Flow: Omni 1.2 Flash and Google Vids: Omni 1.2 Flash. Also in Chinese: 中文教程.

Before you start, you need:

Google Flow or Google Vids: Omni 1.2 Flash at a glance

  Google Flow API Google Vids API
How to pick Omni 1.2 model: "omni-flash-1.2" (Omni 1.1 Flash and Veo 3.1 are other values) No model field: Vids has one video model, Omni 1.2 since Google’s rollout from November 5
Length 3 to 15 seconds (3 to 10 with a start and an end frame) 3 to 15 seconds
Resolution 360p or 720p, upscale to 1080p, or 4K on Ultra 720p or 1080p at the same price, upscale to 1080p on clips of up to 20 seconds
Inputs Text, a start frame, a start and an end frame, up to 7 reference images, saved characters, 1 to 4 videos per request Text, a start image, or up to 3 references that mix images and avatars
Voices Up to 5 voices per video when it has a reference image or character, up to 3 per extension. 30 built-in voices or your own Each avatar speaks in one of 30 voices, up to 3 avatars per video
Extend 3 to 10 seconds a call with its own voices and references, to just under 40 seconds, paid plans 3 to 10 seconds a call on clips of up to 24 seconds, to about 34 seconds
Edit by prompt Up to 15 seconds of a generated or uploaded clip Up to 15 seconds of a clip Google made
What it uses Flow credits: at 720p 3 a second up to 10 seconds and 6 a second above, at 360p 1 and 2 Seconds of the monthly Vids allowance, separate from Flow credits
Free Google account Videos of up to 10 seconds on 50 Flow credits a day No Vids video seconds in our tests
Captcha Google asks for a captcha on every Flow video. The API solves it for you: 300 free, then through a captcha provider you sign up with, at about $0.80 to $3.00 per 1,000 None

Price per video

What one 15-second Omni 1.2 Flash video costs on Google’s own Gemini API and on each Google AI subscription (as of November 2026). Each subscription comes with a monthly number of Flow credits and, separately, seconds of Vids video, so a video costs its share of the subscription.

Omni 1.2 Flash, 15 s Official API Plus $4.99/m
200 cr, 60 s/mo
Pro $19.99/m
1,000 cr, 500 s/mo
Ultra $99.99/m
10,000 cr, 2,500 s/mo
Ultra $199.99/m
25,000 cr, 10,000 s/mo
Google Flow
720p
$1.04
about $0.07 a second
$1.50 / 60 cr
3 videos/mo
$1.20 / 60 cr
16 videos/mo
$0.60 / 60 cr
166 videos/mo
$0.48 / 60 cr
416 videos/mo
Google Flow
360p
$0.35
$0.023 a second
$0.50 / 20 cr
10 videos/mo
$0.40 / 20 cr
50 videos/mo
$0.20 / 20 cr
500 videos/mo
$0.16 / 20 cr
1,250 videos/mo
Google Vids
720p or 1080p
$1.04 at 720p
$1.56 at 1080p
$1.25 / 15 s
4 videos/mo
$0.60 / 15 s
33 videos/mo
$0.60 / 15 s
166 videos/mo
$0.30 / 15 s
666 videos/mo

Scroll the table sideways for more plans →

  • The savings grow with the plan. On Plus, and on Pro in Flow, a 15-second 720p video costs more than on the Gemini API, while on Ultra $199.99 it costs less than half in Flow and less than a third in Vids.
  • Flow charges every second past 10 at twice the rate, so shorter videos cost less per second there: a 10-second 720p video is 30 credits, $0.24 on Ultra $199.99, against $0.70 on the Gemini API. The full Flow table with every model is on the Google Flow API overview, and the Vids table, with images and avatars, on the Google Vids API overview.
  • An extension uses only the seconds it adds, in both APIs. A Vids edit uses at most the seconds it edits (in our tests a 15-second edit used 10), and a Flow edit costs the same as a video of the edited length.
  • Flow credits and Vids seconds are two separate allowances on the same plan. On Ultra $199.99, one Google account connected to both APIs makes about 416 fifteen-second 720p videos in Flow and 666 in Vids a month, about 1,082 in all.
  • Plan prices are Google’s US prices. Vids seconds per plan are from Google’s Gemini in Google Vids page and match our tests on Ultra $199.99.

Omni 1.2 Flash in Google Flow: a 30-second scene in three calls

A 10-second video, then two 10-second extensions, each with its own voice. Step 1 works on a free Google account. Steps 2 and 3 (extend) need a paid Google AI plan.

Every call runs as an async job: pass async: true and the POST answers with a jobid right away. Poll GET /jobs/jobid until status is completed, or pass replyUrl to get the finished job on your webhook:

curl --location 'https://api.useapi.net/v1/google-flow/jobs/<jobid>' --header 'Authorization: Bearer YOUR_API_TOKEN'

The finished video is at response.media[0].videoUrl, a link that stays valid for about 6 hours, and the next step takes the finished job’s response.media[0].mediaGenerationId. If you’ve connected several Google accounts, the API picks one that already has Omni 1.2 (Google is enabling it over several days from November 5). Pass email to choose one.

Step 1: the first 10 seconds

POST /videos with model: "omni-flash-1.2" and duration: 10. Google answered in 56 seconds. At 720p a 10-second video is 30 credits.

curl --location 'https://api.useapi.net/v1/google-flow/videos' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
  "model": "omni-flash-1.2",
  "duration": 10,
  "prompt": "Cinematic night, a narrow rainy alley in Tokyo glowing with neon signs reflected in the puddles. A street magician in a long dark coat faces the camera, fans out a deck of cards that glow faintly gold, and says with a grin: \"Pick a card. Any card.\" A sudden gust snatches one glowing card from his hand and it flutters away down the alley. Handheld camera, shallow depth of field, rain drops catching the light.",
  "async": true
}'
The finished job, from GET /jobs/jobid (shortened)
{
    "jobid": "j1106021223539251070v-u12345-email:[email protected]:google-flow",
    "type": "video",
    "status": "completed",
    "response": {
        "media": [
            {
                "video": {
                    "generatedVideo": {
                        "model": "macaron_cookie_t2v_10s",
                        "aspectRatio": "VIDEO_ASPECT_RATIO_LANDSCAPE"
                    },
                    "dimensions": { "length": "10s" }
                },
                "mediaGenerationId": "user:12345-email:…-video:b08556b9-…",
                "videoUrl": "https://flow-content.google/video/b08556b9-…?Expires=…"
            }
        ],
        "remainingCredits": 877
    }
}

Step 2: extend by 10 seconds, with a voice

POST /videos/extend with the first video’s mediaGenerationId, duration: 10 and the built-in voice Charon as referenceAudio_1. The prompt places the voice where the magician speaks, with the inline mention @referenceAudio_1. Extend uses Omni 1.2 by default, so no model is needed. The answer is one 20-second clip, the first 10 seconds unchanged plus the new 10, after 2 minutes 20 seconds, for 30 credits.

curl --location 'https://api.useapi.net/v1/google-flow/videos/extend' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
  "mediaGenerationId": "user:12345-email:…-video:b08556b9-…",
  "duration": 10,
  "referenceAudio_1": "Charon",
  "prompt": "The magician runs after the glowing card through the rain, past a ramen stall and under paper lanterns, laughing and calling out in a deep voice @referenceAudio_1: \"Come back here! You are the ace of hearts!\" The camera follows him close behind.",
  "async": true
}'

Step 3: 10 more seconds, a second voice

The same call on the 20-second clip, with the voice Aoede for the woman in the café. The result is the whole scene, 30 seconds long, after another 2 minutes and 30 credits.

curl --location 'https://api.useapi.net/v1/google-flow/videos/extend' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
  "mediaGenerationId": "user:12345-email:…-video:113384cd-…",
  "duration": 10,
  "referenceAudio_1": "Aoede",
  "prompt": "The glowing card drifts through the open door of a tiny warm café and lands on a table. A young woman in a yellow raincoat picks it up, looks at the out-of-breath magician in the doorway, and says with a smile @referenceAudio_1: \"Is this your card?\" He laughs. Warm light, rain outside the window.",
  "async": true
}'
The finished job (shortened)
{
    "jobid": "j1106021547955542178v-u12345-email:[email protected]:google-flow",
    "type": "video",
    "status": "completed",
    "response": {
        "media": [
            {
                "video": {
                    "generatedVideo": { "model": "macaron_cookie_extend_10s" },
                    "dimensions": { "length": "30s" }
                },
                "mediaGenerationId": "user:12345-email:…-video:db0201df-…",
                "videoUrl": "https://flow-content.google/video/db0201df-…?Expires=…"
            }
        ],
        "remainingCredits": 817
    }
}

The video above is re-encoded for the web at the original 1280×720. The whole scene used 90 credits, about $0.72 on Ultra $199.99, against about $2.10 for 30 seconds at the Gemini API’s 720p rate (as of November 2026).

Google extends videos shorter than 30 seconds only, so this scene can grow no further: a fourth extend answers 400 right away, before any captcha or credits. A 25-second clip can still take 10 more and end at 35.

omni-extend/ on GitHub makes this scene from one story.json, in Node.js or Python, and omni-flash/ batch-generates Omni Flash videos from a list of prompts. The Omni Flash tutorial covers reference images, characters, start and end frames and edits.

Omni 1.2 Flash in Google Vids: 15 seconds, an extend and an edit

Vids has one video model, which Google moved to Omni 1.2 in a rollout of a few days from November 5, so there is no model to set. Requests take a JSON body, and every call here runs as an async job: poll GET /jobs/jobid or pass replyUrl, then download the clip with GET /media/mediaId within 24 hours. The next step takes the finished job’s result.mediaId. Vids asks for no captcha.

curl --location 'https://api.useapi.net/v1/google-vids/jobs/<jobid>' --header 'Authorization: Bearer YOUR_API_TOKEN'

Step 1: a 15-second video from one prompt

POST /videos with duration: 15. Google answered in about 60 seconds with a 1280×720 video, and both lines are spoken as written. It used 15 seconds of the allowance.

curl --location 'https://api.useapi.net/v1/google-vids/videos' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
  "prompt": "Cinematic single continuous shot, 15 seconds, 16:9. Golden hour on a Tokyo rooftop garden, city skyline glowing behind. A young chef in a crisp white apron finishes plating a steaming bowl of ramen, steam curling in the warm light. She looks up into the camera and says with a confident smile: \"Fifteen seconds. One prompt. No editing.\" She slides the bowl toward the camera as it slowly pushes in, wind chimes ringing softly and city traffic humming far below. She laughs and adds: \"Now that'\''s fast food.\"",
  "duration": 15,
  "aspectRatio": "landscape",
  "resolution": "720p",
  "async": true
}'
The finished job, from GET /jobs/jobid (shortened)
{
    "status": "completed",
    "result": {
        "mediaId": "user:[email protected]:eyJ1Ijoi…",
        "width": 1280,
        "height": 720,
        "duration": 15,
        "resolution": "720p",
        "aspectRatio": "landscape",
        "model": "/flix/generate_videos_omni_t2v_psq/v1",
        "quota": { "video": { "limit": 500, "left": 485, "resetAt": "2026-12-01T08:00:00.000Z" } }
    }
}

quota shows what the account has left of its monthly video seconds and when they reset. This test account is on Google AI Pro, hence the limit of 500 seconds. The prices on this page use Ultra $199.99.

Step 2: extend it by 10 seconds

POST /videos/extend with the first video’s mediaId. The result is one clip, the 15 seconds plus 10 new ones, 25 seconds long, after about 100 seconds. A friend walks in, tries the ramen, and both new lines are spoken.

curl --location 'https://api.useapi.net/v1/google-vids/videos/extend' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
  "mediaId": "user:[email protected]:eyJ1Ijoi…",
  "prompt": "Same shot continues on the Tokyo rooftop at dusk, the city lights now switching on. A friend in a denim jacket walks into frame, sits at the table and takes a first slurp of the ramen, eyes widening. He says: \"Wait, you made this in fifteen seconds?\" The chef folds her arms and grins: \"Fifteen more, and I'\''ll make dessert.\" They both laugh as string lights flicker on above them and soft city ambience fills the air.",
  "duration": 10,
  "async": true
}'

Also on YouTube: Gemini Omni 1.2 Flash in Google Vids: 15 seconds from one prompt, extended to 25.

The API takes 3 to 10 seconds per extend call and answers a longer duration with 400: Google adds at most 10 seconds but counts all the seconds requested. (This clip came from an earlier test with duration: 15.) The same request with duration: 10 returns the same 25-second clip and uses 10 seconds. Vids extends clips of up to 24 seconds, so this 25-second clip is as long as it gets. To reach the longest clip, about 34 seconds, extend a clip of 24 seconds or less by 10.

Step 3: edit all 15 seconds

POST /videos/edit on the first video with duration: 15. With Omni 1.1 an edit returned at most 10 seconds. Now the whole 15-second clip came back edited, every frame of it, after about 140 seconds.

curl --location 'https://api.useapi.net/v1/google-vids/videos/edit' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
  "video": "user:[email protected]:eyJ1Ijoi…",
  "prompt": "Make it a snowy winter evening: snow falling gently over the rooftop and the city, the chef wearing a red knit scarf. Keep everything else the same.",
  "duration": 15,
  "async": true
}'

Vids edits clips Google made, and Google refuses uploaded videos with 422.

For a single clip, generate at 1080p, which uses the same allowance as 720p. For a clip you’ll extend, work at 720p and go to 1080p once, at the end: each extend at 1080p processes the whole clip again and over-sharpens the earlier seconds (see the comparison). Finish a clip of up to 20 seconds with one upscale (it uses the clip’s seconds again), and for a clip of 21 to 34 seconds set resolution: "1080p" on the last extend only.

The google-vids-api repo on GitHub has runnable Vids examples in Node.js and Python, including voiced avatars, and the AI influencer tutorial builds a clip with two talking avatars.

Which one to use

Pick the Google Flow API when you want:

  • 360p drafts at a third of the 720p price, or up to 4 videos per request
  • a start and an end frame, up to 7 reference images or saved characters
  • to choose the voices yourself: up to 5 per video with a reference image or character and up to 3 per extension, from 30 built-in voices or your own
  • to edit an uploaded video, or to upscale to 4K on Ultra
  • Veo 3.1 video and Nano Banana images from the same API
  • Omni 1.2 on a free Google account, up to 10 seconds

Pick the Google Vids API when you want:

  • no captcha and no captcha provider
  • 1080p at the same price as 720p (for clips you’ll extend or edit, see which resolution to work in)
  • voiced avatars that keep their look and voice from one video to the next, up to 3 in one video
  • the lowest price per second on Ultra $199.99, $0.02 against $0.032 for a 15-second video in Flow
  • more Omni 1.2 videos once your Flow credits are spent, since Vids has its own allowance

Or use both: connect the same Google account to each API and send the jobs where they fit, since the two allowances add up.

Use it from Claude Code, Cursor or Gemini CLI

Both APIs have a hosted MCP server that runs on your useapi.net API token, with nothing to install. In Claude Code, each is one line:

claude mcp add --transport http useapi-google-vids https://api.useapi.net/v1/google-vids/mcp --header "Authorization: Bearer YOUR_API_TOKEN"
claude mcp add --transport http useapi-google-flow https://api.useapi.net/v1/google-flow/mcp --header "Authorization: Bearer YOUR_API_TOKEN"

In Cursor or Gemini CLI, add the same URL with the same Authorization header in its MCP settings.

  • The Google Vids MCP server makes Omni 1.2 clips directly: vids_create_video and vids_edit_video take up to 15 seconds, and vids_extend_video up to 10 a call on clips of up to 24 seconds.
  • The Google Flow MCP server talks to Google Flow Agent, not to the Omni 1.2 endpoints directly: your assistant chats with the Agent, which makes images and videos at the usual Flow price. For direct Omni 1.2 calls from Claude Code or Codex, add the omni-flash-video agent skill.
  • Both repos also install the server as a Claude Code plugin or a Gemini CLI extension: google-flow-api and google-vids-api.

Questions

Is there a Gemini Omni 1.2 Flash API?

Through useapi.net, yes: it runs Gemini Omni 1.2 Flash on your Google AI subscription, through the Google Flow API (model: "omni-flash-1.2") and the Google Vids API, with no Gemini API key. It costs from $0.02 a second of the Ultra $199.99 Vids allowance, against about $0.07 a second on Google’s Gemini API, and Flow takes up to 5 voices per video with a reference image or character, where Google’s API gates audio references behind an allowlist (as of November 2026).

How much does Omni 1.2 Flash cost per video?

Through useapi.net on Google AI Ultra $199.99, a 15-second Omni 1.2 Flash video uses $0.30 of the plan’s Vids allowance or $0.48 of its Flow credits, against $1.04 at 720p on Google’s Gemini API (as of November 2026). In Vids a 15-second 1080p video is also $0.30, since 1080p uses the same seconds, where the Gemini API charges $1.56. The price table shows every plan.

Is there a free Gemini Omni 1.2 Flash API?

Through useapi.net, yes, in the Google Flow API: a free Google account makes Omni 1.2 Flash videos of up to 10 seconds on its 50 daily Flow credits, one 10-second video at 720p or five at 360p a day, while Google’s Gemini API offers Omni 1.2 Flash on its paid tier only (as of November 2026). Longer videos and extending with Omni 1.2 need a paid Google AI plan.

How long can an Omni 1.2 Flash video be?

Through useapi.net, one call makes 3 to 15 seconds in both Google Flow and Google Vids, and extend adds 3 to 10 seconds a call and returns the whole clip: up to just under 40 seconds in Flow, with a new voice in each extension if you like, and about 34 seconds in Vids, which extends clips of up to 24 seconds. The 30-second scene above was made this way in three calls.

Omni 1.2 Flash vs Veo 3.1: which should I use?

Through useapi.net you run both in the same Google Flow API on one plan: on Ultra $199.99 an 8-second 720p Omni 1.2 Flash video is $0.19 and Veo 3.1 Fast $0.08, against $0.56 and $0.80 on Google’s own APIs (as of November 2026). Pick Omni 1.2 Flash for clips longer than 8 seconds, up to 5 voices you choose and extensions with new voices, and Veo 3.1 Fast for the cheapest 8-second clip. All Veo prices: Veo 3.1 API pricing.

Sources

Start using the API

A single $15/month subscription covers every API on useapi.net — one token, all services. You connect up to 3 accounts per service, each with its own website subscription, and useapi.net handles the REST API, load balancing, and polling. Need more accounts? Each extra subscription is $10/month and adds 3 more accounts per service.

Subscribe — $15/month Pay with crypto

Pricing and volume options — full refund within the first 14 days if you have fewer than 50 successful generations. Already subscribed? Change the quantity in the Stripe Customer Portal instead of buying again.