Use cases
A Text to Video API With 50+ Models on One Key
Reviral's text-to-video API accepts a prompt at POST /api/v1/generate-media and renders it with any video model in the catalog — Seedance, Veo, Kling, Hailuo, Wan, Vidu among them — with durationSec, resolution, and aspectRatio set per request and live credit pricing from GET /api/v1/models shown before you render.
Models that fit
Every video model in the live catalog accepts a text-only prompt through generate-media — no image or reference input required.
Seedance 2.5 720p (Standard)
720p · 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
122 cr · $0.97
Seedance 2.5
480p, 720p · 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptive
148 cr · $1.17
Seedance 2.5 720P (Fast)
720p · 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
122 cr · $0.97
Seedance 2.5 1080P
1080p · 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
267 cr · $2.12
Seedance 2.5 720p (Flat)
720p · 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
442 cr · $3.50
Seedance 2.5 480P
480p · 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
64 cr · $0.51
Seedance 2.5 480p (International)
480p · 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
39 cr · $0.31
Seedance 2.5 720p (Flat B)
720p · 16:9, 9:16, 1:1
253 cr · $2.01
Seedance 2.0 720P (ALL Round)
720p · 9:16, 16:9
228 cr · $1.81
Seedance 2
480p, 720p, 1080p, 4k · 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
106 cr · $0.84
Seedance 2.0 720P (720P Plus)
720p · 16:9, 9:16
76 cr · $0.60
Seedance2.0- 4K
4K · 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
337 cr · $2.67
Seedance2.0- 1080P
1080P · 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
140 cr · $1.11
Seedance2.0-720P (Limited)
720P · 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
37 cr · $0.29
Seedance 2 Fast
480p, 720p · 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
66 cr · $0.52
Seedance 2 Mini
480p, 720p · 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
24 cr · $0.19
Seedance 1.5 Pro
480p, 720p, 1080p · 16:9, 9:16, 1:1, 4:3, 3:4, 21:9
37 cr · $0.29
Veo 3.1 Fast
720p, 1080p, 4k · 16:9, 9:16
17 cr · $0.13
Veo 3.1 Fast (per second)
720p, 1080p, 4k · 16:9, 9:16
106 cr · $0.84
Veo 3.1 Quality (per second)
720p, 1080p, 4k · 16:9, 9:16
421 cr · $3.34
Veo 3.1 Quality
720p, 1080p, 4k · 16:9, 9:16
50 cr · $0.40
Veo 3.1 Lite
720p, 1080p, 4k · 16:9, 9:16
34 cr · $0.27
Omni Flash
720P, 1080p · 16:9, 9:16
25 cr · $0.20
Kling V3
720p, 1080p · 16:9
30 cr · $0.24
Kling V3 Omni
720p, 1080p · 16:9, 9:16, 1:1
50 cr · $0.40
Kling V2.6
720p, 1080p · 16:9, 9:16, 1:1
27 cr · $0.21
Kling 3.0 Turbo
720p, 1080p · 16:9, 9:16, 1:1
66 cr · $0.52
Kling Video O1
720p, 1080p · 16:9, 9:16, 1:1
50 cr · $0.40
Hailuo 2.3
768P, 1080P · default
33 cr · $0.26
Hailuo 2.3 Fast
768P, 1080P · default
24 cr · $0.19
Hailuo 02
512P, 768P, 1080P · default
33 cr · $0.26
Wan 2.6
720p, 1080p · 16:9, 9:16, 1:1, 4:3, 3:4
83 cr · $0.66
Wan 2.6 Flash
720p, 1080p · default
21 cr · $0.17
Vidu Q3
540p, 720p, 1080p · 16:9, 9:16, 4:3, 3:4, 1:1
43 cr · $0.34
Vidu Q3 Pro
540p, 720p, 1080p · 16:9, 9:16, 4:3, 3:4, 1:1
71 cr · $0.56
Vidu Q3 Turbo
540p, 720p, 1080p · 16:9, 9:16, 4:3, 3:4, 1:1
43 cr · $0.34
HappyHorse 1.1
720P, 1080P · 16:9, 9:16, 1:1, 4:3, 3:4
71 cr · $0.56
Wan 3.0 480P
480P · 9:16, 16:9, 3:4, 4:3, 1:1
31 cr · $0.25
Wan 3.0 720P
720P · 9:16, 16:9, 3:4, 4:3, 1:1
49 cr · $0.39
Wan 3.0 1080P
1080P · 9:16, 16:9, 3:4, 4:3, 1:1
85 cr · $0.67
Try it
This request uses the current default settings for a matching model and the public GenerateMediaRequest schema.
curl -X POST "https://reviral.ai/api/v1/generate-media" \
-H "Authorization: Bearer $REVIRAL_API_KEY" \
-H "Idempotency-Key: first-video" \
-H "Content-Type: application/json" \
--data '{"model":"seedance-2","prompt":"A drone shot rising over a misty pine forest at dawn","durationSec":5,"resolution":"720p","aspectRatio":"16:9","maxCredits":106}'Frequently asked questions
- Do I need anything besides a text prompt?
- No — model and prompt are the only required fields on generate-media. durationSec, resolution, and aspectRatio are optional and fall back to each model's defaults.
- How long can the prompt be?
- Up to 100,000 characters, though a few sentences of concrete detail — subject, action, camera move, lighting — produces more consistent results than a very long prompt.
- How do I know the exact price before I render?
- Read GET /api/v1/models for the current credit price per model and resolution, then pass that number as maxCredits so a live price change fails the request instead of silently overcharging you.