Kling AI - Image to Video
Transform static images into dynamic videos using Kling AI's sophisticated image-to-video generation technology with extensive customization options including multiple aspect ratios, quality modes, and advanced generation controls.
Note: Image files must first be uploaded using the Asset API before processing. The imageUrl parameter should contain the path returned from the Asset API upload.
Endpoint
Request Headers
| Field | Value |
|---|---|
| API-KEY | <api-key> |
| Content-Type | application/json |
Request Parameters
| Field Name | Type | Example | Description | Required |
|---|---|---|---|---|
| type | string | IMAGE_TO_VIDEO | Feature identifier | ✔️ |
| model | string | kling | AI model to use | ✔️ |
| conversationId | string | IMAGE_TO_VIDEO | Conversation context | ✔️ |
| promptObject.imageUrl | string | images/example.jpg | Source image path from Asset API upload | ✔️ |
| promptObject.prompt | string | gentle waves moving | Text description of desired motion/scene | ❌ |
| promptObject.duration | number | 5 | Duration of video in seconds (5 or 10) | ✔️ |
| promptObject.aspect_ratio | string | 16:9 | Video aspect ratio | ✔️ |
| promptObject.mode | string | std | Quality mode (std or pro) | ✔️ |
| promptObject.version | string | 1.0 | Model version to use | ✔️ |
| promptObject.cfg_scale | number | 0.5 | CFG scale for generation control (0-1) | ✔️ |
| promptObject.negative_prompt | string | people, buildings | What not to include in the video | ❌ |
Code Examples
- cURL
- JavaScript
- Python
curl --location 'https://api.1min.ai/api/features' \
--header 'API-KEY: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"type": "IMAGE_TO_VIDEO",
"model": "kling",
"conversationId": "IMAGE_TO_VIDEO",
"promptObject": {
"imageUrl": "images/2025_10_22_07_10_43_846_elon-musk.jpg",
"prompt": "gentle waves rolling on a peaceful beach with soft sunlight",
"duration": 5,
"aspect_ratio": "16:9",
"mode": "pro",
"version": "1.5",
"cfg_scale": 0.5,
"negative_prompt": "people, buildings"
}
}'
fetch('https://api.1min.ai/api/features', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'API-KEY': 'YOUR_API_KEY'
},
body: JSON.stringify({
type: 'IMAGE_TO_VIDEO',
model: 'kling',
conversationId: 'IMAGE_TO_VIDEO',
promptObject: {
imageUrl: 'images/2025_10_22_07_10_43_846_elon-musk.jpg',
prompt: 'gentle waves rolling on a peaceful beach with soft sunlight',
duration: 5,
aspect_ratio: '16:9',
mode: 'pro',
version: '1.5',
cfg_scale: 0.5,
negative_prompt: 'people, buildings'
}
})
})
import requests
url = "https://api.1min.ai/api/features"
headers = {
"Content-Type": "application/json",
"API-KEY": "YOUR_API_KEY"
}
data = {
"type": "IMAGE_TO_VIDEO",
"model": "kling",
"conversationId": "IMAGE_TO_VIDEO",
"promptObject": {
"imageUrl": "images/2025_10_22_07_10_43_846_elon-musk.jpg",
"prompt": "gentle waves rolling on a peaceful beach with soft sunlight",
"duration": 5,
"aspect_ratio": "16:9",
"mode": "pro",
"version": "1.5",
"cfg_scale": 0.5,
"negative_prompt": "people, buildings"
}
}
response = requests.post(url, headers=headers, json=data)
Interactive Playground
API Playground
https://api.1min.ai/api/featuresPath to the source image file uploaded via Asset API
Choose the duration for your generated video
Choose the aspect ratio for your video output
Select the Kling AI model version for video generation
Controls how closely the generation follows the prompt (0-1, higher values = stricter adherence)
Describe elements you want to avoid in the generated video
Generated cURL Command:
curl -X POST "https://api.1min.ai/api/features" \
-H "API-KEY: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"type": "IMAGE_TO_VIDEO",
"model": "kling",
"conversationId": "IMAGE_TO_VIDEO",
"promptObject": {
"imageUrl": "images/2025_10_22_07_10_43_846_elon-musk.jpg",
"prompt": "gentle waves rolling on a peaceful beach with soft sunlight",
"duration": 5,
"aspect_ratio": "16:9",
"mode": "pro",
"version": "1.5",
"cfg_scale": 0.5,
"negative_prompt": "people, buildings"
}
}'
Response
{}