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

# Gemini Omni Flash 1.1 Reference to Video

> Gemini Omni Flash 1.1 R2V is APIPod's reference-to-video mode for Gemini Omni Flash 1.1, using 1-7 reference images to keep subject and visual consistency.



## OpenAPI

````yaml api-reference/openapi/gemini-omni-flash-1.1--gemini-omni-flash-1.1-r2v.yaml POST /v1/videos/generations
openapi: 3.1.0
info:
  title: Gemini Omni Flash 1.1 Reference to Video API
  version: 1.0.0
  description: >-
    Gemini Omni Flash 1.1 R2V is APIPod's reference-to-video routing mode for
    the Gemini Omni Flash 1.1 channel. It uses one to seven reference images to
    guide subject and visual consistency. In APIPod, the public model ID is
    gemini-omni-flash-1.1-r2v. It supports image-to-video, accepts text and
    image inputs, and returns results through asynchronous video tasks.
servers:
  - url: https://api.apipod.ai
    description: Production
security: []
paths:
  /v1/videos/generations:
    post:
      tags:
        - Gemini Omni Flash 1.1 Reference to Video
      summary: Create Generation Task
      description: >-
        Gemini Omni Flash 1.1 R2V is APIPod's reference-to-video routing mode
        for the Gemini Omni Flash 1.1 channel. It uses one to seven reference
        images to guide subject and visual consistency. In APIPod, the public
        model ID is gemini-omni-flash-1.1-r2v. It supports image-to-video,
        accepts text and image inputs, and returns results through asynchronous
        video tasks.
      operationId: create-gemini-omni-flash-1.1-gemini-omni-flash-1.1-r2v
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              title: Gemini Omni Flash 1.1 Reference to Video
              properties:
                model:
                  type: string
                  title: Model ID
                  description: Public APIPod model ID.
                  const: gemini-omni-flash-1.1-r2v
                prompt:
                  type: string
                  title: Prompt
                  maxLength: 20000
                image_urls:
                  type: array
                  title: Reference images
                  items:
                    type: string
                duration:
                  type: integer
                  title: Duration
                  description: Output video duration in seconds (4, 6, 8 or 10).
                  enum:
                    - 4
                    - 6
                    - 8
                    - 10
                  default: 10
                aspect_ratio:
                  type: string
                  title: Aspect Ratio
                  enum:
                    - '16:9'
                    - '9:16'
                  default: '16:9'
                resolution:
                  type: string
                  title: Resolution
                  enum:
                    - 360p
                    - 720p
                    - 1080p
                    - 4k
                  default: 720p
              required:
                - model
                - prompt
                - image_urls
            example:
              model: gemini-omni-flash-1.1-r2v
              prompt: >-
                A cinematic tracking shot through a rain-soaked neon street,
                realistic motion, synchronized ambient sound.
              image_urls:
                - https://cdn.example.com/reference-1.jpg
              duration: 10
              aspect_ratio: '16:9'
              resolution: 720p
      responses:
        '200':
          description: Task accepted
          content:
            application/json:
              schema:
                type: object
                title: Task Submit Response
                description: Standard response for task submission
                properties:
                  code:
                    type: integer
                  data:
                    type: object
                    title: Task Submit Data
                    description: Data content for task submission
                    properties:
                      task_id:
                        type: string
                        description: generatation task id
                  message:
                    type: string
                required:
                  - code
                  - message
                  - data
              example:
                code: 200
                message: success
                data:
                  task_id: vid_task_01JEXAMPLE
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: Shell
          label: cURL
          source: |-
            curl https://api.apipod.ai/v1/videos/generations \
              -H "Authorization: Bearer $APIPOD_API_KEY" \
              -H "Content-Type: application/json" \
              -d '{
              "model": "gemini-omni-flash-1.1-r2v",
              "prompt": "A cinematic tracking shot through a rain-soaked neon street, realistic motion, synchronized ambient sound.",
              "image_urls": [
                "https://cdn.example.com/reference-1.jpg"
              ],
              "duration": 10,
              "aspect_ratio": "16:9",
              "resolution": "720p"
            }'
        - lang: Python
          label: Python
          source: |-
            import os
            import requests

            payload = {
              "model": "gemini-omni-flash-1.1-r2v",
              "prompt": "A cinematic tracking shot through a rain-soaked neon street, realistic motion, synchronized ambient sound.",
              "image_urls": [
                "https://cdn.example.com/reference-1.jpg"
              ],
              "duration": 10,
              "aspect_ratio": "16:9",
              "resolution": "720p"
            }

            response = requests.post(
                "https://api.apipod.ai/v1/videos/generations",
                headers={
                    "Authorization": f"Bearer {os.environ['APIPOD_API_KEY']}",
                    "Content-Type": "application/json",
                },
                json=payload,
                timeout=60,
            )
            response.raise_for_status()
            print(response.json())
        - lang: Go
          label: Go
          source: |-
            package main

            import (
                "bytes"
                "encoding/json"
                "fmt"
                "net/http"
                "os"
            )

            func main() {
                payload := map[string]any{}
                if err := json.Unmarshal([]byte(`{
              "model": "gemini-omni-flash-1.1-r2v",
              "prompt": "A cinematic tracking shot through a rain-soaked neon street, realistic motion, synchronized ambient sound.",
              "image_urls": [
                "https://cdn.example.com/reference-1.jpg"
              ],
              "duration": 10,
              "aspect_ratio": "16:9",
              "resolution": "720p"
            }`), &payload); err != nil {
                    panic(err)
                }
                body, err := json.Marshal(payload)
                if err != nil {
                    panic(err)
                }

                req, err := http.NewRequest(http.MethodPost, "https://api.apipod.ai/v1/videos/generations", bytes.NewReader(body))
                if err != nil {
                    panic(err)
                }
                req.Header.Set("Authorization", "Bearer "+os.Getenv("APIPOD_API_KEY"))
                req.Header.Set("Content-Type", "application/json")

                resp, err := http.DefaultClient.Do(req)
                if err != nil {
                    panic(err)
                }
                defer resp.Body.Close()
                fmt.Println(resp.Status)
            }
        - lang: Rust
          label: Rust
          source: |-
            use reqwest::Client;
            use serde_json::json;
            use std::env;

            #[tokio::main]
            async fn main() -> Result<(), Box<dyn std::error::Error>> {
                let payload = json!({
              "model": "gemini-omni-flash-1.1-r2v",
              "prompt": "A cinematic tracking shot through a rain-soaked neon street, realistic motion, synchronized ambient sound.",
              "image_urls": [
                "https://cdn.example.com/reference-1.jpg"
              ],
              "duration": 10,
              "aspect_ratio": "16:9",
              "resolution": "720p"
            });
                let response = Client::new()
                    .post("https://api.apipod.ai/v1/videos/generations")
                    .bearer_auth(env::var("APIPOD_API_KEY")?)
                    .json(&payload)
                    .send()
                    .await?
                    .error_for_status()?;

                println!("{}", response.text().await?);
                Ok(())
            }
        - lang: JavaScript
          label: JavaScript
          source: >-
            const response = await
            fetch("https://api.apipod.ai/v1/videos/generations", {
              method: "POST",
              headers: {
                Authorization: `Bearer ${process.env.APIPOD_API_KEY}`,
                "Content-Type": "application/json",
              },
              body: JSON.stringify(
              {
                "model": "gemini-omni-flash-1.1-r2v",
                "prompt": "A cinematic tracking shot through a rain-soaked neon street, realistic motion, synchronized ambient sound.",
                "image_urls": [
                  "https://cdn.example.com/reference-1.jpg"
                ],
                "duration": 10,
                "aspect_ratio": "16:9",
                "resolution": "720p"
              }
              ),
            });


            if (!response.ok) {
              throw new Error(`APIPod request failed: ${response.status} ${await response.text()}`);
            }


            console.log(await response.json());
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: APIPod API key
      description: Use your APIPod API key as a Bearer token in the Authorization header.

````