> ## Documentation Index
> Fetch the complete documentation index at: https://docs.toapis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Gemini Omni Flash Video Generation

> Generate videos with the legacy Gemini Omni Flash channel using text or up to 3 reference images

> [!NOTE]
>
> **Note for users in mainland China:** Please use `https://toapis.cn` as the API endpoint (Base URL). Replace `https://toapis.com` with `https://toapis.cn` in the examples in this document.

* Use `gemini-omni-flash` (or the channel's configured `gemini_omni_flash` alias) in the `model` field
* Supports text-to-video and reference-image-to-video
* Supports 4 / 6 / 10 second durations
* Supports `720p` and `1080p`; `1080p` is landscape-only
* Async task API: submit a task, then query by task ID

> [!NOTE]
>
> This page documents the non-official legacy `gemini-omni-flash` model. It does not use the Vertex AI Interactions API. Other legacy channel implementations may have different limits. The separate `gemini-omni-flash-preview-official` page documents official Vertex AI access.

> [!WARNING]
>
> Upload local images with the [Upload Image API](https://docs.toapis.com/docs/en/api-reference/uploads/images.md) first, then pass the returned URLs in `image_urls`. Do not pass base64 image data directly.

## Authorizations

**Authorization** `string` *required*

Use Bearer Token authentication:

```
Authorization: Bearer YOUR_API_KEY
```

## Body

**model** `string` *required* (default: gemini-omni-flash)

Model name. Use `gemini-omni-flash` for the legacy channel. Some channel configurations expose the equivalent `gemini_omni_flash` alias.

**prompt** `string` *required*

Text prompt for video generation.

**duration** `integer` (default: 6)

Video duration. Supported values are `4`, `6`, or `10` seconds.

**aspect\_ratio** `string` (default: 16:9)

Video aspect ratio:

* `16:9` landscape
* `9:16` portrait

**resolution** `string` (default: 720p)

Video resolution: `720p` or `1080p`. The legacy channel uses a landscape output for `1080p`.

**image\_urls** `string[]`

Optional public reference image URL array with up to `3` items. Omit it for text-to-video. Base64/data URIs and video inputs are not supported by this channel.

## Response

**id** `string`

Task ID for status polling.

**object** `string`

Object type, usually `generation.task`.

**model** `string`

Model name used for the request.

**status** `string`

Task status: `queued`, `in_progress`, `completed`, or `failed`.

**created\_at** `integer`

Task creation timestamp.

**video\_url** `string`

Generated video URL when the task completes.

## Examples

```bash cURL theme={null}
curl --request POST \
  --url https://toapis.com/v1/videos/generations \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "gemini-omni-flash",
    "prompt": "A blue pump bottle slowly rotates in a clean white studio, commercial product video",
    "duration": 6,
    "aspect_ratio": "9:16",
    "resolution": "720p",
    "image_urls": ["https://example.com/reference.jpg"]
  }'
```

```json 200 theme={null}
{
  "id": "video_01JZEXAMPLE",
  "object": "generation.task",
  "model": "gemini-omni-flash",
  "status": "queued",
  "created_at": 1779247407
}
```

## Query Task

The generation endpoint returns a task ID. Use the common video task status endpoint to fetch status and results:

```bash theme={null}
curl --request GET \
  --url https://toapis.com/v1/videos/generations/{task_id} \
  --header "Authorization: Bearer YOUR_API_KEY"
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.