Video generation

POST/v1/videos/generations

Create asynchronous video tasks, then retrieve, list, or cancel them.

Video generation is asynchronous. After creation returns a task object, poll by task ID until the status is succeeded, failed, or canceled.

Read the complete video guide for text/image input, backoff polling, and downloads

Create task fields

FieldTypeRequiredDescription
modelstringYesA video model ID returned by /v1/models.
promptstringNoConditional: A text prompt; required when no reference image is provided.
image_urlstringNoConditional: A reference image URL that can satisfy the input requirement without prompt.
image_urlsstring[]NoConditional: Multiple reference image URLs when supported by the model.
negative_promptstringNoA negative prompt when supported by the model.
video_urlstringNoA reference video URL when supported by the model.
audio_urlstringNoA reference audio URL supported by only some video models.
mediaobject[]NoUnified media inputs with type, url, and optional role.
durationintegerNoRequested duration; accepted values and pricing tiers follow model configuration.
ratiostringNoRequested aspect ratio; accepted values depend on the model.
resolutionstringNoRequested resolution; accepted values depend on the model.
prompt_extendbooleanNoRequests prompt expansion when supported by the model.
generate_audiobooleanNoRequests generated audio when supported by the model.
watermarkbooleanNoRequests a watermark when supported by the Provider.
seedintegerNoA random seed when supported by the Provider.
metadataobjectNoCaller-defined metadata.

Create a task

Creation returns a task ID, status, and creation time. Some Providers may return a terminal state immediately; always follow the status field.

curl
curl https://api.noxgate.net/v1/videos/generations \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"model":"YOUR_MODEL_ID","prompt":"A paper airplane crossing a sunlit room","duration":5}'
JSON
{
  "id": "video_task_example",
  "object": "video.generation",
  "model": "YOUR_MODEL_ID",
  "status": "processing",
  "created": 1750000000
}

Retrieve a task

GET/v1/videos/generations/:task_id

Retrieve the latest state by task ID. model can be omitted for a task already recorded by the platform; when supplied, the gateway resolves that model route.

curl
curl "https://api.noxgate.net/v1/videos/generations/video_task_example" \
  -H "Authorization: Bearer sk-your-api-key"
JSON · succeeded
{
  "id": "video_task_example",
  "object": "video.generation",
  "model": "YOUR_MODEL_ID",
  "status": "succeeded",
  "created": 1750000000,
  "result": { "url": "https://provider.example/generated-video.mp4", "duration": 5 }
}

List tasks

GET/v1/videos/generations

The list endpoint requires a model query parameter and accepts optional limit, after, and status filters.

curl
curl "https://api.noxgate.net/v1/videos/generations?model=YOUR_MODEL_ID&limit=20&status=processing" \
  -H "Authorization: Bearer sk-your-api-key"

Cancel a task

DELETE/v1/videos/generations/:task_id

A successful cancellation returns 204 No Content. model can be omitted for a recorded task; cancellation availability depends on its current Provider state.

curl
curl -X DELETE "https://api.noxgate.net/v1/videos/generations/video_task_example" \
  -H "Authorization: Bearer sk-your-api-key"

Task lifecycle

  1. Create the task and retain the id from the response.
  2. Poll the retrieve endpoint; names for non-terminal states can vary by Provider.
  3. succeeded exposes result.url, failed carries error details, and canceled indicates cancellation.
  4. Do not assume a fixed polling interval, processing time, or result URL lifetime.