# Inworld Voice Cloning

> Run Inworld Voice Cloning by inworld online or via API. from $0.00000277/sec, no setup.

**URL:** https://inference.sh/apps/inworld/voice-cloning
**Last updated:** 2026-05-12

---

Clone a voice from 5-15 seconds of audio using Inworld instant voice cloning. Use the cloned voice ID with any Inworld TTS model.

- app: `inworld/voice-cloning`
- maker: [inworld](https://inference.sh/apps/inworld.md)
- category: [audio](https://inference.sh/apps/category/audio.md)
- tasks: [voice cloning](https://inference.sh/apps/tag/voice-cloning.md)
- price: from $0.00000277/sec
- runs via: api, javascript and python sdk, belt cli, mcp

## voice-cloning API Guide

### About
clone a voice from 5-15 seconds of audio using inworld instant voice cloning. use the cloned voice id with any inworld tts model.

### 1. Calling the API

#### Install the Client

```bash
pip install inferencesh
```

#### Setup Your API Key
Set `INFERENCE_API_KEY` as an environment variable. Get your key from settings → api keys.

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

#### Run and Get Result

```python
import os
from inferencesh import inference

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


result = client.run({
        "app": "inworld/voice-cloning@2y757pg9",
        "input": {
            "audio": "https://example.com/file.png",
            "display_name": "display_name"
        }
    })

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

#### Stream Live Updates

```python
import os
from inferencesh import inference

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


## stream=True yields updates as they arrive
for update in client.run({
        "app": "inworld/voice-cloning@2y757pg9",
        "input": {
            "audio": "https://example.com/file.png",
            "display_name": "display_name"
        }
    }, stream=True):
    if update.get("progress"):
        print(f"progress: {update['progress']}%")
    if update.get("output"):
        print(f"output: {update['output']}")
```

### 2. Authentication
The API uses API keys for authentication. See the authentication docs for detailed setup instructions.

### 3. Files

#### Automatic Upload

```python
## local file paths are automatically uploaded
result = client.run({
    "app": "inworld/voice-cloning@2y757pg9",
    "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/...
```

### 4. Schema

#### Input
- **audio** (string) *required*: Audio sample of the voice to clone (WAV or MP3, 5-15 seconds). Longer clips are cut off at 15s.
- **display_name** (string) *required*: Name for the cloned voice (e.g. 'My Custom Voice').
- **language** (string): Language of the voice sample.
- **description** (string): Optional description of the voice (e.g. 'Warm female narrator with British accent').
- **remove_background_noise** (boolean): Remove background noise from the audio sample before cloning.
- **preview_text** (string): Optional text to generate a preview with the cloned voice. If provided, returns a preview audio file.

#### Output
- **display_name** (string): Display name of the cloned voice
- **language** (string): Language code of the cloned voice
- **preview** (string): Preview audio generated with the cloned voice (if preview_text was provided)
- **voice_id** (string): The cloned voice ID — use this with any Inworld TTS model

## other audio apps

- [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
- [Eleven v4 Turbo](https://inference.sh/apps/elevenlabs/eleven-v4-turbo.md): $0.04/1K characters

## faq

### how much does Inworld Voice Cloning cost?

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

### how do I run Inworld Voice Cloning via api?

call inworld/voice-cloning with the javascript or python sdk, the rest api, or `belt app run inworld/voice-cloning` from a terminal. the api reference on this page lists every input.

### who makes Inworld Voice Cloning?

Inworld Voice Cloning is made by inworld and runs on inference shell. every inworld app is listed at https://inference.sh/apps/inworld.

### can my agent use Inworld Voice Cloning?

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 Inworld Voice Cloning?

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