> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vidgo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 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.

<Tip>
  1. Submit the request with `VIDGO_API_KEY`. A `task_id` is returned immediately. Keep it until the task reaches `finished` or `failed`.
  2. Use [Query Task Status](/api-manual/task-management/status) to retrieve the result. If you provide a `callback_url`, Vidgo sends the result to your [webhook](/api-manual/task-management/webhooks) when the task finishes or fails.
</Tip>

# 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

Set `model` 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.


## OpenAPI

````yaml api-manual/video-series/kwaivgi-kling-video-ai-avatar-v2-standard.json POST /api/generate/submit
openapi: 3.0.0
info:
  title: Vidgo API - Kling Avatar 2.0 Standard
  description: >-
    Create a speaking avatar with Kling Avatar 2.0 Standard, combining a
    character image and an audio performance with optional text direction.
  version: 1.0.0
servers:
  - url: https://api.vidgo.ai
security:
  - BearerAuth: []
paths:
  /api/generate/submit:
    post:
      tags:
        - Video Series
      summary: Kling Avatar 2.0 Standard
      description: >-
        Send only the fields shown for this workflow. Parameters from other
        workflows are rejected before credits are deducted.


        Optional prompt strings are trimmed; null, empty, and whitespace-only
        prompts are omitted. Provide exactly one image as a public HTTP(S) URL,
        image Data URI, or raw Base64. Audio requires a public HTTP(S) URL with
        no embedded credentials. Base64 conversion and media validation happen
        before credits are deducted.


        Driving audio must be between two and sixty seconds. Usage is based on
        its detected duration, rounded up to a whole second.


        Driving audio must be a publicly reachable HTTP(S) file of at most 5 MiB
        (5,242,880 bytes).
      operationId: submit_kwaivgi_kling_video_ai_avatar_v2_standard
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              additionalProperties: true
              description: >-
                Keep model and callback_url at the root. Unknown root fields are
                ignored; unsupported input fields are rejected.
              properties:
                model:
                  type: string
                  enum:
                    - kwaivgi/kling-video/ai-avatar/v2/standard
                  example: kwaivgi/kling-video/ai-avatar/v2/standard
                  description: >-
                    Vidgo public model ID. Must be
                    `kwaivgi/kling-video/ai-avatar/v2/standard`.
                input:
                  type: object
                  required:
                    - audio_url
                    - image_urls
                  properties:
                    image_urls:
                      type: array
                      items:
                        type: string
                        minLength: 1
                        description: Image urls.
                      minItems: 1
                      maxItems: 1
                      description: >-
                        Exactly one image: public HTTP(S) URL, image Data URI,
                        or raw Base64. Base64 is converted to a URL before
                        submission.
                    audio_url:
                      type: string
                      format: uri
                      description: >-
                        Public HTTP(S) driving audio URL. Duration must be 2–60
                        seconds, inclusive; file size must not exceed 5 MiB.
                    prompt:
                      type: string
                      nullable: true
                      maxLength: 2500
                      description: >-
                        Optional prompt, maximum 2500 characters. Leading and
                        trailing whitespace is trimmed; null, empty, or
                        whitespace-only values are omitted.
                  additionalProperties: false
                callback_url:
                  type: string
                  nullable: true
                  description: >-
                    Optional public HTTP(S) endpoint for task completion
                    notifications. HTTPS is recommended. Omit, use null, or use
                    an empty string to disable callbacks.
            examples:
              basic:
                summary: Basic workflow
                value:
                  model: kwaivgi/kling-video/ai-avatar/v2/standard
                  input:
                    audio_url: https://example.com/audio.mp3
                    image_urls:
                      - https://example.com/image.png
              callback:
                summary: Receive a completion callback
                value:
                  model: kwaivgi/kling-video/ai-avatar/v2/standard
                  input:
                    audio_url: https://example.com/audio.mp3
                    image_urls:
                      - https://example.com/image.png
                  callback_url: https://your-domain.com/callback
      responses:
        '200':
          description: Task submitted
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - data
                properties:
                  code:
                    type: integer
                    enum:
                      - 200
                  data:
                    type: object
                    required:
                      - task_id
                      - status
                      - created_time
                    properties:
                      task_id:
                        type: string
                      status:
                        type: string
                        enum:
                          - not_started
                          - running
                          - finished
                          - failed
                      created_time:
                        type: string
                        format: date-time
              example:
                code: 200
                data:
                  task_id: task-unified-example
                  status: running
                  created_time: '2026-09-10T08:00:00'
        '400':
          description: >-
            Invalid input, unsupported tier, inaccessible media, or insufficient
            credits
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '401':
          description: Invalid credentials
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '404':
          description: Unknown or disabled model
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '408':
          description: Request timed out
          content:
            text/plain:
              schema:
                type: string
              example: Request timeout
        '422':
          description: Invalid JSON or non-object request body
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '429':
          description: Rate or API key credit limit exceeded
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '502':
          description: Unable to create the upstream generation task
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '503':
          description: Model configuration or capability is not approved
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Use VIDGO_API_KEY.

````