Kwaivgi Kling V2.6 Pro Image To Video
Playground
Try it on WavespeedAI!Kling 2.6 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 2.6 Pro Image-to-Video
Kling 2.6 Pro Image-to-Video adds audio-video co-generation to Kling’s powerful visual pipeline. Start from a still image, write a prompt, and the model produces a short clip where motion, camera, sound effects, and voice all feel like one coherent scene.
Why Choose This?
-
Audio and video in one pass Jointly generates visuals and soundtrack — no post-production audio sync needed.
-
Character-synced voices Speech and reactions that match the on-screen subject and timing.
-
Scene-aware sound design Ambient noise and SFX that follow what happens in the frame.
-
Start and end frame support Use both a starting image and optional ending image to guide the animation.
-
Voice customization Add custom voices via voice_list for character-specific audio.
-
Prompt Enhancer Built-in tool to automatically improve your prompts for better results.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Describe scene motion, camera moves, and audio |
| image | Yes | Starting frame to animate (upload or URL) |
| negative_prompt | No | Elements to avoid in visuals and audio |
| end_image | No | Ending frame to guide the animation target |
| cfg_scale | No | Guidance strength (default: 0.5) |
| sound | No | Enable audio-video co-generation (default: true) |
| voice_list | No | Custom voices for character audio |
| duration | No | Video length: 5 or 10 seconds |
CFG Scale Guide
- Lower values (0.3-0.5): Looser, more natural motion; image has more influence
- Higher values (0.6-0.8): Closer adherence to prompt; can look more “controlled”
How to Use
- Upload your image — the starting frame to animate.
- Write your prompt — describe camera movement, actions, and audio.
- Add negative prompt (optional) — specify what to avoid.
- Upload end image (optional) — guide where the animation should end.
- Adjust cfg_scale — start with default 0.5, increase if needed.
- Enable sound — check for audio generation, uncheck for silent video.
- Add voices (optional) — click ”+ Add Item” for custom character voices.
- Select duration — choose 5 or 10 seconds.
- Run — submit and download your video.
Pricing
| Duration | Sound Off | Sound On |
|---|---|---|
| 5s | $0.35 | $0.70 |
| 10s | $0.70 | $1.40 |
Billing Rules
- Base rate: $0.35 per 5 seconds (without audio)
- Audio multiplier: 2× when sound is enabled
- Total cost = $0.35 × (duration / 5) × (sound ? 2 : 1)
Best Use Cases
- Promo Videos — Launch videos with native-sounding, character-synced voiceover.
- Storytelling — Shorts where camera, action, and sound feel perfectly integrated.
- Product Explainers — Clear visuals with natural narration built in.
- Social Content — Cinematic posts with immersive ambience and SFX.
- Animated Scenes — Bring still images to life with coherent motion and audio.
Pro Tips
- Keep the image and prompt aligned — don’t describe a totally different scene.
- For strong lip-sync, explicitly mention who is speaking and what voice style you want.
- Start with default cfg_scale (0.5); increase slowly if motion doesn’t match your description.
- Use negative_prompt to reduce logos, watermarks, or unwanted artifacts.
- Use end_image to guide the animation toward a specific final composition.
- Include audio cues in your prompt (e.g., “soft city ambience, subtle whooshes on cuts”).
Notes
- Supported durations are 5 and 10 seconds.
- Audio generation doubles the cost but creates synchronized sound design.
- For best results, use sharp, well-lit source images.
- End image helps create more controlled transitions.
- End image and sound cannot be used together. When using end_image, the sound parameter must be disabled.
Related Models
- Kling 2.6 Pro Text-to-Video — Generate videos from text prompts only.
- Vidu Q2 Pro Image-to-Video — Alternative I2V with BGM support.
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-v2.6-pro/image-to-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"cfg_scale": 0.5,
"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 |
|---|---|---|---|---|---|
| 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 | - | The positive prompt for the generation. | |
| negative_prompt | string | No | - | The negative prompt for the generation. | |
| end_image | string | No | - | - | URL of the ending image. |
| 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 |
| voice_list | array | No | - | - | List of tones referenced when generating videos. When the voice_id parameter is not empty the voice ID, the video generation task will be billed based on the with voice generation” metric. |
| 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 |
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 (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.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 |