Core concepts
Video generation
Same gateway auth as chat. Video jobs can take several minutes, use a long timeout.
POST
https://api.rodiumai.io/v1/videos/generationsCall POST /v1/videos/generations with a Veo model id. Text-to-video, image-to-video (first frame), and optional last_frame transitions are supported.
Long-running jobs
Expect multi-minute latency. Increase client timeouts (e.g. 10+ minutes) and follow any URL returned in the response.
When to use
- Product motion: animate a logo or packaging still.
- Short ads and social clips from a text storyboard.
- Controlled transitions between two keyframes (last_frame).
Recipes
Text → video
Send model + prompt + duration_seconds. No image field.
Note: Use cinematic prompts; keep duration within the model’s limits.
Image → video
Pass image as { b64_json }, a data: URL, or gs://. HTTP(S) image URLs are rejected by the gateway.
Note: Encode a local PNG/JPEG to base64; do not fetch remote URLs server-side in the request body.
last_frame transition
Provide image (start) and last_frame (end) with the same encodings to morph between two frames.
Note: Both frames should share aspect ratio when possible.
Text → video examples
…Image → video
…Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | Required | Video model id (e.g. google/veo-3.1-generate-preview). |
| prompt | string | Required | Text description of the video to generate or animate. |
| duration_seconds | number | Optional | Clip length in seconds (alias: seconds). Default 8. |
| aspect_ratio | string | Optional | Optional aspect ratio when supported (e.g. "16:9"). |
| image | object | string | Optional | First-frame image for image→video. Accepts { b64_json }, data URL, or gs:// URI. HTTP(S) URLs are rejected. |
| last_frame | object | string | Optional | Optional end frame (same encodings as image) for start→end transitions. |