How to Choose the Right Model
A guide to selecting the best model for your use case.
Decision Framework
1. Identify Your Task Type
| Task | Run type | Try first |
|---|---|---|
| Generate images | text-to-image | Nano Banana Pro, Seedream 5 Pro |
| Edit images | image-to-image | Nano Banana Pro, Qwen Image 2 |
| Create videos | text-to-video | Veo 3.1, Kling 3, Seedance 2.5 |
| Animate images | first-to-video | Kling 3, Veo 3.1, Wan 3 |
| Generate speech | text-to-speech | ElevenLabs Eleven 3, Index TTS 2 |
| Create music | text-to-music | Minimax Music 2.6, Eleven Music |
| Transcribe audio | speech-to-text | Whisper Large v3 Turbo |
| Talking avatars | digital-human | OmniHuman 1.5, Kling Avatar 2 |
| Create 3D models | image-to-3d | Tripo P1, Tripo H3.1 |
| Chat | chat | GPT-5.5, Claude Opus 4.7 |
The run type is the third segment of the model slug, so it also determines the endpoint you call.
2. Consider Quality vs. Speed
Model families usually publish several variants, and the suffix tells you the trade-off:
| Priority | Look for |
|---|---|
| Highest quality | -pro variants — slower and more expensive |
| Balanced | The unsuffixed base model |
| Fastest | -fast / -turbo variants |
| Lowest cost | -lite / -mini variants |
Where a model exposes channels, that's a second dial on the same trade-off: economy is cheaper than stable, which is cheaper than official. Changing the channel is often enough — you may not need a different model.
3. Consider Resolution
Resolution and duration are the biggest cost multipliers, so don't pay for more than the destination needs:
| Output | Typical setting | Use case |
|---|---|---|
| Draft image | 1k | Prompt iteration |
| Final image | 2k and up | Print, large display |
| Draft video | 480p | Composition checks |
| Standard video | 720p | Web and social |
| Premium video | 1080p | Production |
Accepted values differ per model — check the model's page for what it supports.
Comparing Models Empirically
Rather than relying on a static ranking, measure on your own prompts. The result object gives you what you need:
timings.api_call— time actually spent at the provider, the fair latency comparison- Cost per task — visible in your dashboard per request
Run the same prompt across two or three candidates with a fixed seed, then compare output quality against those two numbers.
Tips
- Start cheap, iterate — Draft with a fast, low-cost model or the
economychannel, then switch for the final render - Check model pages — Each model lists its own parameters, channels, and price
- Fix the seed when comparing — Otherwise you're comparing two random samples, not two models
- Try the web interface first — Faster than wiring up API calls to evaluate a model
Next Steps
- How to Write Better Prompts — Improve your results
- How to Reduce Costs — Optimize spending