Generate video
POST /api/v1/generate — the API picks text-to-video or image-to-video from the body.
- Text-to-video:
promptonly - Image-to-video:
prompt+image_url - Multi-image (Veo 3.1 and models with reference mode):
reference_image_urls
| Parameter | Required | Notes |
|---|---|---|
| model | No | sora-2, flux-3, higgsfield_v1, kling-3, seedance-25, gemini-omni, veo3, veo-31, grok-imagine-1-5, seedance-2, nanobanana-video, ltxv-2, ltxv-13b, veo2, hailuo-3, seedance-2-mini, wan-25 |
| prompt | Yes | Max 1000 characters |
| image_url | No | jpg, png, gif, webp — enables I2V |
| reference_image_urls | No | 1–5 URLs for supported models |
| duration | No | Seconds; model- and plan-dependent |
| resolution | No | 480p, 720p, 1080p, 4K if supported |
| aspect_ratio | No | 16:9, 4:3, 1:1, 9:16 — T2V |
| seed | No | -1 for random |
| camera_fixed | No | boolean |
| add_audio | No | AI SFX overlay when supported |
| audio_prompt | No | Guides 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}'
Poll status with the returned id. Hubs: text-to-video, image-to-video.