Skip to main content
POST
/
v1
/
videos
/
generations
POST /v1/videos/generations
curl --request POST \
  --url https://api.geekhub.mx/v1/videos/generations \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "<string>",
  "prompt": "<string>",
  "duration": 123,
  "aspect_ratio": "<string>"
}
'
{
  "id": "<string>",
  "status": "<string>",
  "model": "<string>"
}

Request body

model
string
required
El ID namespaced del modelo, ej. fal/kling-2. Ver Modelos video.
prompt
string
required
Descripción del video. Máximo 4000 caracteres.
duration
integer
Duración en segundos. Si no la mandas, usamos el default del modelo. Cap por modelo (ver catálogo).
aspect_ratio
string
Ratio del video. Ejemplos: 16:9, 9:16, 1:1, 4:5. Soporte depende del modelo.

Response (inmediata, ~100ms)

{
  "id": "e8c96506-72a1-429f-a7ed-4bb0a42541be",
  "object": "video.job",
  "status": "processing",
  "model": "fal/kling-2",
  "prompt": "un astronauta surfeando una ola gigante de salsa verde",
  "video_url": null,
  "duration": 5,
  "error": null,
  "created": 1782415166,
  "completed": null
}
id
string
El job_id. Úsalo para polling.
status
string
Generalmente processing. Raro pero posible failed si la submission al provider explotó.
model
string
El model id que pediste.

Ejemplos

job = client.post("/videos/generations", body={
    "model": "fal/kling-2",
    "prompt": "Un astronauta surfeando una ola gigante de salsa verde, cinematográfico",
    "duration": 5,
    "aspect_ratio": "16:9",
})
print(job["id"])

⚠️ Sobre el costo

Al crear el job NO se cobra todavía. El cobro ocurre cuando el job transita a completed. Si falla, no hay cargo. Cap de seguridad: tu saldo se valida al submit — si está ≤ 0 te devolvemos 402 insufficient_balance antes de crear el job.
Antes de mandar muchos jobs en paralelo, calcula tu cost máximo: duration × precio_modelo × markup × FX. Por ejemplo 10 videos Kling 5s = 10 × 5 × $0.04 × 1.05 × 20 = $42 MXN.

Siguiente paso

GET /v1/videos/{id}

Polea el estado del job hasta que llegue a completed.