# Kling Video to Audio

> Run Kling Video to Audio by klingai online or via API. $0.0088/video, no setup.

**URL:** https://inference.sh/apps/klingai/video-to-audio
**Last updated:** 2026-08-07

---

Kling Video-to-Audio - add generated sound effects, ambient audio, or music to any video. Works with Kling-generated and user-uploaded videos (3-20s).

- app: `klingai/video-to-audio`
- maker: [klingai](https://inference.sh/apps/klingai.md)
- category: [audio](https://inference.sh/apps/category/audio.md)
- input → output: video → audio
- tasks: [sound effects](https://inference.sh/apps/tag/sound-effects.md), [video to audio](https://inference.sh/apps/tag/video-to-audio.md)
- price: $0.0088/video
- runs via: api, javascript and python sdk, belt cli, mcp

## video-to-audio API Guide

### About
kling video-to-audio - add generated sound effects, ambient audio, or music to any video. works with kling-generated and user-uploaded videos (3-20s).

### Get an API Key
Create one in [settings → api keys](https://app.inference.sh/settings/keys). The examples read it from `INFERENCE_API_KEY`.

```bash
export INFERENCE_API_KEY="inf_your_key"
```

### 1. Calling the API

#### Install the Client

```bash
pip install inferencesh
```

#### Run and Get Result
Submit a request and wait for the final result.

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])

## version @6yhw75v8 pinned
result = client.run({
        "app": "klingai/video-to-audio@6yhw75v8",
        "input": {
            "video": "https://example.com/file.png"
        }
    })

print(result["output"])
```

#### Stream Live Updates
Get real-time progress updates as the task runs.

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])

## version @6yhw75v8 pinned
## stream=True yields updates as they arrive
for update in client.run({
        "app": "klingai/video-to-audio@6yhw75v8",
        "input": {
            "video": "https://example.com/file.png"
        }
    }, stream=True):
    if update.get("progress"):
        print(f"progress: {update['progress']}%")
    if update.get("output"):
        print(f"output: {update['output']}")
```

#### Run in the Background
Start the task and get its id back right away, then check on it with `GET /tasks/{id}`. It is done when `status` is 10 (completed), 11 (failed) or 12 (cancelled).

```python
import os
from inferencesh import inference, TaskStatus

client = inference(api_key=os.environ["INFERENCE_API_KEY"])

## returns as soon as the task is created
task = client.run({
        "app": "klingai/video-to-audio@6yhw75v8",
        "input": {
            "video": "https://example.com/file.png"
        }
    }, wait=False)

## later: read its current state
state = client.tasks.get(task["id"]).data
if state["status"] == TaskStatus.COMPLETED:
    print(state["output"])
```

### 2. Files

#### Automatic Upload

```python
## local file paths are automatically uploaded
result = client.run({
    "app": "klingai/video-to-audio@6yhw75v8",
    "input": {
        "image": "/path/to/local/image.png",  # detected & uploaded
        "audio": "https://example.com/audio.mp3",  # url passed through
    }
})
```

#### Manual Upload

```python
## upload and get a hosted URL
file = client.files.upload("/path/to/file.png")
print(file.uri)  # https://cloud.inference.sh/...
```

### 3. Schema

#### Input
- **video** (string) *required*: Video to add audio to. 3-20 seconds duration. Formats: mp4, mov.
- **sound_effect_prompt** (string): Sound effect description. E.g. 'Ocean waves, seagulls, gentle wind'. Max 200 chars.
- **bgm_prompt** (string): Background music description. E.g. 'Upbeat electronic background music'. Max 200 chars.
- **asmr_mode** (boolean): Enable ASMR mode for enhanced detailed sound effects. Good for immersive content.

#### Output
- **video** (string): The video with generated audio.

## other audio apps

- [Pika H3 Flex Audio Stems](https://inference.sh/apps/pika/pika-h3-flex-audio-stems.md): $0.001/stem-sec (3 stems: dialogue, music, effect)
- [Fish Audio Drama 3](https://inference.sh/apps/fish-audio/drama-3.md): $50.00/1M UTF-8 bytes
- [Eleven Flash v2.5](https://inference.sh/apps/elevenlabs/eleven-flash-v2-5.md): $0.04/1K characters
- [Eleven Multilingual v2](https://inference.sh/apps/elevenlabs/eleven-multilingual-v2.md): $0.08/1K characters
- [Eleven v3](https://inference.sh/apps/elevenlabs/eleven-v3.md): $0.08/1K characters

## faq

### how much does Kling Video to Audio cost?

$0.0088/video. you pay per run from your inference shell credits. no subscription is required.

### how do I run Kling Video to Audio via api?

call klingai/video-to-audio with the javascript or python sdk, the rest api, or `belt app run klingai/video-to-audio` from a terminal. the api reference on this page lists every input.

### who makes Kling Video to Audio?

Kling Video to Audio is made by klingai and runs on inference shell. every klingai app is listed at https://inference.sh/apps/klingai.

### can my agent use Kling Video to Audio?

yes. agents call it as a tool through the inference shell mcp server (https://api.inference.sh/mcp), the belt cli or the sdk, and pay per run like you do.

### what are the alternatives to Kling Video to Audio?

other audio apps on inference shell include Pika H3 Flex Audio Stems, Fish Audio Drama 3, Eleven Flash v2.5, Eleven Multilingual v2. they run through the same api, so switching is a one-line change.
