Generate Video
Generate AI videos from text prompts or images using 40+ models including Veo 3.1, Kling 3.0, Sora 2, Hailuo, and more.
Video generation is asynchronous — the response returns a video ID immediately. Use the Get Video endpoint to poll for the result.
Input types:
- Text-to-video — Provide only a
prompt - Image-to-video — Provide both
promptandimageURL
Note: Video generation requires a paid plan.
Workflow
Video generation is asynchronous. Here’s the typical flow:- Submit a video generation request using this endpoint
- Save the
idfrom the response - Poll the Get Video endpoint every 15–30 seconds until
statusiscompleted - Download the video from the
urlfield
Input types
Themodel value must exactly match one of the titles in the model enum, and each mode is a separate model variant — the title’s suffix tells you which image inputs it accepts:
- Text-to-video — Provide only a
prompt(no image fields). Use the base title, e.g.Seedance 2.0,Veo 3.1. - Image-to-video (first frame) — Provide
prompt+image(a start-frame URL). Use a title ending in “Image”, e.g.Seedance 2.0 Image,Veo 3.1 Fast Image,Kling 3.0 Pro Image. - First & last frame — Provide
prompt+image(first) +tailImage(last). Use a “First-Last Frame” title (e.g.Veo 3.1 First-Last Frame), orSeedance 2.0 Image, which also accepts atailImageend frame. - Reference-to-video (multiple references) — Provide
prompt+referenceImages(an array of{ "url": ... }, up to 9) to keep characters/objects/style consistent. Use a title ending in “Reference”, e.g.Seedance 2.0 Reference,Kling O1 Reference,Kling O3 Reference.
Seedance 2.0 (text), Seedance 2.0 Image (first frame, optional last frame), and Seedance 2.0 Reference (up to 9 reference images). A single request cannot combine a start frame and reference images — pick the variant that matches your input.image, tailImage, and referenceImages[].url do not need to be hosted on Easy-Peasy, but they must be downloadable server-side by our video provider. Some hosts (e.g. Wikimedia, or sites that block hotlinking / non-browser requests) return HTTP 403 to automated downloads — these fail with a Could not download the input (HTTP 403) error. If in doubt, host the image on your own public CDN/bucket or on Easy-Peasy.
First frame (image-to-video)
"tailImage": "https://yourcdn.com/last-frame.png" to interpolate between a first and last frame.
Multiple reference images (reference-to-video)
referenceImages[].type (character / object / style) is optional and only used by the Kling O1/O3 Reference models to separate character/object references from style references. Seedance 2.0 Reference treats every entry as a general reference, so you can send just { "url": ... }.Polling example
Authorizations
API key for authentication. Get yours at https://easy-peasy.ai/settings/api
Headers
Your API key
Body
Text prompt describing the video to generate.
"A cat walking on the beach at sunset, cinematic lighting"
The video model to use (required). The value must exactly match one of the enum titles below. Titles ending in "Image" take a start-frame image; titles ending in "Reference" take referenceImages; "First-Last Frame" titles take both image and tailImage; all others are text-to-video.
Veo 3.1 Fast, Grok Imagine, Grok Imagine Reference, Seedance 2.0 Fast, Seedance 2.0 Turbo, Seedance 2.0, Seedance 2.0 Mini, Seedance 2.0 Reference, Seedance 2.0 Fast Reference, Seedance 2.0 Mini Reference, Kling 2.6 Pro, Veo 3.1 Lite, Veo 3.1 Lite Image, Veo 3.1 Fast Image, Grok Imagine Image, Grok Imagine 1.5, Seedance 2.0 Image, Seedance 2.0 Fast Image, Seedance 2.0 Turbo Image, Seedance 2.0 Mini Image, Happy Horse, Happy Horse Image, Happy Horse Reference, Kling 2.6 Pro Image, Kling 3.0 Pro, Kling 3.0 Pro Image, Kling 3.0 Standard, Kling 3.0 Standard Image, Kling O3 Pro, Kling O3 Pro Image, Kling O3 Standard, Kling O3 Standard Image, Kling O3 Reference, Seedance 1.5 Pro, Seedance 1.5 Pro Image, Kling Motion Control Pro, Kling Motion Control, Kling O1 Image, Kling O1 Reference, Kling 2.5 Turbo Pro Image, Kling 2.5 Turbo Pro, Kling 2.5 Turbo Standard, Seedance 1.5 Pro First-Last Frame, Veo 3.1, LTX-2 Pro, LTX-2 Fast, Veo 3.1 Image, Veo 3.1 First-Last Frame, Veo 3.1 Fast First-Last Frame, LTX-2 Pro Image, LTX-2 Fast Image, Sora 2, Sora 2 Pro, Hailuo 2.0, Hailuo 2.0 Pro, Hailuo 2.3, Hailuo 2.3 Pro, Hailuo 2.3 Image, Hailuo 2.3 Pro Image, Hailuo 2.3-Fast Pro Image, Seedance v1 Pro Fast, Pixverse v5.5, Wan 2.5, Wan v2.2 Turbo, Wan v2.2, Sora 2 Image, Sora 2 Pro Image, Hailuo 2.0 Image, Hailuo 2.0 Pro Image, Seedance 1.0 Pro Fast, Pixverse v5.5 Image, Wan 2.5 Image, Wan v2.2 Turbo Image, Wan-2.2 Image URL of a start/first-frame image for image-to-video generation. Use a model whose title ends in "Image" (e.g. "Seedance 2.0 Image", "Veo 3.1 Image"). If omitted, text-to-video mode is used. Any publicly reachable URL is accepted.
Duration of the video in seconds. Available values depend on the model.
"5"
Aspect ratio of the video.
16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21, 3:2, 2:3 Video resolution. Allowed values depend on the model (e.g. Seedance 2.0 supports 480p–4k; Veo 3.1 supports 720p/1080p).
480p, 720p, 1080p, 4k Whether to generate audio along with the video (supported by some models like Veo 3.1, Kling 3.0, Seedance 2.0).
URL of an end/last-frame image. Only used by models that support a tail frame — the "First-Last Frame" titles and "Seedance 2.0 Image" (paired with image as the first frame). Any publicly reachable URL is accepted.
Reference images for reference-to-video models (titles ending in "Reference", e.g. "Seedance 2.0 Reference", "Kling O1 Reference", "Kling O3 Reference"). Used to keep characters/objects/style consistent across the generated video. Seedance 2.0 Reference accepts up to 9 images. Not used by text-to-video or image-to-video models.
