curl --request POST \
--url https://api.vidgo.ai/api/generate/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "kwaivgi/kling-video/ai-avatar/v2/standard",
"input": {
"audio_url": "https://example.com/audio.mp3",
"image_urls": [
"https://example.com/image.png"
]
}
}
'{
"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 Avatar 2.0 Standard
Create a speaking avatar with Kling Avatar 2.0 Standard, combining a character image and an audio performance with optional text direction.
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-video/ai-avatar/v2/standard",
"input": {
"audio_url": "https://example.com/audio.mp3",
"image_urls": [
"https://example.com/image.png"
]
}
}
'{
"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 Avatar 2.0 Standard
Create a speaking avatar with Kling Avatar 2.0 Standard, combining a character image and an audio performance with optional text direction.Available Models
- kwaivgi/kling-video/ai-avatar/v2/standard - Animate a character image with driving audio.
Duration Options
- Driving audio: 2-60 seconds - The service detects the duration of
audio_url. - Do not send
duration. The audio must be publicly reachable over HTTP(S) and no larger than 5 MiB.
Key Features
- Animate a character image with driving audio.
- Accepts exactly 1 image in
image_urls.
Advanced Parameters
Setmodel and optional callback_url at the request root. Place all workflow parameters, including output options, inside input.
Send only the input fields supported by this workflow. Unsupported input fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. Image inputs also accept image Data URIs or raw Base64. Image conversion and media validation complete before credits are deducted.
Image URLs
image_urls: Required. Supply exactly 1 item. Each item may be a public HTTP(S) URL, image Data URI, or raw Base64. Image order is preserved.
Audio URL
audio_url: Required. Provide the input audio URL. Use a publicly accessible HTTP(S) URL.
Prompt
prompt: Optional. Describe the scene and desired motion. Maximum 2500 characters after trimming.- Leading and trailing whitespace is trimmed. Omitted, null, empty, and whitespace-only values are treated as omitted.
Pricing
Usage is based on the detected driving-audio duration, rounded up to a whole second. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails.Authorizations
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.
Vidgo public model ID. Must be kwaivgi/kling-video/ai-avatar/v2/standard.
Available options:
kwaivgi/kling-video/ai-avatar/v2/standard Example:
"kwaivgi/kling-video/ai-avatar/v2/standard"
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.