Kwaivgi Kling V3.0 Std Image To Video
Playground
Try it on WavespeedAI!Kling 3.0 Standard delivers high-quality 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 Standard Image-to-Video
Kling V3.0 Standard Image-to-Video is Kuaishou’s latest image-to-video generation model. Upload a reference image and describe the motion — the model generates cinematic video with optional synchronized sound, voice support, and start-to-end frame guidance.
Why Choose This?
-
Latest Kling generation V3.0 delivers improved motion quality and visual fidelity over V2.6.
-
Start-end frame guidance Optional end image for controlled transitions between two frames.
-
Sound generation Optional synchronized sound effects generated alongside the video.
-
Voice list support Add up to 2 custom voice entries for character dialogue.
-
CFG scale control Fine-tune the balance between prompt adherence and creative freedom.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | No | Text description of the desired motion and action |
| negative_prompt | No | Elements to exclude from generation |
| image | Yes | Start frame image to animate (URL or upload) |
| end_image | No | End frame image for guided transitions |
| duration | No | Video length: 5 or 10 seconds (default: 5) |
| cfg_scale | No | Prompt adherence strength (default: 0.5) |
| sound | No | Generate synchronized sound (default: disabled) |
| voice_list | No | Custom voice entries, up to 2 (click ”+ Add Item”) |
How to Use
- Upload your image — provide the reference image to animate.
- Write your prompt (optional) — describe the motion, camera movement, and action.
- Upload end image (optional) — provide an end frame for guided transitions.
- Add negative prompt (optional) — specify what you want to avoid.
- Set duration — 5 seconds or 10 seconds.
- Adjust cfg_scale (optional) — higher for stricter prompt following, lower for more freedom.
- Enable sound (optional) — generate synchronized audio with the video.
- Add voices (optional) — add up to 2 voice entries for dialogue.
- Run — submit and download your video.
Pricing
| Duration | Sound Off | Sound On |
|---|---|---|
| 5s | $0.18 | $0.27 |
| 10s | $0.36 | $0.54 |
Billing Rules
- Sound multiplier: disabled = 1×, enabled = 1.5×
Best Use Cases
- Photo Animation — Bring portraits, landscapes, and product images to life.
- Scene Transitions — Use start and end frames for smooth visual transitions.
- Social Media Content — Create engaging videos with sound from still images.
- Marketing & Ads — Generate dynamic promotional videos from product photos.
- Storytelling — Animate scenes with synchronized audio and dialogue.
Pro Tips
- Use clear, descriptive prompts with specific motion details for best results.
- Add an end_image for controlled transitions between two visual states.
- Enable sound for a complete video experience with synchronized audio.
- Use negative prompts to avoid artifacts (e.g., “blurry, low quality, distorted”).
- Lower cfg_scale for more creative variation, higher for strict prompt adherence.
- Use high-quality source images for better video results.
Notes
- Image is the only required field; prompt is optional but recommended.
- Duration options are 5 or 10 seconds only.
- Voice list supports a maximum of 2 entries.
- Sound generation increases cost by 1.5×.
- Ensure uploaded image URLs are publicly accessible.
Related Models
- Kling V3.0 Standard Text-to-Video — Generate video from text descriptions with V3.0 quality.
- Kling V2.6 Standard Image-to-Video — Previous generation image-to-video.
- Kling V2.6 Standard Text-to-Video — Previous generation text-to-video.
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-std/image-to-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"duration": 5,
"cfg_scale": 0.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. | |
| negative_prompt | string | No | - | The negative prompt for the generation. | |
| 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. | |
| end_image | string | No | - | - | URL of the ending image. |
| duration | integer | No | 5 | 5, 10 | 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. |
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 |