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

# Kling Video To Audio

> Use DeerAPI to call the Kling Video To Audio endpoint with request details, response details, examples, and an OpenAPI playground.

## Overview

Use this endpoint to call the Kling Video To Audio workflow through DeerAPI. The API reference on this page shows the request schema, response schema, authentication requirements, and runnable examples for the configured endpoint.

## Before you start

Use the DeerAPI base URL and pass your API Key in the `Authorization` header:

```text theme={null}
https://api.deerapi.com
```

```text theme={null}
Authorization: Bearer $DEERAPI_KEY
```

## Model selection

Choose a current model ID from the [live pricing page](https://api.deerapi.com/pricing). Model availability changes over time, so avoid copying a model ID from an old project without checking the live list first.

## Implementation notes

* Use the OpenAPI playground for the exact request fields accepted by this endpoint.
* Keep API Keys on the server side when you build production applications.
* Log the request ID from failed calls so support can investigate the request.
* Retry `429`, `500`, and `503` responses with exponential backoff.


## OpenAPI

````yaml /api/openapi/audio/kling/post-video-to-sfx.openapi.json POST /kling/v1/audio/video-to-audio
openapi: 3.1.0
info:
  title: Video to Audio API
  version: 1.0.0
  description: Create a Kling audio-generation task from a source video.
servers:
  - url: https://api.deerapi.com
security:
  - bearerAuth: []
paths:
  /kling/v1/audio/video-to-audio:
    post:
      summary: Create a Kling video-to-audio task
      description: >-
        Submit either a Kling `video_id` or an accessible `video_url`, then poll
        the returned task id through the generic Kling query route.
      operationId: video_to_audio
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              oneOf:
                - required:
                    - video_id
                - required:
                    - video_url
              properties:
                external_task_id:
                  type: string
                  description: >-
                    Optional user-defined task ID for your own tracking. Does
                    not replace the system-generated task ID. Must be unique per
                    account.
                  default: audio-video-task-001
                callback_url:
                  type: string
                  description: >-
                    Webhook URL for task status notifications. The server sends
                    a callback when the task status changes.
                  default: https://example.com/webhook
                video_id:
                  type: string
                  description: >-
                    ID of a Kling-generated video. Only videos created within
                    the last 30 days with a duration of 3–20 seconds are
                    supported. Mutually exclusive with `video_url` — exactly one
                    must be provided.
                  default: '861034216165875784'
                video_url:
                  type: string
                  description: >-
                    Accessible URL of the source video. Accepted formats: MP4,
                    MOV. Max 100 MB, 720p or 1080p resolution, duration 3–20
                    seconds. Mutually exclusive with `video_id` — exactly one
                    must be provided.
                  default: >-
                    http://runwaycdn.rixapi.com/attachments/video/runway/20241015/82bc23c83b5c32e75059c8328df5cffb.mp4
              default:
                video_url: >-
                  http://runwaycdn.rixapi.com/attachments/video/runway/20241015/82bc23c83b5c32e75059c8328df5cffb.mp4
            examples:
              Default:
                summary: Default
                value:
                  video_url: https://example.com/input-video.mp4
            example:
              video_url: https://example.com/input-video.mp4
      responses:
        '200':
          description: Task accepted.
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - message
                  - data
                properties:
                  code:
                    type: integer
                    description: |
                      Error code; specific error code definition
                  message:
                    type: string
                    description: |
                      Error message
                  data:
                    type: object
                    required:
                      - task_id
                      - task_status
                      - created_at
                      - updated_at
                    properties:
                      task_id:
                        type: string
                        description: |
                          Task ID, system-generated
                      task_status:
                        type: string
                        description: >
                          Task status, enum values: submitted, processing,
                          succeed, failed
                      created_at:
                        type: integer
                        description: |+
                          Task creation time, Unix timestamp, in ms

                      updated_at:
                        type: integer
                        description: |
                          Task update time, Unix timestamp, in ms
      x-codeSamples:
        - lang: Shell
          label: cURL
          source: |
            curl https://api.deerapi.com/kling/v1/audio/video-to-audio \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer $DEERAPI_KEY" \
              -d '{
                "video_url": "https://example.com/input-video.mp4"
              }'
        - lang: Python
          label: requests
          source: |
            import os
            import requests

            url = "https://api.deerapi.com/kling/v1/audio/video-to-audio"
            headers = {
                "Authorization": "Bearer " + os.environ["DEERAPI_KEY"],
                "Content-Type": "application/json",
            }
            payload = {
              "video_url": "https://example.com/input-video.mp4"
            }

            response = requests.post(url, headers=headers, json=payload)
            print(response.json())
        - lang: JavaScript
          label: fetch
          source: >
            const response = await
            fetch("https://api.deerapi.com/kling/v1/audio/video-to-audio", {
              method: "POST",
              headers: {
                Authorization: `Bearer ${process.env.DEERAPI_KEY}`,
                "Content-Type": "application/json",
              },
              body: JSON.stringify({
                "video_url": "https://example.com/input-video.mp4"
              }),
            });


            console.log(await response.json());
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Use a DeerAPI API Key as a Bearer token.

````