Skip to main content
POST
POST /v1/videos/generations

Request body

string
required
The namespaced model ID, e.g. fal/kling-3-pro. See Video models.
string
required
Video description. Maximum 4000 characters.
integer
Duration in seconds. If you don’t send it, we use the model default. Per-model cap (see catalog).
string
Video ratio. Examples: 16:9, 9:16, 1:1, 4:5. Support depends on the model.

Response (immediate, ~100ms)

string
The job_id. Use it for polling.
string
Usually processing. Rare but possible failed if the submission to the provider blew up.
string
The model id you requested.

Examples

⚠️ About cost

When you create the job you are NOT charged yet. The charge happens when the job transitions to completed. If it fails, there’s no charge. Safety cap: your balance is validated at submit — if it’s ≤ 0 we return 402 insufficient_balance before creating the job.
Before sending many jobs in parallel, compute your max cost: duration × model_price × markup × FX. Example: 10 Kling 5s videos = 10 × 5 × $0.04 × 1.05 × 20 = $42 MXN.

Next step

GET /v1/videos/{id}

Poll the job status until it reaches completed.