Skip to main content
Three video models are served today: veo-3.1-fast, kling-3-pro and kling-avatar-v2-pro. The other video ids that used to be listed (kling-2.5-pro, kling-3-pro-audio, seedance-2-pro, seedance-2-fast, veo-3-fast, veo-3, the hailuo-02-* family) are still paused and return 404 model_not_found. Check GET /v1/models for what is live. Billing is per second of generated footage.
The endpoint is asynchronous. POST returns 202 with a job_id immediately; poll GET /v1/jobs/{job_id} until status is succeeded.

Pick a model

veo-3.1-fast and kling-3-pro accept image_url for image-to-video; kling-avatar-v2-pro requires it. Live canonical source: GET /v1/pricing.

veo-3.1-fast

Google Veo 3.1 Fast. 720p video with native audio: dialogue, ambient sound and lip-sync, including spoken Vietnamese. Use it when the clip needs to talk.
  • Cost: $0.135 / sec, times the clip length
  • Durations: 4, 6 or 8 seconds (default 4; other values snap down to the nearest of these)
  • Resolution: 720p, aspect_ratio 16:9 (default) or 9:16
  • Audio: native, always on
  • Modes: text-to-video, image-to-video (image_url becomes the first frame)
  • Best for: talking heads, social clips with dialogue, scenes with diegetic sound

kling-3-pro

Flagship Kling. Photoreal humans, smooth motion. Use it for hero shots and premium brand video where the quality needs to stand up at full screen. Clips are silent.
  • Cost: 0.1512/sec(0.1512 / sec (0.7560 for 5s)
  • Length: any whole number of seconds from 3 to 15; default 3
  • Aspect ratio: 16:9, 9:16 or 1:1 for text-to-video; image-to-video follows the image
  • Modes: text-to-video, image-to-video (pass image_url)
  • extra: only cfg_scale (a number from 0 to 1, how closely the clip follows the prompt) is forwarded. Every other extra field is ignored, so a job always runs the shape it was priced and checked for.
  • Best for: hero brand video, character and face shots, premium cinematic

kling-avatar-v2-pro

Photo + audio → lip-synced clip. Send one portrait and one speech or song track. The face lip-syncs to the audio, the audio plays through unchanged, and the clip runs exactly as long as the audio.
  • Cost: $0.15525 per second of the finished clip
  • Billed on the real clip length: the hold is duration_s + 1 second at that rate; on success you are charged the clip’s actual length and the rest of the hold comes back
  • Refused before any charge: audio that is not PCM WAV, is shorter than 5 s, or whose WAV header does not match its bytes; the job fails and the hold is refunded in full
  • Longer audio is cut: anything past duration_s (plus 0.25 s for encoder padding) is dropped before generation
  • extra is ignored by this model
  • Likeness and voice: you must have the right to use the likeness and voice of the person in the image and the audio (see the Acceptable Use Policy)

Image-to-video (I2V)

veo-3.1-fast and kling-3-pro accept an image_url. When present, the image becomes the first frame and the prompt drives the motion.

Billing flow

  1. POST creates a job and places a hold for estimated_cost (per-second list rate × duration).
  2. On succeeded, the hold is finalized as a usage transaction at the actual cost.
  3. On failed or expired, the hold is fully refunded — you only pay for clips you receive.
You can verify the charge on GET /v1/jobs/{id}: charged_amount is the final billed amount, estimated_cost is what was held up front.

Idempotency

Pass idempotency_key to make POST safe to retry. The same (api_key, idempotency_key) pair always returns the same job — no duplicate charges, no duplicate generations.

See also