Kwaivgi Kling Video O1 Image To Video
Playground
Try it on WavespeedAI!Kling Omni Video O1 Image-to-Video transforms static images into dynamic cinematic videos using MVL (Multi-modal Visual Language) technology. Maintains subject consistency while adding natural motion, physics simulation, and seamless scene dynamics. Ready-to-use REST API, best performance, no coldstarts, affordable pricing.
Features
Kling Omni Video O1 — Image-to-Video
Kling Omni Video O1 is Kuaishou’s groundbreaking unified multi-modal video model. The Image-to-Video mode brings your static images to life with intelligent motion, maintaining perfect subject consistency while adding natural dynamics and cinematic quality.
🌟 Key Capabilities
Intelligent Image Animation
Transform any image into a flowing video sequence:
- Adds natural, physics-based motion to static subjects
- Preserves original image details and composition
- Creates smooth, realistic transitions
Subject Consistency
Advanced understanding of input images ensures:
- Stable character identity across all frames
- Consistent props and scene elements
- Maintained color tones and lighting style
Multi-Modal Understanding
Combine your image with text prompts to control:
- Direction and type of motion
- Camera movements and angles
- Scene dynamics and atmosphere
🎬 Core Features
- Motion Intelligence — AI understands what should move and how
- Detail Preservation — Original image quality maintained throughout
- Physics Simulation — Natural, believable movement patterns
- Prompt Control — Guide animation with text descriptions
🚀 How to Use
-
Upload Your Image Provide a high-quality source image as the starting frame.
-
Add Motion Prompt (Optional) Describe the desired motion, camera movement, or scene dynamics.
Example: “Gentle wind blowing through hair, soft camera push-in, leaves falling in background”
-
Set Parameters Choose duration, resolution, and output format.
-
Generate Receive your animated video with natural motion.
💰 Pricing
| Item | Price |
|---|---|
| Per Second | $0.112 |
Billed per second of output video duration.
💡 Pro Tips
- Use high-resolution, clear source images for best results
- Describe specific motions rather than abstract concepts
- Combine with camera movement terms for cinematic effects
- Works best with images containing clear subjects and depth
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/kwaivgi/kling-video-o1/image-to-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"aspect_ratio": "16:9",
"duration": 5
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | The positive prompt for the generation. | |
| image | string | Yes | - | first_frame is the first frame | |
| last_image | string | No | - | - | last_frame is the last frame. |
| aspect_ratio | string | No | 16:9 | 16:9, 9:16, 1:1 | The aspect ratio of the generated video. |
| duration | integer | No | 5 | 5, 10 | The duration of the generated media in seconds. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |