Skip to main content
POST
/
api
/
v1
/
video
curl --request POST \
  --url https://ninjachat.ai/api/v1/video \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "prompt": "A golden retriever running in a sunny park"
}
'
{
  "request_id": "<string>",
  "model": "seedance-2",
  "message": "Poll GET /api/v1/video/status?request_id=... for completion.",
  "cost": {
    "this_request": "$3.00",
    "per_video": "$3.00"
  },
  "balance": "$39.00",
  "metadata": {
    "latency_ms": 123
  }
}

Authorizations

Authorization
string
header
required

API key starting with nj_sk_

Body

application/json
prompt
string
required

Text description of the video to generate. Cannot be empty or whitespace-only.

Required string length: 1 - 4000
model
enum<string>
default:seedance-2

Video model to use. $5.00/video: runway-gen4.5 (Runway flagship), veo-3.1 (Google best quality). $3.00/video: seedance-2 (longest clips, 5–15s), kling-video (motion quality, 5–10s), google-veo-2 (fastest, ~40s), veo-3.1-fast (speed-optimized, 4/6/8s), google-veo-3-fast (budget Veo, 4/6/8s), runway-gen4-turbo (fast image-to-video, requires image_url).

Available options:
seedance-2,
kling-video,
google-veo-2,
veo-3.1,
veo-3.1-fast,
google-veo-3-fast,
runway-gen4.5,
runway-gen4-turbo
duration
integer
default:8

Video length in seconds. Seedance 2: 5–15. Kling: 5–10. Veo 2: 5–8. Veo 3.1 / Veo 3.1 Fast: 4, 6, or 8.

Required range: 4 <= x <= 15
aspect_ratio
enum<string>
default:16:9

Aspect ratio. 16:9 for landscape, 9:16 for portrait. Supported by Veo and Kling models. Ignored for Seedance 2.

Available options:
16:9,
9:16
image_url
string<uri>

Public URL of a reference image for image-to-video generation. Must be an HTTP or HTTPS URL. Omit for text-to-video.

Response

Video generation job accepted.

request_id
string

Unique job identifier. Use this to poll the status endpoint.

model
enum<string>

The model used for this generation.

Available options:
seedance-2,
kling-video,
google-veo-2,
veo-3.1,
veo-3.1-fast,
google-veo-3-fast,
runway-gen4.5,
runway-gen4-turbo
message
string
Example:

"Poll GET /api/v1/video/status?request_id=... for completion."

cost
object
balance
string

Remaining credit balance after this charge.

Example:

"$39.00"

metadata
object