Text to video models and APIs.
Generate video clips from a prompt. Compare length, resolution, audio support and price per run across providers, then call any of them with one API.
How to pick a text to video model
Video models differ more than image models. Before comparing quality, check the clip length, the resolution, whether sound is generated, and the price, which usually depends on duration and resolution.
Strong all-rounders
Seedance 2.5 makes 4 to 30 second clips with optional synced audio, and you can steer it with first and last frames. Kling V3 and Wan 3.0 are the other two we would test first. Wan 3.0 goes up to 30 seconds at 1080p.
Video with sound
Veo 3.1 and Veo 3.1 Fast from Google generate audio along with the picture. MiniMax H3 outputs 24 fps video with stereo audio, and Grok Imagine Video adds synced audio to short clips.
Fast and cheaper
Seedance 2.0 Fast is a faster, cheaper version of Seedance 2.0 at 480p or 720p. Kling V2.5 Turbo and Pruna P-Video 2 are also built for quick turnaround, which helps while you are still tuning a prompt.
Fewer content restrictions
Seedance 2.5 Uncensored and Wan 3.0 Prime Uncensored have lighter content filtering. Both make clips of up to 30 seconds.
Frequently asked questions
How long can the videos be?
It depends on the model. Seedance 2.5 and Wan 3.0 go up to 30 seconds, MiniMax H3 up to 15. Longer clips cost more, so keep them short while you iterate.
Do these models generate sound?
Some do. Veo 3.1, Seedance 2.5, MiniMax H3 and Grok Imagine Video can return audio with the video. Others return silent clips, and you can add a soundtrack afterwards with a music generation model.
How is a video run priced?
Usually per run, with the price set by the resolution and duration you choose. For most models the page lists the price for each combination, so you know the cost before you start.
How long does a video take?
Anywhere from under a minute to several minutes, depending on the model, length and resolution. The API returns a task ID right away, and you can wait for the result over a WebSocket or have it sent to a webhook.