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.
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_ratio16:9(default) or9:16 - Audio: native, always on
- Modes: text-to-video, image-to-video (
image_urlbecomes 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.7560 for 5s)
- Length: any whole number of seconds from 3 to 15; default 3
- Aspect ratio:
16:9,9:16or1:1for text-to-video; image-to-video follows the image - Modes: text-to-video, image-to-video (pass
image_url) extra: onlycfg_scale(a number from 0 to 1, how closely the clip follows the prompt) is forwarded. Every otherextrafield 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 extrais 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
- POST creates a job and places a hold for
estimated_cost(per-second list rate × duration). - On
succeeded, the hold is finalized as ausagetransaction at the actual cost. - On
failedorexpired, the hold is fully refunded — you only pay for clips you receive.
GET /v1/jobs/{id}: charged_amount is the final billed amount, estimated_cost is what was held up front.
Idempotency
Passidempotency_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
POST /v1/videos/generations— full request/response reference- Image Generation — pay-per-image SKUs on the same async pattern
- Pricing — Video generation — per-second cost table