gemini-omni-flash-preview is deprecated. Swap to Omni 1.1 Flash

Your n8n execution log went red on September 30 and the HTTP Request node is returning a 404 on a model you've been calling for months. Nothing in your workflow changed. Google retired the preview endpoint underneath it.
Quick answer: Thegemini-omni-flash-previewmodel is deprecated as of September 30, 2026, per Google's Gemini API release notes, andgemini-omni-1.1-flashis the GA replacement that went live August 27, 2026. Change themodelstring in your request body and keep the samePOST https://generativelanguage.googleapis.com/v1beta/interactionscall. The GA model adds aresolutionparameter that can hand you a 1080p or 4K landscape file, and it still renders only 16:9 and 9:16, so compressing that output and reframing it to 9:16, 1:1 and 4:5 for Shorts, Reels and TikTok is a separate step. Run it as one API call to FFmpeg Micro instead of adding an encoder to your stack.
The error you're looking at
A request to the retired preview id comes back as an HTTP 404 with a NOT_FOUND status and a message naming the model that no longer exists, something along the lines of models/gemini-omni-flash-preview is not found for API version v1beta. There is no grace period and no silent fallback to the GA model. In n8n that shows up as a failed HTTP Request node with the 404 in the output panel; in Make it surfaces as a module error on the Gemini step.
Three model ids are floating around right now and they are easy to confuse. gemini-omni-1.1-flash is the one you want. gemini-omni-flash-preview is the dead one. gemini-omni-1.1-flash-preview is a preview of the 1.1 line and is not a production target.
Swapping the model id in n8n, Make, and curl
The model id lives in the JSON body, not in the URL, so in every one of these tools the fix is a one-field edit. The endpoint, the auth header, and the rest of the request shape are unchanged.
n8n HTTP Request node
Most people calling Omni from n8n are doing it through a plain HTTP Request node, because the built-in Google Gemini nodes target chat and analysis rather than the Interactions API.
- Open the failing HTTP Request node. Leave the method as
POSTand the URL ashttps://generativelanguage.googleapis.com/v1beta/interactions. - In the JSON body, change
"model": "gemini-omni-flash-preview"to"model": "gemini-omni-1.1-flash". - If you pinned the id in a Set node, an environment variable, or a workflow static value, change it there too. A hardcoded string in the body is the common case, but a
$varsreference is the one that bites twice. - Add
"video_config": { "resolution": "720p" }while you're in there. The default is 720p today, but pinning it means a future default change can't resize your outputs for you. - Re-run the execution. A 200 with an interaction id or a file URI means you're through.
If your node was built to read inline base64 from the response, read the next section before you call it fixed.
Make
Make added Gemini Omni 1.1 Flash support to its Google Gemini AI app in the September 25, 2026 app-update batch, so the model appears in the module's Model dropdown. Open the Gemini module in your scenario, pick gemini-omni-1.1-flash from that list, and save. If the dropdown still shows only the old entry, your scenario is on a cached app version: remove and re-add the module, or drop in an HTTP module and send the raw request body below, which is what you'd do for any model Make hasn't shipped a field for yet.
Raw API call
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-omni-1.1-flash",
"input": [
{ "text": "A slow dolly shot across a ceramic coffee mug on a windowsill, morning light" }
],
"video_config": {
"resolution": "720p",
"aspect_ratio": "9:16"
},
"delivery": "uri"
}'
With delivery: "uri" you get a file reference back and poll the file until its state is ACTIVE before you download. Any output over 4 MB comes back as a URI rather than inline base64 whether you ask for it or not, which is the second breaking change people hit during this migration. A workflow built to decode inlineData from the response will parse a URI payload as empty and write a 0-byte file. That failure looks like a model problem and isn't.
What the GA model added, and what it still won't do
Gemini Omni 1.1 Flash brings three things the preview didn't have: resolution control, scene extension, and first-and-last-frame interpolation. The resolution parameter is the one that changes file handling downstream.
| `resolution` | What you get | Cost and speed |
|---|---|---|
| `360p` | Draft render, fine for prompt iteration | Roughly one-third the cost of 720p and up to 60% faster, per [Google's launch post](https://blog.google/innovation-and-ai/technology/developers-tools/build-with-gemini-omni-1-1-flash/) |
| `720p` | Default. Native render | Baseline, around $0.10 per second of video |
| `1080p` | Upscale of a lower-resolution render | More output tokens than 720p |
| `4k` | Upscale | Most expensive per second |
1080p and 4K are upscales rather than native generations, so you're paying video output tokens (listed at $17.50 per 1M) for pixels the model interpolated. Draft at 360p, final at 720p, and reach for 1080p only when a client spec demands it.
Scene extension works in 10-second increments up to a cumulative 40 seconds. Interpolation uses the image_to_video task with up to two images, so you pin a first and last frame and let the model fill the middle, which is how you get a clean loop or a controlled camera move. Both of those have the same input constraint: video you upload for an edit or extend task must be 10 seconds or shorter. A 14-second clip gets rejected, so the trim has to happen before the call, not inside it. That is the same pattern as extracting the last frame to chain Veo 3 clips cleanly and it's a deterministic FFmpeg job, not a model job.
What hasn't changed is aspect ratio. Google's Omni docs list 16:9 and 9:16 as the supported values, and that's it. There is no 1:1, no 4:5, no 4:3. Meta collapses most of its ad placements onto 4:5, 9:16 and 1:1, so if your pipeline feeds Instagram feed or Facebook, the ratio you need is one the model will never return.
The step the resolution parameter creates
A pipeline that used to receive a predictable 720p clip can now receive a 1080p or 4K landscape file, and both of those are wrong for a vertical placement and too heavy for most upload paths. The fix is a compress-and-reframe pass on the generated output. The raw FFmpeg version, cropping a 1920x1080 generation to 1080x1920:
ffmpeg -i gemini_out.mp4 \
-vf "crop=ih*9/16:ih,scale=1080:1920" \
-c:v libx264 -crf 24 -preset veryfast -pix_fmt yuv420p \
-c:a aac -b:a 128k \
shorts_9x16.mp4
Swap the crop expression for the other two placements: crop=ih:ih,scale=1080:1080 gives you 1:1, and crop=ih*4/5:ih,scale=1080:1350 gives you 4:5. Three encodes, three sets of flags, and an FFmpeg binary that has to live somewhere. In n8n that somewhere used to be the Execute Command node, which n8n disabled, and rebuilding the Docker image to get a binary back is a maintenance cost you now own forever.
The same job as one HTTP call, which is what you can drop straight into the node that already exists in your workflow:
curl -X POST "https://api.ffmpeg-micro.com/v1/jobs" \
-H "Authorization: Bearer $FFMPEG_MICRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input_url": "https://generativelanguage.googleapis.com/v1beta/files/FILE_ID:download?alt=media",
"operation": "resize",
"aspect_ratio": "9:16",
"mode": "crop",
"width": 1080,
"video_bitrate": "4M"
}'
Change aspect_ratio to 1:1 or 4:5 and run it again for the other placements, or set mode to pad when you'd rather letterbox than lose the edges of the frame. You get a job id back, poll it or take a webhook, and download the result. No encoder in your image, no binary to version, and it works the same from n8n, Make, Zapier, or an AI agent over MCP. The one-click version of exactly this job is the Reframe and Resize blueprint, which takes a file, a target ratio, and pad-or-crop, and hands back the reframed video.
Pitfalls worth checking before you call the migration done
The model id swap takes thirty seconds. The things that break afterward are quieter.
- Inline base64 handling. Anything over 4 MB returns a URI, and at 720p for 8 seconds you will cross 4 MB routinely. Handle both response shapes or force
delivery: "uri"and always poll. - Unpinned resolution. If you send no
resolution, you get 720p today. Set it explicitly so a default change doesn't quietly double your output tokens. - The 10-second input cap on edit and extend. Trim first, then upload. A rejected extend call looks like a malformed request and reads like a bug in your JSON.
durationon an extend task means seconds appended, not total clip length. Sending 30 to a 10-second clip gives you 40 seconds, not 30.- Features the GA model doesn't support: audio reference inputs, mid-clip insertion, system instructions, and temperature. If your old body carried any of those, strip them.
- Hardcoded ids in more than one place. Credentials, Set nodes, and sub-workflows all hide copies of the model string.
A model swap is only half of any generation migration, which is the same lesson as the Sora API shutdown: the generator changes, but the deterministic work after the generator stays yours to own. Keeping reframing, compression, and captioning on an API you control is what stops the next vendor deadline from taking your pipeline down with it.
FAQ
Is there a grace period for gemini-omni-flash-preview?
There is no grace period for gemini-omni-flash-preview. Google's release notes set September 30, 2026 as the deprecation date for the preview endpoint, and requests to it now fail with a 404 rather than falling back to the GA model.
Can Gemini Omni 1.1 Flash output 1:1 or 4:5 directly?
Gemini Omni 1.1 Flash cannot output 1:1 or 4:5. The Omni docs list 16:9 and 9:16 as the only supported aspect ratios, so square and 4:5 crops for Instagram feed and Facebook placements have to be produced after generation, either with FFmpeg locally or with a reframe API call.
Why is my Gemini video output suddenly larger than it used to be?
A larger output usually means your request is now rendering at 1080p or 4K instead of 720p. Gemini Omni 1.1 Flash defaults to 720p when resolution is omitted, but if any part of your pipeline sets resolution to 1080p or 4k, you get an upscaled file with a much bigger byte size and a higher video-output token bill.
How do I extend a clip that's longer than 10 seconds?
Trim it to 10 seconds or less first. Video uploaded for an edit or extend task on Gemini Omni 1.1 Flash must be 10 seconds or shorter, so a 14-second clip needs a cut before the call, and extension then proceeds in 10-second increments up to a cumulative 40 seconds.
Does Make support the new Gemini Omni 1.1 Flash model?
Make supports Gemini Omni 1.1 Flash in its Google Gemini AI app as of the September 25, 2026 app-update batch, so the model is selectable in the module's Model field. If it isn't showing, re-add the module to refresh the app version, or send the request through Make's HTTP module with the model id in the body.
If your migration just left you with 1080p landscape files that need to become Shorts, Reels and TikTok cuts, that part is one API call with a free tier to test it on. Sign up free and run your first Gemini output through it before you rebuild a Docker image.
About Javid Jamae
Founder & CEO at FFmpeg Micro
Javid is a software engineer, author, and entrepreneur with over 25 years of professional software development experience across enterprise, startup, and consulting environments. He founded FFmpeg Micro to make video processing accessible to developers through a simple, automation-first REST API.
You might also like

A model swap isn't the Sora API shutdown alternative for n8n
The Sora API shutdown alternative for n8n: swap in an async Veo 3.1 or Kling 3.0 call, then normalize the output with reframe, concat, captions and audio mix.
AI Avatar Video Automation Breaks at Assembly, Not Generation
AI avatar video automation stalls after the talking head renders. The assembly chain: stitch b-roll, burn captions, add a music bed, and ship 9:16 vertical.

TikTok's AI generated label isn't automatic. Set it via API
TikTok's AI generated label isn't automatic: set it with is_aigc in the Direct Post call, then burn a visible disclosure that survives your re-encode.
Skip the command line
The Resize for Format blueprint reframes your video to any platform ratio: upload, pick the format, done.
Run it (free)