Saltar al contenido principal
POST

Autenticación

string
requerido
Todas las solicitudes requieren autenticación mediante Bearer Token.Obtener una API key:Visite la página de gestión de API Keys para obtener su API key.Añada el siguiente encabezado al realizar solicitudes:

Parámetros de la solicitud

string
requerido
Nombre del modelo de generación de video. Siempre gemini-omni-1.2-flash-ext.
string
requerido
Descripción del video o instrucción de edición. No puede quedar vacío tras eliminar los espacios al inicio y al final. En texto a video, describa la escena, los personajes, las acciones, la cámara y el sonido; con imágenes o video, describa el movimiento, el estilo o los cambios deseados.Ejemplo: "Aerial shot over a misty mountain lake at sunrise."
prompt es obligatorio en todos los modos, incluidos primer fotograma, referencia con varias imágenes, edición y extensión. Si falta, se devuelve un error 400.
integer
predeterminado:"10"
Duración del video en segundos. Debe ser un número entero.
  • Texto a video / primer fotograma / referencia con varias imágenes: duración de salida, 3–15
  • Primer y último fotograma: duración de salida, 3–10
  • Extensión (extend): duración del fragmento añadido, 3–10
  • Edición (edit): no debe enviarse; la duración de salida sigue la del video de origen
También se acepta el alias seconds. Si se envían ambos, sus valores deben coincidir.
Enviar duration en modo de edición devuelve el error video edit does not accept duration.
string
predeterminado:"720p"
Resolución del video, sin distinguir mayúsculas y minúsculas. Determina el precio por segundo.Valores admitidos:
  • 360p
  • 720p
  • 1080p
  • 4k (también se acepta 2160p)
Cualquier otra resolución devuelve un error 400.
string
predeterminado:"16:9"
Solo se admiten 16:9 (horizontal, predeterminado) y 9:16 (vertical); otros valores devuelven un error 400.
string
Tipo de tarea, que indica cómo se usa el material de entrada.Valores admitidos:
  • edit - Editar un video; se usa con video_urls o extend_from_task_id
  • extend - Extender un video añadiendo contenido nuevo al final; se usa con video_urls o extend_from_task_id
  • reference - Referencia con varias imágenes; se usa con image_urls
  • text_to_video / image_to_video / reference_to_video - Texto a video / primer fotograma / imágenes de referencia
  • auto - Se determina automáticamente según la entrada; con video se trata como edit
Es opcional cuando no hay video; el modo se determina automáticamente según la entrada.
Al enviar video_urls o extend_from_task_id, el tipo de tarea es obligatorio (omni_reference_task_type, o el campo compatible generation_type); si se omite, se devuelve un error 400. Se recomienda enviar explícitamente edit o extend; auto se trata como edit.
string
Campo de compatibilidad, equivalente a omni_reference_task_type. Valores admitidos: frame (igual que image_to_video), reference, edit, extend.
generation_type y omni_reference_task_type no pueden enviarse juntos.
array<url>
Array de imágenes de referencia para la referencia con varias imágenes (personajes, productos, estilos, etc.). Admite de 1 a 10 imágenes.Solo se admiten URL de imagen HTTP/HTTPS de acceso público. Suba primero las imágenes locales para obtener una URL pública y luego envíe esa URL; las Data URL Base64 no se admiten actualmente y devuelven un error 400.Si solo se envía 1 imagen, su uso depende del tipo de tarea:
  • omni_reference_task_type omitido: se usa como imagen de referencia
  • omni_reference_task_type es auto o image_to_video: se usa como primer fotograma
Para generar a partir del primer fotograma, use directamente first_frame_image en lugar de depender del número de imágenes.
image_urls no puede enviarse junto con first_frame_image ni con last_frame_image, y las imágenes de image_urls nunca se tratan como primer fotograma; tampoco se pueden enviar imágenes al editar o extender.
string
Imagen del primer fotograma: el primer fotograma del video generado será esta imagen. Solo se admiten URL de imagen HTTP/HTTPS de acceso público; no se admiten Data URL Base64.Si se envía junto con last_frame_image, se genera un video a partir del primer y último fotograma.
string
Imagen del último fotograma, para la generación a partir del primer y último fotograma: el video pasa del primer fotograma a esta imagen. Solo se admiten URL de imagen HTTP/HTTPS de acceso público; no se admiten Data URL Base64.En el modo de primer y último fotograma:
  • duration admite 3–10; 10 segundos si se omite
  • No se pueden enviar system_prompt ni negative_prompt
last_frame_image debe enviarse junto con first_frame_image; enviar solo el último fotograma devuelve el error last_frame_image requires first_frame_image. No puede enviarse junto con image_urls.
array<object>
Array de imágenes con roles, forma equivalente de first_frame_image / last_frame_image / image_urls.
array<url>
Array con el video que se va a editar o extender; solo se admite 1 video. También puede usar el campo de valor único video_url; envíe solo uno de los dos.Solo se admiten URL de video HTTP/HTTPS de acceso público. Formato MP4 / MOV / WebM, hasta 15 segundos y 64 MB.
Al enviar video_urls, el tipo de tarea es obligatorio; se recomienda establecer omni_reference_task_type en edit o extend (auto se trata como edit). Si se omite, se devuelve un error 400. Enviar 2 o más videos devuelve un error 400.
string
ID de tarea de esta plataforma (task_01…). Permite seguir editando o extendiendo una de sus tareas gemini-omni-1.2-flash-ext ya completadas sin volver a subir el video.Requisitos:
  • La tarea pertenece a la cuenta actual
  • El modelo de la tarea es gemini-omni-1.2-flash-ext
  • El estado de la tarea es completed
  • El canal que generó la tarea original sigue disponible; de lo contrario, se devuelve 503 source_channel_unavailable
  • El video original dura como máximo 15 segundos (se aplica tanto a la edición como a la extensión); en modo de edición, además, su duración debe poder determinarse
Si el canal no está disponible o no se puede determinar la duración del video original, descargue el video original y súbalo mediante video_urls. Si el video original dura más de 15 segundos, recórtelo a 15 segundos como máximo antes de subirlo.
extend_from_task_id no puede enviarse junto con video_urls, y el tipo de tarea es obligatorio; se recomienda establecer omni_reference_task_type en edit o extend (auto se trata como edit).
string
Contenido que no desea que aparezca en el video.Ejemplo: "people, cars, color"
No se puede enviar negative_prompt en el modo de primer y último fotograma.
string
Instrucción del sistema, por ejemplo para fijar el estilo visual o prohibir texto en pantalla. Debe ser una cadena.Ejemplo: "Render as a black-and-white silent film."
No se puede enviar system_prompt en el modo de primer y último fotograma.

Respuesta

integer
Código de estado de la respuesta. Las solicitudes exitosas devuelven 200.
array
Array de tareas devuelto.

Consultar el resultado de la tarea

La generación de video es asíncrona. Tras el envío se devuelve un task_id. Use la API Obtener estado de la tarea para consultar el progreso y el resultado.
cURL
Consulte cada 5-10 segundos y configure el tiempo de espera del cliente en al menos 10 minutos. Tiempos de generación orientativos (incluida la cola): unos 46 segundos para un video de 15 segundos en 360p, unos 99 segundos para 15 segundos en 1080p y unos 4-5 minutos para 15 segundos en 4k. Durante la generación, el progreso puede quedarse en 10% durante bastante tiempo hasta completarse.

Ejemplo de resultado exitoso

La URL del video es data.result.videos[0].url[0]. data.actual_time es el tiempo de procesamiento de la tarea en segundos, no la duración del video. La salida es MP4 (H.264, 24fps) con pista de audio AAC y marca de agua invisible SynthID; en 4k, ocasionalmente no hay pista de audio.

Ejemplo de resultado fallido

Las tareas fallidas se reembolsan íntegramente.

Facturación

Facturación por segundo: costo = precio por segundo de la resolución elegida × segundos facturados. Todos los modos se facturan según el nivel de resolución solicitado. Consulte la página de precios para conocer los precios reales.

Casos de uso

Escenario 1: Texto a video

Escenario 2: Video a partir del primer fotograma

Escenario 3: Video a partir del primer y último fotograma

En el modo de primer y último fotograma, duration admite de 3 a 10 segundos (10 segundos si se omite) y no se pueden enviar system_prompt / negative_prompt.

Escenario 4: Referencia con varias imágenes

Escenario 5: Edición de video

No envíe duration al editar; la duración de salida sigue la del video de origen.

Escenario 6: Extensión de video

Escenario 7: Extender una tarea existente

Escenario 8: Instrucción del sistema y prompt negativo