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

# Gemini Omni Flash 1.2 Video Edit

> Edit up to 15 seconds of an existing video with Google's Gemini Omni 1.2 Flash. See supported inputs, parameters, billing, response fields, and API examples.

Edit an existing uploaded video with Google's Gemini Omni 1.2 Flash. Provide exactly one source video URL in `reference_video_urls` and an edit instruction. The edited window can be up to 15 seconds long (1.1 allowed 10), and edits are billed like generations, by the length of the edited window. The request body is the same as [Gemini Omni Flash 1.1 Video Edit](https://docs.unifically.com/models/video/google/gemini-omni-flash-1.1-video-edit.md).

Try it in the browser: [Gemini Omni Flash 1.2 API page](https://unifically.com/models/gemini-omni-flash-1.2).

## Model

```text theme={null}
google/gemini-omni-flash-1.2-video-edit
```

## Parameters

| Parameter | Type | Required | Default | Description |
| - | - | - | - | - |
| `reference_video_urls` | string\[] | Yes | - | Publicly reachable source video URL. Must contain exactly one URL. Uploaded source videos must meet the limits below. |
| `prompt` | string | Yes | - | Edit instruction. Use `@Video1` to refer to the source video and `@ImageN`/`@CharacterN` for extra references. |
| `reference_image_urls` | string\[] | No | - | Publicly reachable image URLs used as edit references. Max 5. |
| `reference_characters` | array | No | - | Character references for the edit. Max 3 character items. Each character may include 1-10 `image_urls` and a per-character `voice` or `custom_voice`. See [available voices](https://docs.unifically.com/api-reference/resources.md#get-google-veo-voices). |
| `seed` | integer | No | Random | Seed for reproducible results, `0` to `2147483647`. If omitted, a seed is generated automatically and returned when available. |
| `start_frame` | integer | No | `0` | First source frame index included in the edit window. |
| `end_frame` | integer | No | Source end | Last source frame index included in the edit window. If omitted, the service uses the detected final frame when available. The window from `start_frame` to `end_frame` can be up to 15 seconds. |
| `aspect_ratio` | string | No | Source shape | Output orientation. Allowed: `"16:9"`, `"9:16"`. If omitted, the output keeps the source video's shape: a portrait source returns `"9:16"`, anything else `"16:9"`. |
| `resolution` | string | No | `"720p"` | Output resolution. Allowed: `"360p"`, `"720p"`, `"1080p"`, `"4k"`. `"360p"` and `"720p"` generate natively. With `"1080p"` or `"4k"`, the edited video is upscaled after generation as part of the same task. |
| `allow_audio_filtered` | boolean | No | `false` | When `true`, the generation runs without audio instead of failing when the audio track is filtered. |
| `nsfw_check` | boolean | No | `false` | Check the prompt and input images for NSFW content before generating. Off unless set to `true` |

## Billing

An edit costs the same as a [generation](https://docs.unifically.com/models/video/google/gemini-omni-flash-1.2-video.md) of the same length at the same resolution. The length is the edited window (`start_frame` to `end_frame`), rounded up to whole seconds, with a 3 second minimum. Editing 7.2 seconds at 720p costs the same as generating an 8 second 720p clip. See current rates on the [pricing page](https://unifically.com/pricing).

## Limits

| Limit | Value |
| - | - |
| Video references | 1 |
| Reference images | 5 |
| Character references | 3 |
| Edited window | Up to 15 seconds |
| Uploaded source video size | Up to 1 GB |
| Uploaded source video length | Up to 30 seconds |

## Character References

Each character must be an object with `image_urls`. Even one-image characters must use an array. Add a preset `voice` or a tuned `custom_voice` per character.

```json theme={null}
{
  "image_urls": [
    "https://example.com/character.png"
  ],
  "name": "Ada",
  "description": "warm, sharp, curious",
  "custom_voice": {
    "voice": "achernar",
    "name": "Ada voice",
    "voice_performance": "calm, bright, expressive",
    "sample_dialogue": "Hello, I am Ada."
  }
}
```

| Field | Type | Required | Description |
| - | - | - | - |
| `image_urls` | string\[] | Yes\* | Publicly reachable character image URLs. Use 1-10 images for a character entity. |
| `name` | string | No | Display name for the character. |
| `description` | string | No | Character notes/personality text. |
| `voice` | string | No | Preset voice for this character. Do not combine with `custom_voice` on the same character. |
| `custom_voice` | object | No | Tuned voice config: `voice` (base preset), `name`, `voice_performance`, and `sample_dialogue` (max 120 characters) are required; `speaker` is optional. |

\*`image_urls` must contain at least one URL.

## Example — Edit Part of a Clip

```bash theme={null}
curl -X POST https://api.unifically.com/v1/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "google/gemini-omni-flash-1.2-video-edit",
    "input": {
      "reference_video_urls": [
        "https://example.com/source-video.mp4"
      ],
      "prompt": "Make @Video1 look like it was filmed underwater.",
      "start_frame": 0,
      "end_frame": 288,
      "resolution": "720p"
    }
  }'
```

## Prompt References

| Token | Refers to |
| - | - |
| `@Video1` | The source video |
| `@Image1`, `@Image2` | Items from `reference_image_urls` only |
| `@Character1`, `@Character2` | Items from `reference_characters` only |

## Rejected Combinations

| Input | Why rejected |
| - | - |
| Missing, empty, or more than one `reference_video_urls` item | An edit needs exactly one source video URL. |
| Edited window longer than 15 seconds | Edit window limit. |
| `end_frame` lower than `start_frame` | The frame range must move forward. |
| More than 5 `reference_image_urls` | Edit reference image limit. |
| More than 3 character items | Character item limit. |
| `image_url` on a character, or plain string character entries | Characters must be objects with `image_urls`. |
| `voice` and `custom_voice` on the same character | Use a preset voice or a tuned voice, not both. |

## Response

```json theme={null}
{
  "code": 200,
  "success": true,
  "data": {
    "task_id": "abc123def456",
    "status": "processing"
  }
}
```

> [!NOTE]
>
> **Volume discounts** are available for almost all models. Reach out at [contact@unifically.com](mailto:contact@unifically.com) to discuss custom pricing.


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