Video Models
Generate video with HappyHorse 1.0, Kling 3.0, Omni Video, Grok Imagine and Kling 2.6 Motion Control.
Video models run through POST /api/v1/generate. Each video model id is
scene-specific — pick the text-to-video, image-to-video or video-to-video
variant.
Models
model | Label | Scene | Duration | Resolutions | Audio | Pricing (credits) |
|---|---|---|---|---|---|---|
happyhorse-1.0-text-to-video | HappyHorse 1.0 | text-to-video | 4–12s | 720p, 1080p | yes | 40/s (720p), 75/s (1080p) |
happyhorse-1.0-image-to-video | HappyHorse 1.0 | image-to-video | 4–12s | 720p, 1080p | yes | 40/s (720p), 75/s (1080p) |
kling3-pro-text-to-video | Kling 3.0 Pro | text-to-video | 3–15s | — | yes | 48/s (×2 with audio) |
kling3-pro-image-to-video | Kling 3.0 Pro | image-to-video | 3–15s | — | yes | 48/s (×2 with audio) |
kling3-standard-text-to-video | Kling 3.0 Standard | text-to-video | 3–15s | — | yes | 36/s (×2 with audio) |
kling3-standard-image-to-video | Kling 3.0 Standard | image-to-video | 3–15s | — | yes | 36/s (×2 with audio) |
kling26-text-to-video | Omni Video | text-to-video | 5–10s | — | yes | 9/s (×2 with audio) |
kling26-image-to-video | Omni Video | image-to-video | 5–10s | — | yes | 9/s (×2 with audio) |
grok-imagine-text-to-video | Grok Imagine | text-to-video | 6s / 10s | — | no | 25 (6s) / 35 (10s) flat |
grok-imagine-image-to-video | Grok Imagine | image-to-video | 6s / 10s | — | no | 25 (6s) / 35 (10s) flat |
kling26-motion-control-720p | Kling 2.6 Motion Control | video-to-video | 3–30s | 720p | no | 200 flat |
kling26-motion-control-1080p | Kling 2.6 Motion Control | video-to-video | 3–30s | 1080p | no | 300 flat |
The exact amount billed is returned as consumed_credits on success.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
model | string | Yes | A video model id from the table above. |
prompt | string | text/image-to-video | Text description of the video / motion. |
image_urls | string[] | image-to-video | Source image(s). 2 images = first/last frame (HappyHorse). |
video_urls | string[] | video-to-video | Source video for motion control. |
duration | integer | No | Seconds, within the model's range. |
aspect_ratio | string | No | e.g. 16:9, 9:16, 1:1, 4:3, 3:4, 21:9. |
resolution | string | No | 720p or 1080p (models that support it). |
generate_audio | boolean | No | Generate audio (audio-capable models). |
negative_prompt | string | No | What to avoid. |
seed | integer | No | Reproducibility seed. |
Text-to-video
curl -X POST https://reve2img.com/api/v1/generate \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "happyhorse-1.0-text-to-video",
"prompt": "a paper boat sailing down a rain-soaked street, cinematic",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": true
}'Image-to-video
curl -X POST https://reve2img.com/api/v1/generate \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling3-pro-image-to-video",
"prompt": "slow zoom out, gentle camera drift",
"image_urls": ["https://example.com/frame.jpg"],
"duration": 5
}'Video-to-video (motion control)
curl -X POST https://reve2img.com/api/v1/generate \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling26-motion-control-720p",
"prompt": "a knight in golden armor",
"video_urls": ["https://example.com/motion.mp4"]
}'Then poll /api/v1/status until SUCCESS.