Cómo usar la API de Gemini Omni: Paso a paso (2026)

Cómo usar la API de Gemini Omni Flash en 15 minutos. Código completo en Python y Node.js para texto a video e imagen a video a través de Atlas Cloud. Precios: desde USD1.00 por clip.

TL;DR: Este tutorial te enseña a usar la API de Gemini Omni Flash para generar vídeos a partir de prompts de texto e imágenes de referencia. Usando la API unificada de Atlas Cloud, tendrás un script de generación de vídeo funcionando en aproximadamente 15 minutos. No se requiere aprobación de cuenta de Google; solo necesitas una clave de API de Atlas Cloud.

La guía de inicio rápido oficial de la API de Gemini de Google no cubre Gemini Omni Flash específicamente. Este tutorial utiliza el endpoint de la API unificada de Atlas Cloud, que proporciona acceso directo a Gemini Omni Flash sin necesidad de una aplicación independiente en Google AI Studio.

terminal de estilo editorial para desarrolladores

Un hilo en r/GeminiAI titulado "Gemini Omni Flash API access: 5 providers tested, ranked by use case" (Acceso a la API de Gemini Omni Flash: 5 proveedores probados, clasificados por caso de uso) apareció hace seis días y rápidamente se convirtió en la referencia principal para los desarrolladores que evalúan sus opciones. El comentario más relevante fue directo al grano: Google AI Studio es la forma más rápida de empezar, pero alcanzas los límites de tasa rápidamente. Los desarrolladores que buscan una ruta lista para producción necesitan un punto de entrada diferente.

Gemini Omni Flash es el modelo de generación de vídeo multimodal de Google que acepta cualquier combinación de texto, imágenes, audio y vídeo como entrada. Genera vídeos cinemáticos de hasta 10 segundos de duración a resoluciones desde 720p hasta 4K. Este tutorial te muestra cómo utilizar la API de Gemini Omni Flash a través de Atlas Cloud, que proporciona un endpoint de API unificado, precios de pago por uso y sin límites de tasa vinculados a una cuenta de Google.

Este tutorial cubre la API de Gemini Omni para 2 modos de generación: Texto a Vídeo e Imagen a Vídeo. Todos los ejemplos de código han sido probados con la API en vivo de Atlas Cloud.

Requisitos previos de la API de Gemini Omni Flash

Necesitarás:

  • Python 3.9+ o Node.js 18+
  • Una cuenta y una clave de API de Atlas Cloud (registro gratuito)
  • La librería
    text
    1requests
    para Python, o
    text
    1axios
    para Node.js
  • Familiaridad básica con APIs REST
  • Aproximadamente 15 minutos para completar el proceso

Probado en: macOS 14, Ubuntu 22.04, Windows 11 (WSL2)

Referencia de precios (fuente: precios de Atlas Cloud, 02-06-2026):

  • 720p / 1080p: USD0.20 base + USD0.10 por segundo. Un vídeo de 8 segundos a 720p cuesta USD1.00.
  • 4K: USD1.00 base + USD0.10 por segundo. Un vídeo de 8 segundos a 4K cuesta USD1.80.

Lo que vamos a construir con la API de Gemini Omni

Al final de este tutorial, tendrás dos scripts funcionales: uno que genera un vídeo a partir de un prompt de texto y otro que anima una imagen de referencia para convertirla en vídeo. Ambos scripts comparten la misma lógica de autenticación y polling (consulta). La arquitectura es sencilla:

plaintext
1Tu Script → API de Atlas Cloud → Gemini Omni Flash → URL del Vídeo
2               (auth + cola)      (generación)       (salida)

Qué hacen los scripts terminados:

  • Envían una solicitud de generación y reciben un
    text
    1prediction_id
  • Consultan el endpoint de estado cada 3 segundos hasta que el vídeo está listo
  • Imprimen la URL del vídeo de salida cuando la generación se completa

Paso 1: Obtén tu clave de API para Gemini Omni Flash

En este paso, crearás una cuenta en Atlas Cloud y generarás una clave de API para que tus scripts puedan autenticarse con la API de Gemini Omni Flash.

  1. Ve a atlascloud.ai y regístrate para obtener una cuenta gratuita.
  2. En el panel de control, navega a API Keys.
  3. Haz clic en Create new key, copia la clave y guárdala de forma segura.

Configura la clave como una variable de entorno para no incluirla directamente en tus scripts:

plaintext
1# macOS / Linux
2export ATLASCLOUD_API_KEY="tu_clave_de_api_aqui"
3
4# Windows (PowerShell)
5$env:ATLASCLOUD_API_KEY="tu_clave_de_api_aqui"

Verifica que esté configurada correctamente:

plaintext
1echo $ATLASCLOUD_API_KEY

Salida esperada:

plaintext
1tu_clave_de_api_aqui

Atención: Nunca subas tu clave de API a un control de versiones. Añade

text
1ATLASCLOUD_API_KEY
a tu archivo
text
1.gitignore
mediante un archivo
text
1.env
si usas
text
1python-dotenv
o
text
1dotenv
para Node.js.

Paso 2: Realiza tu primera solicitud a la API de Gemini Omni Flash

En este paso, enviarás una solicitud de Texto a Vídeo a la API de Gemini Omni Flash y recibirás un

text
1prediction_id
para realizar el seguimiento del trabajo.

El endpoint para toda la generación de vídeo en Atlas Cloud es:

plaintext
1POST https://api.atlascloud.ai/api/v1/model/generateVideo

El identificador del modelo para Gemini Omni Flash (Texto a Vídeo) es:

plaintext
1google/gemini-omni-flash/text-to-video-developer

Python

plaintext
1# gemini_omni_t2v.py
2import requests
3import os
4
5API_KEY = os.environ["ATLASCLOUD_API_KEY"]
6BASE_URL = "https://api.atlascloud.ai/api/v1/model"
7
8headers = {
9    "Content-Type": "application/json",
10    "Authorization": f"Bearer {API_KEY}"
11}
12
13payload = {
14    "model": "google/gemini-omni-flash/text-to-video-developer",
15    "prompt": "A young woman walks slowly through a rainy Tokyo street at night, neon reflections on wet pavement, cinematic slow motion, realistic lighting, 4K, film grain",
16    "duration": 8,          # segundos: 4, 6, 8, o 10
17    "aspect_ratio": "16:9", # "16:9" o "9:16"
18    "resolution": "1080p",  # "720p", "1080p", o "4k"
19    "seed": -1              # -1 para aleatorio; establece un entero para resultados reproducibles
20}
21
22response = requests.post(f"{BASE_URL}/generateVideo", headers=headers, json=payload)
23response.raise_for_status()
24
25prediction_id = response.json()["data"]["id"]
26print(f"Trabajo enviado. Prediction ID: {prediction_id}")

Node.js

plaintext
1// geminiOmniT2V.js
2const axios = require("axios");
3
4const API_KEY = process.env.ATLASCLOUD_API_KEY;
5const BASE_URL = "https://api.atlascloud.ai/api/v1/model";
6
7const headers = {
8  "Content-Type": "application/json",
9  Authorization: `Bearer ${API_KEY}`,
10};
11
12const payload = {
13  model: "google/gemini-omni-flash/text-to-video-developer",
14  prompt:
15    "A young woman walks slowly through a rainy Tokyo street at night, neon reflections on wet pavement, cinematic slow motion, realistic lighting, 4K, film grain",
16  duration: 8,
17  aspect_ratio: "16:9",
18  resolution: "1080p",
19  seed: -1,
20};
21
22axios
23  .post(`${BASE_URL}/generateVideo`, payload, { headers })
24  .then((res) => {
25    const predictionId = res.data.data.id;
26    console.log(`Trabajo enviado. Prediction ID: ${predictionId}`);
27  })
28  .catch((err) => console.error(err.response?.data || err.message));

Salida esperada:

plaintext
1Trabajo enviado. Prediction ID: pred_abc123xyz

Atención: La API devuelve un

text
1prediction_id
inmediatamente. El vídeo aún no está listo. Debes consultar el endpoint de estado en el Paso 3 para recuperar la URL de salida.

Paso 3: Consulta el estado del resultado de Gemini Omni Flash

En este paso, consultarás el endpoint de estado repetidamente hasta que se complete la generación del vídeo y la URL de salida esté disponible.

La generación de vídeo con Gemini Omni Flash es asíncrona. El tiempo de finalización típico es de 30 segundos a 3 minutos, dependiendo de la resolución y la carga del servidor. El endpoint de estado es:

plaintext
1GET https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}

Valores de estado posibles:

text
1processing
,
text
1completed
,
text
1succeeded
,
text
1failed
.

Python

plaintext
1# poll_result.py
2import requests
3import time
4import os
5
6API_KEY = os.environ["ATLASCLOUD_API_KEY"]
7BASE_URL = "https://api.atlascloud.ai/api/v1/model"
8
9headers = {
10    "Authorization": f"Bearer {API_KEY}"
11}
12
13def poll_video(prediction_id: str, timeout: int = 360) -> str:
14    """Consulta hasta que el vídeo esté listo, luego devuelve la URL de salida."""
15    elapsed = 0
16    while elapsed < timeout:
17        response = requests.get(
18            f"{BASE_URL}/prediction/{prediction_id}",
19            headers=headers
20        )
21        response.raise_for_status()
22        data = response.json()["data"]
23        status = data["status"]
24
25        if status in ("completed", "succeeded"):
26            video_url = data["outputs"][0]
27            print(f"Vídeo listo: {video_url}")
28            return video_url
29
30        if status == "failed":
31            raise RuntimeError(f"La generación falló: {data}")
32
33        print(f"Estado: {status} — esperando 3 segundos...")
34        time.sleep(3)
35        elapsed += 3
36
37    raise TimeoutError(f"La generación no se completó en {timeout} segundos.")
38
39# Reemplaza con tu prediction_id real del Paso 2
40video_url = poll_video("pred_abc123xyz")

Node.js

plaintext
1// pollResult.js
2const axios = require("axios");
3
4const API_KEY = process.env.ATLASCLOUD_API_KEY;
5const BASE_URL = "https://api.atlascloud.ai/api/v1/model";
6const headers = { Authorization: `Bearer ${API_KEY}` };
7
8async function pollVideo(predictionId, timeoutMs = 360000) {
9  const start = Date.now();
10  while (Date.now() - start < timeoutMs) {
11    const res = await axios.get(`${BASE_URL}/prediction/${predictionId}`, { headers });
12    const data = res.data.data;
13
14    if (data.status === "completed" || data.status === "succeeded") {
15      console.log("Vídeo listo:", data.outputs[0]);
16      return data.outputs[0];
17    }
18    if (data.status === "failed") throw new Error(`La generación falló: {JSON.stringify(data)}`);
19
20    console.log(`Estado: ${data.status} — esperando 3 segundos...`);
21    await new Promise((r) => setTimeout(r, 3000));
22  }
23  throw new Error("La generación superó el tiempo de espera.");
24}
25
26pollVideo("pred_abc123xyz");

Salida esperada:

plaintext
1Estado: processing — esperando 3 segundos...
2Estado: processing — esperando 3 segundos...
3Vídeo listo: https://storage.atlascloud.ai/outputs/result.mp4

Configura tu intervalo de consulta en 3 segundos en lugar de 1 segundo. Consultar cada segundo añade llamadas innecesarias a la API sin reducir significativamente el tiempo de espera, ya que los trabajos de Gemini Omni Flash raramente se completan en menos de 30 segundos a 1080p.

Atención: Los vídeos de salida se almacenan en los servidores de Atlas Cloud durante 48 horas. Descarga el archivo a tu propio almacenamiento inmediatamente después de la generación si necesitas conservarlo.

Paso 4: Imagen a Vídeo con la API de Gemini Omni Flash

En este paso, subirás una imagen local a Atlas Cloud y la usarás como referencia para la generación de Imagen a Vídeo con la API de Gemini Omni Flash.

La generación de Imagen a Vídeo utiliza el mismo endpoint, pero requiere un ID de modelo diferente y un array de

text
1images
. El identificador del modelo es:

plaintext
1google/gemini-omni-flash/image-to-video-developer

Gemini Omni Flash Image-to-Video acepta de 1 a 7 imágenes de referencia (PNG, JPEG, JPG o WebP; máximo 20 MB cada una, mínimo 128×128 px). Preserva la identidad visual en todo el vídeo generado, manteniendo la consistencia de personajes y objetos.

vídeo que muestra a una persona en movimiento

Paso 4a: Sube tu imagen

plaintext
1# upload_image.py
2import requests
3import os
4
5API_KEY = os.environ["ATLASCLOUD_API_KEY"]
6UPLOAD_URL = "https://api.atlascloud.ai/api/v1/model/uploadMedia"
7
8headers = {"Authorization": f"Bearer {API_KEY}"}
9
10with open("reference.jpg", "rb") as f:
11    response = requests.post(UPLOAD_URL, headers=headers, files={"file": f})
12
13response.raise_for_status()
14image_url = response.json()["data"]["url"]
15print(f"URL de la imagen subida: {image_url}")

Paso 4b: Envía la solicitud de Imagen a Vídeo

plaintext
1# gemini_omni_i2v.py
2import requests
3import os
4
5API_KEY = os.environ["ATLASCLOUD_API_KEY"]
6BASE_URL = "https://api.atlascloud.ai/api/v1/model"
7
8headers = {
9    "Content-Type": "application/json",
10    "Authorization": f"Bearer {API_KEY}"
11}
12
13payload = {
14    "model": "google/gemini-omni-flash/image-to-video-developer",
15    "prompt": "The character walks forward slowly, natural lighting, cinematic depth of field",
16    "images": [image_url],  # utiliza la URL devuelta en el Paso 4a
17    "duration": 8,
18    "aspect_ratio": "16:9",
19    "resolution": "1080p",
20    "seed": -1
21}
22
23response = requests.post(f"{BASE_URL}/generateVideo", headers=headers, json=payload)
24response.raise_for_status()
25
26prediction_id = response.json()["data"]["id"]
27print(f"Trabajo enviado. Prediction ID: {prediction_id}")
28# Luego consulta usando la función poll_video() del Paso 3

Para obtener mejores resultados con Gemini Omni Flash Image-to-Video, utiliza una imagen de referencia limpia, bien iluminada y con un fondo neutro o simple. El modelo preserva los detalles faciales y de vestuario de forma más consistente cuando el sujeto está claramente separado del fondo. Las imágenes con patrones complejos o post-procesamiento intenso tienden a producir resultados inconsistentes entre fotogramas.

Atención: Los formatos de imagen aceptados son solo PNG, JPEG, JPG y WebP. Los archivos superiores a 20 MB serán rechazados con un error 400.

Paso 5: Cambia de modelo con un solo parámetro

Una de las ventajas prácticas de acceder a la API de Gemini Omni a través de Atlas Cloud es que cada modelo de generación de vídeo en la plataforma comparte el mismo endpoint y la misma lógica de consulta. Cambiar de Gemini Omni Flash a otro modelo solo requiere un cambio en el parámetro del modelo.

plaintext
1# Cambiar a Seedance 2.0 Text-to-Video (con un precio de USD0.096/s en Atlas Cloud)
2payload["model"] = "bytedance/seedance-2-0/text-to-video"
3
4# Cambiar a Veo 3.1 Lite
5payload["model"] = "google/veo-3-1/lite-text-to-video"

Esto hace que realizar pruebas A/B entre modelos sea sencillo. Puedes ejecutar el mismo prompt en varios modelos y comparar la calidad de salida antes de comprometerte con un modelo específico para producción.

Solución de problemas de la API de Gemini Omni Flash

Aquí tienes los cinco problemas más comunes al usar la API de Gemini Omni Flash y cómo resolverlos.

ProblemaSíntomaSolución
401 Unauthorized{"error": "Invalid API key"}Verifica que la variable de entorno
text
1ATLASCLOUD_API_KEY
esté configurada y no haya expirado
400 Bad Request{"error": "Invalid prompt"}Es probable que el prompt viole la política de contenido; reformúlalo o elimina contenido restringido
Tarea bloqueada en
text
1processing
No hay estado completado tras 6 minutosReintenta la solicitud; esto es raro, pero puede ocurrir durante picos de carga
URL del vídeo devuelve 404URL ya no accesibleLos archivos de salida expiran tras 48 horas; descarga inmediatamente tras la generación
429 Too Many RequestsLímite de tasa excedidoAñade un retardo entre solicitudes; utiliza "exponential backoff" en los reintentos

¿Sigues atascado? Visita la documentación de Atlas Cloud o contacta a través del canal de soporte de la plataforma.

Próximos pasos

Ahora que tienes scripts de Texto a Vídeo e Imagen a Vídeo funcionando, aquí tienes cómo ampliarlos.

Amplía este proyecto:

  • Añade "Reference-to-Video" con entrada de audio usando Seedance 2.0, que admite hasta 7 imágenes de referencia combinadas con una pista de audio
  • Crea un pipeline de generación por lotes que envíe múltiples prompts en paralelo y recopile los resultados de forma asíncrona
  • Añade un estimador de costes a tu script:
    text
    1coste = 0.20 + (duración * 0.10)
    para 720p/1080p

Recursos relacionados:

Preguntas frecuentes

¿Qué es la API de Gemini Omni Flash?

La API de Gemini Omni Flash es la interfaz de generación de vídeo multimodal de Google que acepta cualquier combinación de texto, imágenes, audio y vídeo como entrada y genera clips de vídeo cinemáticos. Admite duraciones de 4 a 10 segundos, resoluciones de 720p a 4K y relaciones de aspecto tanto horizontal como vertical. Accede a ella a través de Atlas Cloud sin necesidad de un proceso de aprobación independiente de Google.

¿Cuánto cuesta la API de Gemini Omni Flash?

En Atlas Cloud, Gemini Omni Flash tiene un precio de USD0.20 base más USD0.10 por segundo para salidas de 720p y 1080p. Un clip estándar de 8 segundos a 1080p cuesta USD1.00. Para salidas en 4K, la tarifa base es de USD1.00 más USD0.10 por segundo, lo que hace que un clip 4K de 8 segundos cueste USD1.80. Todos los precios son de pago por uso sin gasto mínimo (precios de Atlas Cloud, 02-06-2026).

¿Cuál es la diferencia entre Google AI Studio y Atlas Cloud para acceder a la API de Gemini Omni Flash?

Google AI Studio proporciona acceso directo a los modelos Gemini, pero requiere una cuenta de Google y está sujeto a cuotas de uso individuales que pueden alcanzarse rápidamente. Atlas Cloud proporciona el mismo modelo Gemini Omni Flash a través de un endpoint de API unificado con facturación transparente por segundo, sin colas de aprobación y con acceso a más de 300 modelos adicionales de vídeo e imagen bajo la misma clave de API. Para uso en producción, la API unificada de Atlas Cloud elimina la necesidad de gestionar credenciales separadas por cada proveedor de modelos.

¿Cuánto tarda Gemini Omni Flash en generar un vídeo?

El tiempo de generación típico para un vídeo de 8 segundos a 1080p es de 30 segundos a 3 minutos, dependiendo de la carga del servidor. La API es asíncrona: tu script envía un trabajo y recibe un

text
1prediction_id
inmediatamente, luego consulta el endpoint de estado hasta que el vídeo está listo. Configura tu gestión de tiempo de espera (timeout) con un límite superior de 6 minutos para tener en cuenta los periodos de carga máxima.

¿Puedo usar la API de Gemini Omni Flash gratis?

Atlas Cloud ofrece créditos gratuitos para nuevas cuentas, que puedes aplicar a la generación con Gemini Omni Flash. Una vez agotados los créditos gratuitos, la facturación es de pago por uso sin necesidad de suscripción. Regístrate en atlascloud.ai para empezar.

Modelos recientes

Una sola API para toda la IA multimedia.

Explorar Todos los Modelos

Join our Discord community

Join the Discord community for the latest model updates, prompts, and support.