Skip to main content
POST
Submit with your Vidgo API key, then query task status using the returned task ID. An optional callback receives the final result. The submit response above is an initial-state illustration, not the completed video response.

Parameters

Use model kwaivgi/kling-video-o3-std/image-to-video. Put generation parameters inside input.
  • image_urls: Required: an array of 1–2 images. The first is the starting frame; the optional second is the ending frame. Accepts public HTTP(S) URLs, image Data URIs or raw Base64 image data.
  • prompt: Required when multi_shots=false. Describe the scene, action and camera movement. Use nonblank text, up to 2,500 characters after trimming. Omit prompt when multi_shots=true.
  • multi_prompt: Required when multi_shots=true; omit in single-shot mode. Supply at least one shot, each with a nonblank prompt of up to 2,500 characters and an integer duration of 1–12 seconds. Shot durations must sum to the top-level duration (3–15 seconds). Extra fields inside a shot are ignored.
  • duration: Required integer from 3 to 15 seconds. In multi-shot mode, this must equal the sum of all shot durations. Credits are calculated using this value.
  • multi_shots: Required: explicitly send false for a single shot or true for multiple shots. Single-shot mode requires prompt. Multi-shot mode requires multi_prompt and sound=true, with no nonblank top-level prompt. Omitting this field is an error.
  • sound: Required: explicitly send true to generate audio or false for video without audio. Single-shot mode accepts either value; multi-shot mode requires true.
  • aspect_ratio: May be omitted. If provided, use 16:9, 9:16 or 1:1. Image-to-video ignores this value; framing is determined by the input image.
Use standard JSON numbers and booleans. For compatibility, integer strings such as “5” are accepted. Boolean strings true/1/yes/y/on mean true; false/0/no/n/off mean false. These strings are case-insensitive and trimmed. Numeric 1 and 0 are also accepted for boolean fields. Numeric and boolean prompt values are converted to text; 0, false and null are treated as empty. Objects and arrays are not accepted as prompts. Unsupported input fields, including reference_image_urls and kling_elements, are rejected. HTTP(S) URLs must have a hostname and no embedded credentials.

Pricing

10 credits/s without sound; 13 credits/s with sound. Credits = duration × rate. Failed generation tasks are refunded.

Default example: The Miniature Drawbridge

This is the same default example shown on the model page.
Starting frame Ending frame Download this video

Completed result from the status endpoint

GET /api/generate/status/{task_id} The response below records this verified example. For a new generation, query the task ID returned by your own submission.
The API validates prompts up to 2,500 characters. Some multi-shot generation requests have failed when a shot prompt exceeded 512 characters. We recommend keeping each shot prompt within 512 characters; this recommendation does not change the API validation limit.

Authorizations

Authorization
string
header
required

Use VIDGO_API_KEY.

Body

application/json

Keep model and callback_url at the root. Unknown root fields are ignored; unsupported input fields are rejected.

model
enum<string>
required

Vidgo public model ID. Must be kwaivgi/kling-video-o3-std/image-to-video.

Available options:
kwaivgi/kling-video-o3-std/image-to-video
Example:

"kwaivgi/kling-video-o3-std/image-to-video"

input
object
required

Video generation parameters. Use standard JSON numbers and booleans. For compatibility, integer strings such as "5" are accepted. Boolean strings true/1/yes/y/on mean true; false/0/no/n/off mean false. These strings are case-insensitive and trimmed. Numeric 1 and 0 are also accepted for boolean fields. Numeric and boolean prompt values are converted to text; 0, false and null are treated as empty. Objects and arrays are not accepted as prompts.

callback_url
string | null

Optional public HTTP(S) endpoint for task completion notifications. HTTPS is recommended. Omit, use null, or use an empty string to disable callbacks.

Response

Task submitted

code
enum<integer>
required
Available options:
200
data
object
required