Kwaivgi Kling V3.0 Pro Image To Video
Playground
Try it on WavespeedAI!Kling 3.0 Pro delivers top-tier image-to-video generation with smooth motion, cinematic visuals, accurate prompt adherence, and native audio for ready-to-share clips. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.
Features
Kling V3.0 Pro Image-to-Video
Kling V3.0 Pro Image-to-Video is Kuaishou’s premium image-to-video model, delivering the highest visual quality and motion realism in the V3.0 family. Upload a reference image and describe the motion — the model generates cinematic video with superior detail, optional start-to-end frame guidance, and synchronized sound. Supports flexible duration from 3 to 15 seconds.
Why Choose This?
-
V3.0 Pro quality The highest visual fidelity and motion realism in the Kling V3.0 family.
-
Flexible duration Generate videos from 3 to 15 seconds — any length you need.
-
Start-end frame guidance Optional end image for controlled transitions between two frames.
-
Sound generation Optional synchronized sound effects generated alongside the video.
-
Negative prompt support Specify what you don’t want in the video for more precise control.
-
Multi-prompt and element list support Chain prompt segments for scene transitions and lock in specific visual elements for consistency.
-
Prompt Enhancer Built-in tool to automatically improve your motion descriptions.
Parameters
| Parameter | Required | Description |
|---|---|---|
| image | Yes | Start frame image to animate (URL or upload). |
| prompt | Yes | Text description of the desired motion and action. |
| negative_prompt | No | Elements to exclude from the video. |
| end_image | No | End frame image for guided transitions. |
| duration | No | Video length in seconds. Range: 3–15. Default: 5. |
| cfg_scale | No | Prompt guidance strength. Default: 0.5. |
| sound | No | Generate synchronized sound alongside the video. Default: disabled. |
| shot_type | No | Editing mode: intelligent (default, auto-determines scope) or customize. |
| multi_prompt | No | Additional prompts for complex scene compositions. |
| element_list | No | List of visual elements to maintain consistency throughout the clip. |
How to Use
- Upload your image — provide the reference image to animate.
- Write your prompt — describe the motion, camera movement, and action. Use the Prompt Enhancer for better results.
- Add negative prompt (optional) — specify elements you want to exclude from the output.
- Upload end image (optional) — provide an end frame for guided transitions.
- Set duration — choose any length from 3 to 15 seconds.
- Adjust cfg_scale (optional) — control how closely the output follows your prompt.
- Enable sound (optional) — generate synchronized audio alongside the video.
- Select shot_type (optional) — use intelligent for automatic scope, or customize for manual control.
- Add multi-prompt segments (optional) — click Add Item to guide scene transitions.
- Add element list items (optional) — see Notes below for how to use elements effectively.
- Run — submit and download your video.
Pricing
| Duration | Without Sound | With Sound |
|---|---|---|
| 3s | $0.336 | $0.504 |
| 5s | $0.560 | $0.840 |
| 10s | $1.120 | $1.680 |
| 15s | $1.680 | $2.520 |
Billing Rules
- Base rate: $0.56 per 5 seconds ($0.112 per second)
- Sound surcharge: ×1.5 when sound is enabled
- Duration range: 3–15 seconds
Best Use Cases
- Premium Production — Cinematic scenes requiring the highest visual quality.
- Scene Transitions — Use start and end frames for smooth cinematic transitions.
- Marketing & Ads — High-end promotional videos with professional polish.
- Character Animation — Animate portraits with superior motion and detail.
- Long-Form Animation — Up to 15 seconds for extended scene development.
Pro Tips
- Use detailed, cinematic prompts — include lighting, camera angles, and motion descriptions.
- Add an end_image for controlled transitions between two visual states.
- Use negative_prompt to avoid common issues like blurry faces or unwanted motion.
- Enable sound for environmental audio like rain, city ambience, or action effects.
- Use high-quality source images for the best video output.
- Use element_list to lock in key visual details that must remain consistent throughout the video.
Notes
- Both image and prompt are required fields.
- Duration range: minimum 3 seconds, maximum 15 seconds.
- Sound generation increases cost by 1.5×.
- Using element_list: First use Kling Elements to generate your element and note its name and ID. Then simply write the element name naturally in your prompt, and enter the corresponding element ID in the element_list field. No special characters or syntax required.
- Ensure uploaded image URLs are publicly accessible.
Related Models
- Kling V3.0 Std Image-to-Video — Standard tier at budget-friendly pricing.
- Kling V3.0 Pro Text-to-Video — Pro quality text-to-video.
- Kling Video O3 Pro Image-to-Video — Latest O3 generation with premium quality.
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-v3.0-pro/image-to-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"duration": 5,
"cfg_scale": 0.5,
"shot_type": "customize"
}'
# 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 |
|---|---|---|---|---|---|
| image | string | Yes | - | Supported image formats: .jpg/.jpeg/.png. The size of the image file should not exceed 10MB, the width and height of the image should be no less than 300px, and the aspect ratio of the image should be between 1:2.5 and 2.5:1. | |
| prompt | string | Yes | - | Text prompt for video generation. Either prompt or multi_prompt must be provided, but not both. Specify a element, image, or video in the format of<<<>>, such as<<element_1>>>,<<<image_1>>>,<<<video_1>>>. | |
| negative_prompt | string | No | - | The negative prompt for the generation. | |
| end_image | string | No | - | - | URL of the ending image. multi_shot is not supported with end image. |
| duration | integer | No | 5 | 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | The duration of the generated media in seconds. |
| cfg_scale | number | No | 0.5 | 0.00 ~ 1.00 | Flexibility in video generation; The higher the value, the lower the model's degree of flexibility, and the stronger the relevance to the user's prompt. |
| sound | boolean | No | - | - | Whether sound is generated simultaneously when generating a video. |
| shot_type | string | No | customize | customize, intelligent | Shot type for the generation. |
| multi_prompt | array | No | - | - | List of prompts for multi-shot video generation. If provided, divides the video into multiple shots. |
| element_list | array | No | - | - | Element reference list. To get available elements and their IDs, visit: https://wavespeed.ai/models/kwaivgi/kling-elements |
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 |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content. |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| 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 |