- Async processing mode, returns task ID for subsequent queries
- Supports text-to-video, image-to-video (first frame / first-last frame control)
- Supports standard mode (720P) and professional mode (1080P)
- Professional mode supports automatic audio generation
Authorization
All API endpoints require Bearer Token authenticationGet your API Key: Visit the API Key Management Page to get your API KeyAdd it to the request header:Authorization: Bearer YOUR_API_KEY
Request Parameters
Video generation model name, fixed as kling-2-6
Text prompt, maximum 2500 charactersDescribe scenes, actions, and styles in detail for better generation resultsExample: "A golden cat running on a sunlit meadow, slow motion, cinematic quality"
Generation modeOptions:
std - Standard mode (720P, silent video only)
pro - Professional mode (1080P, supports automatic audio generation)
Default: stdStandard mode limitation: std mode only supports silent video. The audio parameter requires pro mode.
Video duration (seconds)Options: 5 or 10Default: 5
Video aspect ratioOptions:
16:9 - Landscape (default)
9:16 - Portrait
1:1 - Square
Default: 16:9
Negative prompt to exclude unwanted contentExample: "blurry, low quality, distorted"
Image URL array for image-to-video generation
- Pass 1 image: used as first frame
- Pass 2 images: automatically assigned as first frame + last frame (requires
mode: "pro")
Maximum 2 images supportedExample: ["https://example.com/first.jpg"]
- Maximum 2 images supported
- Last frame (2 images) requires
pro mode only; std mode only supports first frame (1 image)
- Last frame and audio are mutually exclusive: In
pro mode, last frame (2 images) and audio (audio: true) cannot be used together
- In image-to-video mode,
aspect_ratio may be overridden by the actual image ratio
Whether to automatically generate audioDefault: false
- Only available in
mode: "pro"
- Mutually exclusive with last frame: Audio cannot be used together with last frame (2 images)
Pricing
Billed per second, price varies by mode and audio setting:
| Mode | Resolution | Audio | Price |
|---|
std | 720P | Not supported | $0.0368 / sec |
pro | 1080P | Off | $0.0625 / sec |
pro | 1080P | On | $0.125 / sec |
Example: pro mode, 10-second video without audio = 10 × 0.0625=0.625
Feature Support Matrix
| Type | Feature | std 5s | std 10s | pro 5s | pro 10s |
|---|
| Text-to-Video | Generation | ✅ (silent only) | ✅ (silent only) | ✅ | ✅ |
| Text-to-Video | Auto Audio | - | - | ✅ | ✅ |
| Image-to-Video | Generation | ✅ (silent only) | ✅ (silent only) | ✅ | ✅ |
| Image-to-Video | First Frame | ✅ | ✅ | ✅ | ✅ |
| Image-to-Video | Last Frame | - | - | ✅ | ✅ |
| Image-to-Video | Auto Audio | - | - | ✅ | ✅ |
In pro mode, last frame and audio control are mutually exclusive and cannot be used together.
Response
Unique task identifier for querying task status
Object type, fixed as generation.task
Model name used for generation
Task status
queued - Waiting to be processed
in_progress - Processing
completed - Successfully completed
failed - Failed
Task progress percentage (0-100)
Task creation Unix timestamp
Use Cases
Case 1: Text-to-Video (Standard Mode)
{
"model": "kling-2-6",
"prompt": "A golden cat running on a sunlit meadow, slow motion, cinematic quality",
"mode": "std",
"duration": 5,
"aspect_ratio": "16:9"
}
Case 2: Text-to-Video (Pro Mode + Negative Prompt)
{
"model": "kling-2-6",
"prompt": "Tokyo Shibuya crossing at night, neon lights reflected on wet ground, people walking with umbrellas",
"negative_prompt": "blurry, low quality, distorted",
"mode": "pro",
"duration": 10,
"aspect_ratio": "16:9"
}
Case 3: Image-to-Video (First Frame)
{
"model": "kling-2-6",
"prompt": "The person in the frame turns and smiles",
"image_urls": ["https://example.com/portrait.jpg"],
"mode": "std",
"duration": 5
}
Case 4: Image-to-Video (First + Last Frame Control)
{
"model": "kling-2-6",
"prompt": "City timelapse transitioning from day to night",
"image_urls": ["https://example.com/day-city.jpg", "https://example.com/night-city.jpg"],
"mode": "pro",
"duration": 5
}
Case 5: Pro Mode + Auto Audio
{
"model": "kling-2-6",
"prompt": "Waves crashing against rocks, seagulls circling in the sky, lighthouse in the distance",
"mode": "pro",
"duration": 10,
"audio": true,
"aspect_ratio": "16:9"
}
Query Task ResultsVideo generation is an async task that returns a task ID upon submission. Use the Get Task Status endpoint to query generation progress and results.
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling-2-6",
"prompt": "A golden cat running on a sunlit meadow, slow motion, cinematic quality",
"mode": "std",
"duration": 5,
"aspect_ratio": "16:9"
}'
{
"id": "video_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ",
"object": "generation.task",
"model": "kling-2-6",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}