curl --request POST \
--url https://api.vidgo.ai/api/generate/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "kwaivgi/kling-v3.0-pro/image-to-video",
"input": {
"duration": 3,
"prompt": "A gentle camera push brings the scene to life.",
"image_urls": [
"https://example.com/image.png"
],
"multi_shots": false,
"sound": true
}
}
'{
"code": 200,
"data": {
"task_id": "task-unified-example",
"status": "running",
"created_time": "2026-09-10T08:00:00"
}
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}"Request timeout"{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Kling
Kling 3.0 Pro Image to Video
Animate image references with Kling 3.0 Pro, with support for multiple shots, individual shot prompts, and optional sound.
POST
/
api
/
generate
/
submit
curl --request POST \
--url https://api.vidgo.ai/api/generate/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "kwaivgi/kling-v3.0-pro/image-to-video",
"input": {
"duration": 3,
"prompt": "A gentle camera push brings the scene to life.",
"image_urls": [
"https://example.com/image.png"
],
"multi_shots": false,
"sound": true
}
}
'{
"code": 200,
"data": {
"task_id": "task-unified-example",
"status": "running",
"created_time": "2026-09-10T08:00:00"
}
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}"Request timeout"{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}- Submit the request with
VIDGO_API_KEY. Atask_idis returned immediately. Keep it until the task reachesfinishedorfailed. - Use Query Task Status to retrieve the result. If you provide a
callback_url, Vidgo sends the result to your webhook when the task finishes or fails.
Kling 3.0 Pro Image to Video
Animate image references with Kling 3.0 Pro, with support for multiple shots, individual shot prompts, and optional sound.Available Models
- kwaivgi/kling-v3.0-pro/image-to-video - Generate video from image input.
Duration Options
- 3-15 seconds - Set
durationas an integer. Required. - With
multi_prompt, the shot durations must add up to the requestedduration.
Key Features
- Generate video from image input.
- Provide 1–2 images in
image_urls. - Describe individual shots with
multi_promptand enablemulti_shots. - Supply additional subject references through
kling_elements.
Advanced Parameters
Setmodel and optional callback_url at the request root. Place all workflow parameters, including output options, inside input.
Use the input fields listed below. Send durations as JSON integers and switches as JSON booleans. Use public HTTP(S) media URLs with a hostname and URL-based access.
- Each
multi_promptshot requires a nonblankpromptand an integerdurationfrom 1 to 12 seconds. - The shot durations must sum to the requested
duration. Setmulti_shots: trueandsound: truewhen usingmulti_prompt. - When supplying
kling_elements, provideimage_urlsand reference the element by@element_namein the prompt.
Image URLs
image_urls: Required. Provide publicly accessible image URLs. Supply 1–2 items: the start frame first, followed by an optional end frame. For multiple shots, provide one start frame. Each item must be an HTTP(S) URL.
Prompt
prompt: Required whenmulti_shotsisfalse. Describe the scene and desired motion. Length: 1-2,500 characters.- Use nonblank text for each prompt.
Multi-Prompt
-
multi_prompt: Required whenmulti_shotsistrue. Supply a nonempty array. Each item is an object. -
multi_prompt[].prompt: Required. Maximum length: 2,500 characters. -
multi_prompt[].duration: Required. Duration in seconds. Integer from1to12. - Each shot duration is measured in seconds.
Multi-Shot Generation
multi_shots: Optional. Enable multi-shot generation. Usetrueorfalse. Default:false.
Sound
sound: Optional. Settrueto generate audio orfalsefor a silent single shot. Multiple shots requiretrue. Default:true.
Kling Elements
-
kling_elements: Optional. Provide element-reference objects. Supply an array. Each item is an object. -
kling_elements[].name: Required. Nonblank element name used in@element_namereferences. -
kling_elements[].description: Optional. String. -
kling_elements[].element_input_urls: Provide 2–4 JPG/PNG image URLs, up to 10 MB per image, when defining the element with images. -
kling_elements[].element_input_video_urls: Provide one MP4/MOV video URL, up to 50 MB, when defining the element with video. Choose one media type per element.
Aspect Ratio
aspect_ratio: Optional. Accepted values:1:1,16:9,9:16. The first frame determines the output aspect ratio.
Authorizations
Use VIDGO_API_KEY.
Body
application/json
Place model and callback_url at the request root, and generation parameters inside input.
Example:
"kwaivgi/kling-v3.0-pro/image-to-video"
Input parameters for generation
- Option 1
- Option 2
Show child attributes
Show child attributes
Optional public HTTP(S) endpoint for task completion notifications. HTTPS is recommended. Omit, use null, or use an empty string to disable callbacks.