Create a video job

Submit an async video job. Poll GET /videos/{id}, or register a signed webhook (POST /webhooks or https://www.ninjachat.ai/developers/webhooks) for video.completed / video.failed.

post/videos

Request

  • Base URL: https://www.ninjachat.ai/api/v1
  • URL: https://www.ninjachat.ai/api/v1/videos
  • Auth: HTTP bearer

Headers

Idempotency-Keystring

Safely retry the same logical write without duplicate billing or execution.

Request body

promptstring required
model'nova-reel' | 'runway-gen4.5' | 'flux-3-video' | 'minimax-h3' | 'hailuo-2.3' | 'hailuo-2.3-fast' | 'happyhorse-1.1' | 'ray-3.2' | 'seedance-2.5' | 'seedance-2' | 'seedance-2.0-fast' | 'seedance-2-mini' | 'seedance-2.0' | 'seedance-1.5-pro' | 'seedance-lite' | 'seedance-pro' | 'grok-imagine-video' | 'grok-imagine-video-1.5' | 'kling-2.5-turbo' | 'kling-3' | 'kling-3-pro' | 'kling-3-turbo' | 'kling-3-omni' | 'wan-2.7' | 'wan-2.7-i2v' | 'wan-2.7-r2v' | 'wan-2.6' | 'wan-2.6-i2v' | 'wan-2.2-t2v-a14b' | 'fast-wan-2.2' | 'fast-wan-qad' | 'pruna-p-video' | 'pixverse-6' | 'pixverse-6-i2v' | 'cosmos-3-nano' | 'cosmos-3-super' | 'vidu-q3' | 'veo-3.1' | 'veo-3.1-fast' | 'gemini-omni-flash' | 'kling-video' | 'google-veo-2' | 'google-veo-3-fast' | 'google-veo-3.1' | 'google-veo-3.1-fast' | 'google-veo' | 'seedance-2-video' | 'seedance-video'
durationinteger
aspect_ratio'16:9' | '9:16' | '1:1'
image_urlstring uri
end_image_urlstring uri
reference_imagesstring[]
reference_videostring uri
reference_audiostring uri
generate_audioboolean
negative_promptstring
watermarkboolean
video_idstring

Revise a finished clip in place instead of starting from scratch: the id returned by POST /videos. The prompt then describes the change (task edit, the default) or what happens next (task extend). Only gemini-omni-flash clips can be revised, and model must match the clip; leave model out to inherit it.

task'edit' | 'extend'

With video_id: edit keeps the clip's length and changes its content; extend appends duration seconds (3–10) of new footage, up to 40 seconds total. Defaults to edit.

Response

Queued video job.

balancestring
messagestring
idstring required
object'video' required
status'queued' required
modelstring required
cost_usdnumber required
request_idstring required
trace_request_idstring

Original request receipt ID, also returned in X-Request-ID. Use id or request_id to poll the video job.

Changes

No recorded changes to this operation across all 1 revision of this API.