Video Generation API

FastRouter.ai supports text-to-video and image-to-video generation using the pollo provider. This powerful API enables you to generate creative video clips from natural language prompts and optionally from image inputs — ideal for storytelling, video prototyping, explainer content, and more. For the full list of supported video models via Pollo, refer to our model catalog.

Sample Video

Endpoints

For Generation: POST /api/v1/chat/completions

For Retrieval: POST /api/v1/getVideoResponse

Supported Models and Parameters

To better understand which parameters are required and supported, we've broken this down into two tables: one for Image-to-Video and another for Text-to-Video. You can also refer to the model catalog for the supported parameters. For the values these parameters accept, please refer to the tables below.

Parameter Reference Table

Parameter
Type
Description
Example Values

prompt

string

Natural language description of the video scene

"A robot walking on Mars"

image

string

URL of an input image (JPG/PNG); base64 is not supported; aspect ratio must be 1:4 to 4:1

https://example.com/image.jpg

length

enum

Duration of the video in seconds

4, 5, 6, 8, 10

resolution

enum

Output video resolution

480p, 720p, 1080p

aspectRatio

enum

Width-to-height ratio of the video frame

16:9, 9:16, 4:3, 3:4, 1:1, 5:3, 3:5

mode

enum

Generation style/mode (if supported by the model)

std, pro

seed

number

Random seed for deterministic output (optional; useful for reproducibility)

42, 12345

generateAudio

boolean

Generate audio

true, false

Image-to-Video Models

Model Name
Required Parameters
Optional Parameters

MiniMax: MiniMax Hailuo-02 minimax/minimax-hailuo-02

image, resolution

prompt, length (6, 10)

Kling AI: Kling V1.6 kling-ai/kling-v1-6

image

prompt, length (5, 10), mode (std, pro)

Kling AI: Kling V2 kling-ai/kling-v2

image

prompt, length (5, 10)

Kling AI: Kling V2.1 kling-ai/kling-v2-1

image

prompt, length (5, 10), mode (std, pro)

Kling AI: Kling V2.1 Master kling-ai/kling-v2-1-master

image

prompt, length (5, 10)

Pika: Pika V2.2 pika/pika-v2-2

image

prompt, length (5, 10), resolution (720p, 1080p), seed

Pollo: Pollo V1.6 pollo/pollo-v1-6

image, prompt

length (5, 10), resolution (480p, 720p, 1080p), seed

Runway: Runway Gen-3 Turbo runway/runway-gen-3-turbo

image

prompt, length (5, 10), aspectRatio (5:3, 3:5), seed

Runway: Runway Gen-4 Turbo runway/runway-gen-4-turbo

image

prompt, length (5, 10), aspectRatio (16:9), seed

ByteDance: Seedance 1.0 Lite bytedance/seedance

image, resolution (480p, 720p, 1080p)

prompt, length (5, 10), seed

ByteDance: Seedance 1.0 Pro bytedance/seedance-pro

image, resolution (480p, 1080p)

prompt, length (5, 10), seed

image

prompt, length (5, 8), aspectRatio (16:9, 9:16), seed

image

prompt, length (8), resolution (720p), aspectRatio (16:9), seed, generateAudio (false)

Vidu: Vidu V2.0 vidu/vidu-v2-0

image

prompt, length (4, 8), resolution (720p, 1080p), seed

Vidu: Vidu Q1 vidu/vidu-q1

image

prompt, length (5), resolution (1080p), seed

Note: For all models requiring the image parameter, only image URLs are accepted; base64 is not supported. Supported formats include JPG, PNG, and JPEG. The image aspect ratio must be between 1:4 and 4:1.

Text-to-Video Models

Model Name
Required Parameters
Optional Parameters

Kling AI: Kling V1.6 kling-ai/kling-v1-6

prompt

length (5, 10)

Kling AI: Kling V2 kling-ai/kling-v2

prompt

length (5, 10)

Kling AI: Kling V2.1 Master kling-ai/kling-v2-1-master

prompt

length (5, 10)

Pika: Pika V2.2 pika/pika-v2-2

prompt

length (5, 10), resolution (720p, 1080p), seed

Pollo: Pollo V1.6 pollo/pollo-v1-6

prompt, resolution (480p, 720p, 1080p)

length (5, 10), aspectRatio (16:9, 9:16, 4:3, 3:4, 1:1), seed

ByteDance: Seedance 1.0 Lite bytedance/seedance

prompt, resolution (480p, 720p, 1080p)

length (5, 10), seed

ByteDance: Seedance 1.0 Pro bytedance/seedance-pro

prompt, resolution (480p, 1080p)

length (5, 10), seed

prompt

length (5, 8), aspectRatio (16:9, 9:16), seed

prompt

length (8), resolution (720p), aspectRatio (16:9), seed, generateAudio (false)

Vidu: Vidu Q1 vidu/vidu-q1

prompt

length (5), resolution (1080p), seed

Request Example

curl --location 'https://go.fastrouter.ai/api/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API-KEY' \
--data '{
    "model": "google/veo3",
    "length": 8,
    "prompt": "A casual street interview on a busy Bengaluru IT park sidewalk in the afternoon. The interviewer holds a plain, unbranded microphone and asks: [Have you heard about FastRouter. It is super cool.] Person replies: [Yeah I saw it, it'\''s also available with new Grok models and they also support Google Veo3. It'\''s crazy good.]",
    "generateAudio": true
}'

Sample Initial Response

You will receive a response indicating the task has been queued. The taskId is used to poll for video completion.

{
    "chat_id": "fr_123",
    "model": "google/veo3",
    "code": "SUCCESS",
    "message": "success",
    "data": {
        "taskId": "taskabc123",
        "status": "waiting"
    },
    "usage": {
        "chat_id": "fr_123",
        "prompt_tokens": 0,
        "completion_tokens": 0,
        "total_tokens": 0,
        "user_key_credits_used": 6,
        "credits_used": 6,
        "provider": "pollo"
    }
}

Retrieving the Video Output

Video generation is asynchronous. Use the taskId from the initial response to check generation status.

Polling for the Video

curl --location 'https://go.fastrouter.ai/api/v1/getVideoResponse' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API-KEY' \
--data '{
    "taskId": "taskabc123",
    "model": "google/veo3"
}'

Sample Completion Response

Once ready, the response will include a downloadable video URL:

{
    "code": "SUCCESS",
    "message": "success",
    "data": {
        "taskId": "taskabc123",
        "generations": [
            {
                "id": "taskabc123",
                "createdDate": "2025-07-15T08:02:27.000Z",
                "updatedDate": "2025-07-15T08:04:34.000Z",
                "status": "succeed",
                "failMsg": "",
                "url": "https://example.com/filename.mp4",
                "mediaType": "video"
            }
        ]
    }
}

Billing & Usage

  • Credits used: Refer to user_key_credits_used in the response.

  • Billed based on: video duration, resolution, and model used.

  • Transparent pricing: No hidden fees.

Last updated