Generate video

POST /api/v1/generate — the API picks text-to-video or image-to-video from the body.

  • Text-to-video: prompt only
  • Image-to-video: prompt + image_url
  • Multi-image (Veo 3.1 and models with reference mode): reference_image_urls
ParameterRequiredNotes
modelNoflux-3, higgsfield_v1, kling-3, kling-4, kling-4-flash, seedance-25, wan-3, gemini-omni, veo3, veo-31, grok-imagine-1-5, seedance-2, nanobanana-video, ltxv-2, ltxv-13b, veo2, minimax-h3, seedance-2-mini, wan-25
promptYesMax 1000 characters
image_urlNojpg, png, gif, webp — enables I2V
reference_image_urlsNo1–5 URLs for supported models
durationNoSeconds; model- and plan-dependent
resolutionNo480p, 720p, 1080p, 4K if supported
upscaleNo1080p or 4k: the finished clip is upscaled (Lanczos + sharpening, H.264) before delivery, usually in 10 to 60 seconds. 4K is part of the Unlimited plan. Status stays in_progress until the upscaled file is ready. Automatic when resolution is 1080p (or 4k); send "upscale": "none" to turn it off.
aspect_ratioNo16:9, 4:3, 1:1, 9:16 — T2V
seedNo-1 for random
camera_fixedNoboolean
add_audioNoAI SFX overlay when supported
audio_promptNoGuides SFX if add_audio is true
curl -X POST "https://videogenapi.com/api/v1/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"kling-3","prompt":"A cat playing with a ball in a sunny garden","duration":5}'

Upscale to 1080p or 4K

Ask for "resolution": "1080p" and the clip is delivered in 1080p, upscaled when the model renders it smaller. You can also send "upscale": "1080p" (or "4k" on the Unlimited plan) with any model, or "upscale": "none" to keep the native output. When the clip is ready it is upscaled, then status turns completed with the same video_url, now in the higher resolution, and an upscale object (target, status, width, height). Clips already at or above the target are delivered as they are. If the upscale cannot finish, the original clip is delivered with upscale.status: "failed".

curl -X POST "https://videogenapi.com/api/v1/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"seedance-25","prompt":"Slow dolly in on a ceramic mug, morning light","image_url":"https://example.com/mug.jpg","upscale":"1080p"}'

Poll status with the returned id. Hubs: text-to-video, image-to-video.

Reviewed by Enzo Lanne · Founder, VideoGenAPI ·