Kling 3.0 Image-to-Video
Transform static images into dynamic videos using Kling 3.0 model with Standard and Pro modes
Tool Overview
The Kling 3.0 Image-to-Video tool generates high-quality video content from a starting image and text description using Kuaishou's Kling 3.0 model. It supports flexible video duration (3-15 seconds), multi-shot mode, optional tail frame image, and two quality tiers (Standard / Pro).
Tool Identifier
kling3-image-to-video-api
Parameters
Required Parameters
prompt
- Type:
string(required) - Description: Text description of the desired motion and video content. Focus on describing the movement rather than the image contents
- Validation: Must be a non-empty string
- Example:
"The character turns around slowly and smiles at the camera with wind blowing through her hair"
image
- Type:
string(required) - Description: Image URL for the video's starting frame
- Format: Must be a complete HTTP/HTTPS URL (e.g.,
https://cdn.sjinn.ai/uploads/image.jpg) - Validation: Must be a non-empty string
Optional Parameters
duration
- Type:
number(optional) - Default:
5 - Range:
3-15(seconds) - Note: Values below 3 are clamped to 3, values above 15 are clamped to 15. String values are automatically parsed to numbers
multi_shot
- Type:
boolean(optional) - Default:
true - Description: Enable multi-shot mode for more dynamic video composition with automatic scene transitions
model_mode
- Type:
string(optional) - Default:
"standard" - Supported Values:
"standard"- Standard quality, 200 credits/second"pro"- Enhanced quality with finer detail, 300 credits/second
tail_image_url
- Type:
string(optional) - Description: Image URL for the video's ending frame. When provided, the generated video will transition from the starting image to this tail image
- Format: Must be a complete HTTP/HTTPS URL
Pricing
- Standard Mode: 200 credits per second (duration × 200)
- Pro Mode: 300 credits per second (duration × 300)
- Examples:
- 5s Standard = 1,000 credits | 5s Pro = 1,500 credits
- 10s Standard = 2,000 credits | 10s Pro = 3,000 credits
- 15s Standard = 3,000 credits | 15s Pro = 4,500 credits
Request Examples
Standard Mode (5 seconds)
curl -X POST https://sjinn.ai/api/un-api/create_tool_task \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tool_type": "kling3-image-to-video-api",
"input": {
"prompt": "The character turns around slowly and smiles at the camera",
"image": "https://cdn.sjinn.ai/uploads/character.jpg",
"duration": 5
}
}'
Pro Mode with Tail Image
curl -X POST https://sjinn.ai/api/un-api/create_tool_task \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tool_type": "kling3-image-to-video-api",
"input": {
"prompt": "The scene gradually transitions from day to night with city lights turning on",
"image": "https://cdn.sjinn.ai/uploads/city-day.jpg",
"tail_image_url": "https://cdn.sjinn.ai/uploads/city-night.jpg",
"duration": 10,
"model_mode": "pro"
}
}'
Using JavaScript
const response = await fetch('https://sjinn.ai/api/un-api/create_tool_task', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool_type: 'kling3-image-to-video-api',
input: {
prompt: 'The character turns around slowly and smiles at the camera',
image: 'https://cdn.sjinn.ai/uploads/character.jpg',
duration: 5,
model_mode: 'standard',
},
}),
});
const result = await response.json();
console.log('Task ID:', result.data.task_id);
Using Python
import requests
url = 'https://sjinn.ai/api/un-api/create_tool_task'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
data = {
'tool_type': 'kling3-image-to-video-api',
'input': {
'prompt': 'The character turns around slowly and smiles at the camera',
'image': 'https://cdn.sjinn.ai/uploads/character.jpg',
'duration': 5,
'model_mode': 'standard'
}
}
response = requests.post(url, json=data, headers=headers)
result = response.json()
print('Task ID:', result['data']['task_id'])
Response Examples
Success Response
{
"success": true,
"errorMsg": "",
"error_code": 0,
"data": {
"task_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Error Response
{
"success": false,
"errorMsg": "image is required",
"error_code": 400
}
Best Practices
- Image Quality: Use high-quality, clear starting images for better video results
- Prompt Focus: Describe the desired motion and movement rather than the image contents. The model already sees the image
- Mode Selection: Use
standardmode for prototyping, switch toprofor final output when quality matters - Tail Image: Use
tail_image_urlfor controlled transitions between two specific frames. Both images should have similar composition for smooth results - Multi-Shot: Keep
multi_shotenabled (default) for more cinematic compositions. Disable it only if you need a single continuous shot - Duration Selection: Start with shorter durations (3-5s) for testing, then increase for final output. Cost scales linearly with duration
- Generation Time: Video generation typically takes 2-8 minutes depending on duration and mode
