Saltar al contenido principal
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "gemini-omni-flash-preview",
    "prompt": "a red apple on a wooden table, short cinematic clip",
    "aspect_ratio": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KS1H7ZYSJWH1N779S2FSHTKA"
    }
  ]
}
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "gemini-omni-flash-preview",
    "prompt": "a red apple on a wooden table, short cinematic clip",
    "aspect_ratio": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KS1H7ZYSJWH1N779S2FSHTKA"
    }
  ]
}

Autenticación

Authorization
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:
Authorization: Bearer YOUR_API_KEY

Parámetros de la solicitud

model
string
requerido
Nombre del modelo de generación de video, fijado en gemini-omni-flash-preview.
prompt
string
requerido
Instrucción de texto. Para texto a video es la descripción de la escena; para imagen / video a video es la instrucción de acción / estilo / edición.
prompt y el material de referencia (image_urls / video_urls) deben proporcionarse al menos uno de ellos.
image_urls
array<string>
Imágenes de referencia, máximo 16. Cada elemento es una URL http(s)://.Admite JPEG / PNG. Para varios sujetos (por ejemplo, «gato + ovillo de lana») puede enviar varias imágenes y describir en el prompt cómo interactúan.
video_urls
array<string>
Video de referencia / a editar, máximo 1 (no se admite la referencia a varios videos). Puede ser un enlace directo http(s):// o data:video/....
El video de referencia debe durar de 1 a 24 segundos; la recomendación oficial es ≤3 segundos.
aspect_ratio
string
predeterminado:"16:9"
Relación de aspecto del video, que controla realmente la orientación de la imagen de salida.Solo admite:
  • 16:9 - horizontal (predeterminado)
  • 9:16 - vertical
Otros valores se tratan como 16:9.
resolution
string
predeterminado:"720p"
Resolución del video. Actualmente solo admite 720p.
extend_from_task_id
string
ID de la tarea anterior: introduzca el ** task_id** de la tarea de generación anterior.

Respuesta

code
integer
Código de estado de la respuesta. En caso de éxito es 200.
data
array
Array de tareas devuelto.

Consultar el resultado de la tarea

La generación de video es una tarea asíncrona. Tras el envío se devuelve un task_id. Use el endpoint Obtener estado de la tarea para consultar el progreso y el resultado de la generación.

Ejemplo de resultado exitoso

{
  "code": 200,
  "data": {
    "id": "task_01KS1H7ZYSJWH1N779S2FSHTKA",
    "status": "completed",
    "progress": 100,
    "created": 1779246294,
    "completed": 1779246334,
    "actual_time": 40,
    "estimated_time": 60,
    "cost": 1.0,
    "credits_cost": 10,
    "result": {
      "videos": [
        {
          "url": ["https://cdn.example.com/gemini_omni_xxx.mp4"],
          "expires_at": 1779332760
        }
      ]
    }
  }
}

Casos de uso

Escenario 1: Texto a video

{
  "model": "gemini-omni-flash-preview",
  "prompt": "a blue butterfly landing on a flower, macro, soft light",
  "aspect_ratio": "9:16"
}

Escenario 2: Imagen a video

{
  "model": "gemini-omni-flash-preview",
  "prompt": "turn this drawing into realistic footage, use it only as a motion guide",
  "image_urls": ["https://example.com/sketch.jpg"]
}

Escenario 3: Video a video

{
  "model": "gemini-omni-flash-preview",
  "prompt": "when the person touches the mirror, make it ripple like liquid",
  "video_urls": ["https://example.com/clip.mp4"]
}