# Gemini Omni Video API – AI Video Generator from Text & Images (`seo-scraper/gemini-omni-video-api`) Actor

Create AI videos with Gemini Omni Flash, Google’s multimodal video model. Enter a prompt, optionally add a reference image, and get a generated video back. Use the free trial to test text-to-video, image-to-video, scene edits, and visual storytelling workflows. (FREE TRIAL)

- **URL**: https://apify.com/seo-scraper/gemini-omni-video-api.md
- **Developed by:** [seo-scraper](https://apify.com/seo-scraper) (community)
- **Categories:** AI, Videos
- **Stats:** 3 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.69 / video generated

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### What is Gemini Omni Video API?

Gemini Omni Video API is an Apify Actor that **generates AI videos from text prompts and reference images** using [Google Flow](https://labs.google/fx/tools/flow) and Gemini Omni Flash. Enter a prompt, optionally add an image URL or base64 image, and get a downloadable MP4 video back. **Try it for free** on Apify — no browser automation, Google login, or setup needed on your side.

This actor works like a simple **Gemini Omni API** for video generation: submit input, start the run, and collect the generated video from Apify storage.

### What can you create with Gemini Omni Video API?

- **Text-to-video** — describe a scene and generate a short cinematic video
- **Image-to-video** — add a reference image and animate or transform it
- **Scene transformation** — change mood, lighting, background, camera angle, or visual style
- **Product demos** — turn screenshots, product images, or landing pages into short promo clips
- **Social media videos** — create clips for TikTok, Reels, YouTube Shorts, ads, and storyboards
- **Visual storytelling** — generate coherent scenes with clear motion, style, and direction

Gemini Omni Flash is Google’s first Omni model for practical video generation workflows, including natural language edits, reference-based creation, and visual storytelling.

### Gemini Omni example videos on YouTube

Watch these examples before writing your prompt to see what Gemini Omni Flash can do:

- Official Google launch video: [Introducing Gemini Omni: Create Anything from Anything](https://www.youtube.com/watch?v=KUyRq7szZsM)
- Official Google community showcase: [See how our community is using Gemini Omni features to create magic](https://www.youtube.com/watch?v=2lyguwG8zlI)
- Creator walkthrough: [I Can't Believe I Put Myself in an AI Video in 2 Minutes | Gemini Omni](https://www.youtube.com/watch?v=qLUQTeSj0e8)
- Google Flow ad workflow: [How to Make UGC Ads With Gemini Omni ($0.60 Per Video)](https://www.youtube.com/watch?v=TEJ9os5vA18)

https://www.youtube.com/watch?v=KUyRq7szZsM

### What does Gemini Omni Video API return?

| Field | Description | Example |
|-------|-------------|---------|
| `success` | Whether the video generation succeeded | `true` |
| `prompt` | Prompt used for generation | `"Create a cinematic drone shot..."` |
| `videoKvsKey` | Key of the MP4 video in Apify key-value store | `"video-1719334800.mp4"` |
| `videoKvsUrl` | Direct Apify storage URL for the generated video | `"https://api.apify.com/..."` |
| `model` | Model used | `"Omni Flash"` |
| `hasImage` | Whether a reference image was used | `true` |
| `timeMs` | Total processing time in milliseconds | `420000` |
| `checkTime` | ISO timestamp | `"2026-06-25T21:30:00.000Z"` |

### How to generate Gemini Omni videos on Apify

1. Open **Gemini Omni Video API** on Apify Store and click **Try for free**
2. Enter a detailed `prompt` describing the video you want
3. Optionally add `imageUrl` or `imageBase64` as a reference image
4. Click **Start** — the actor waits up to 30 minutes for the video to complete
5. Download the MP4 video from the key-value store using `videoKvsKey` or `videoKvsUrl`

#### Text-to-video input example

```json
{
  "prompt": "A drone shot flying over a neon-lit cyberpunk city at night, rain reflecting on the streets, cinematic, slow camera movement, 8 seconds"
}
````

#### Image-to-video input example

```json
{
  "prompt": "Smooth cinematic zoom into this hotel listing screenshot, highlight the booking interface, upbeat product demo style",
  "imageUrl": "https://example.com/hotel-screenshot.jpg"
}
```

### How much does Gemini Omni Video API cost?

You can **try the actor for free** with Apify platform credits. Pricing is designed around successful video generation.

| Component | Cost |
|-----------|------|
| Successful video generation | **$0.99 per generated video** |
| Apify compute | Usually ~$0.06–$0.13 for a 30-minute run at 512 MB |

Typical total cost is about **$1.05–$1.12 per successful video**. Failed generations are not charged the successful-video event fee; they only use Apify compute for the time spent.

On the Apify Free plan with $5 platform credit, you can test roughly **3–4 video generations**, depending on runtime.

### Input

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `prompt` | string | yes | — | Describe the video: subject, style, camera movement, mood, lighting, and action |
| `imageUrl` | string | no | — | Public URL of a reference image |
| `imageBase64` | string | no | — | Base64-encoded image data, alternative to `imageUrl` |

See the **Input** tab for the full schema with examples and prefilled values.

### Output example

```json
{
  "success": true,
  "prompt": "Create a cinematic demo video with smooth zooms",
  "error": null,
  "message": "Video generated successfully.",
  "videoKvsKey": "flow-video-1719334800.mp4",
  "videoKvsUrl": "https://api.apify.com/v2/key-value-stores/.../records/flow-video-1719334800.mp4",
  "model": "Omni Flash",
  "hasImage": true,
  "imageUrl": "https://example.com/screenshot.jpg",
  "timeMs": 420000,
  "checkTime": "2026-06-25T21:30:00.000Z"
}
```

Download the video file from Apify key-value store using `videoKvsKey` or `videoKvsUrl`. Export dataset results as **JSON, CSV, Excel, HTML, or XML**, or pull them via the Apify API.

### Tips for better Gemini Omni video prompts

- **Describe motion clearly** — camera push-in, pan left, handheld, drone shot, slow zoom
- **Mention style** — cinematic, UGC ad, product demo, documentary, anime, claymation, photorealistic
- **Use reference images** when you need a specific product, screenshot, layout, or character look
- **Keep prompts focused** — one clear scene usually works better than many unrelated ideas
- **Allow enough time** — default timeout is 30 minutes, but the actor uses only 512 MB by default to keep Apify compute low

### Can I use Gemini Omni Video API programmatically?

Yes. You can run this actor from the Apify API, Apify SDK, scheduled tasks, webhooks, Make, Zapier, Google Sheets, or your own backend. Each run returns structured dataset output and stores the final MP4 video in Apify key-value storage.

### FAQ

**Is there a free trial?**
Yes. Click **Try for free** on Apify and use your free Apify platform credits to test Gemini Omni video generation.

**Do I need a Google account?**
No. For normal use, you only provide a prompt and optional image. The backend handles the Google Flow session.

**What video format do I get?**
The actor saves the generated video as an MP4 file in Apify key-value storage.

**How long does generation take?**
Most videos finish in 2–10 minutes. The default maximum wait time is 30 minutes so slower generations can still complete.

**Can I generate a video without an image?**
Yes. If you only provide `prompt`, the actor runs text-to-video generation.

**Can I use a reference image?**
Yes. Use `imageUrl` for a public image URL or `imageBase64` if you already have the image data.

**What if generation fails?**
The result includes `success: false`, an error code, and a message. You are not charged the successful-video event fee for failed generations.

### Is it legal to use Gemini Omni Video API?

This actor generates AI videos using Google Flow and Gemini Omni Flash. Do not use generated content to deceive, impersonate, harass, or harm others. You are responsible for making sure your prompts, reference images, and generated outputs comply with applicable laws, platform rules, and rights of third parties.

***

*Google Flow, Google AI, and Gemini Omni are trademarks of Google LLC. This actor is not affiliated with or endorsed by Google.*

# Actor input Schema

## `prompt` (type: `string`):

Text prompt describing the video to generate. Be descriptive — include style, motion, camera angles, and subject details.

## `imageUrl` (type: `string`):

URL of a reference image to upload as an ingredient. The image will be downloaded and uploaded to Google Flow. Either imageUrl or imageBase64 can be used.

## `imageBase64` (type: `string`):

Base64-encoded image data to upload as an ingredient. Use this when you have the image content directly. Either imageUrl or imageBase64 can be used.

## Actor input object example

```json
{
  "prompt": "Create a short polished demo video from this screenshot: smooth cinematic zooms, subtle parallax, highlight the travel booking interface, upbeat product-demo style, clean modern motion",
  "imageUrl": "https://example.com/screenshot.jpg"
}
```

# Actor output Schema

## `results` (type: `string`):

Generation result records. Each item contains success status, prompt, video file key, and timing information.

## `video` (type: `string`):

The generated video file, stored in the default key-value store.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "prompt": "Create a short cinematic demo video with smooth zooms and upbeat product-demo style"
};

// Run the Actor and wait for it to finish
const run = await client.actor("seo-scraper/gemini-omni-video-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "prompt": "Create a short cinematic demo video with smooth zooms and upbeat product-demo style" }

# Run the Actor and wait for it to finish
run = client.actor("seo-scraper/gemini-omni-video-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "prompt": "Create a short cinematic demo video with smooth zooms and upbeat product-demo style"
}' |
apify call seo-scraper/gemini-omni-video-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=seo-scraper/gemini-omni-video-api",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Gemini Omni Video API – AI Video Generator from Text & Images",
        "description": "Create AI videos with Gemini Omni Flash, Google’s multimodal video model. Enter a prompt, optionally add a reference image, and get a generated video back. Use the free trial to test text-to-video, image-to-video, scene edits, and visual storytelling workflows. (FREE TRIAL)",
        "version": "1.0",
        "x-build-id": "khxNudQfqHYabiELv"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/seo-scraper~gemini-omni-video-api/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-seo-scraper-gemini-omni-video-api",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/seo-scraper~gemini-omni-video-api/runs": {
            "post": {
                "operationId": "runs-sync-seo-scraper-gemini-omni-video-api",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/seo-scraper~gemini-omni-video-api/run-sync": {
            "post": {
                "operationId": "run-sync-seo-scraper-gemini-omni-video-api",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "prompt"
                ],
                "properties": {
                    "prompt": {
                        "title": "Video Prompt",
                        "type": "string",
                        "description": "Text prompt describing the video to generate. Be descriptive — include style, motion, camera angles, and subject details."
                    },
                    "imageUrl": {
                        "title": "Image URL (optional)",
                        "type": "string",
                        "description": "URL of a reference image to upload as an ingredient. The image will be downloaded and uploaded to Google Flow. Either imageUrl or imageBase64 can be used."
                    },
                    "imageBase64": {
                        "title": "Image Base64 (optional)",
                        "type": "string",
                        "description": "Base64-encoded image data to upload as an ingredient. Use this when you have the image content directly. Either imageUrl or imageBase64 can be used."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
