canonical: https://jentic.com/apis/inworld.ai/inworld

# Inworld Public API

The Inworld Public API turns text into speech with Inworld voices, either as a single synthesis request or as a stream, and transcribes audio back to text. It lists the voices available to an account and clones a new voice from reference audio. Alongside the speech surface it exposes an OpenAI-compatible chat completions endpoint and creates realtime WebRTC sessions for live voice conversations.

## For AI agents

Synthesize or stream speech from text with Inworld voices, transcribe audio, clone a voice, call OpenAI-compatible chat completions, and open realtime WebRTC sessions.

## Scope

Does not handle music generation, video dubbing, or telephony call routing. Use for Inworld speech synthesis, transcription, voices, chat completions, and realtime sessions only.

## Capabilities

- Synthesize speech from text with a chosen voiceId and modelId
- Stream synthesized speech for low-latency playback
- List the voices available to the account
- Clone a voice from reference audio
- Transcribe audio to text
- Run OpenAI-compatible chat completions and create realtime WebRTC sessions

## Use cases

### AI agent that speaks its replies

A developer's agent connected through Jentic finds the Inworld text-to-speech operation by intent and calls it with the API key injected at execution time. It picks a voice from the voice list, sends its reply text, and returns audio, so a chat assistant can answer out loud without the key entering the agent's context.

Example prompt: Call GET `/voices/v1/voices`, pick a voice, then POST `/tts/v1/voice` with text 'Your order has shipped and arrives Thursday.' and that voiceId

### Voice cloning for a branded character

Games and branded assistants often need a consistent custom voice. Inworld can clone a voice from reference audio, after which the cloned voice appears in the voice list and can be used for synthesis and streaming like any built-in voice.

Example prompt: POST `/voices/v1/voices`:clone with reference audio, then confirm the new voice appears in GET `/voices/v1/voices`

### Transcribing recorded audio

Support teams and note-taking tools need text from recordings. The transcription endpoint converts audio to text, and the chat completions endpoint can then summarise or classify the transcript through the same Inworld account.

Example prompt: POST `/stt/v1/transcribe` with a recorded call, then POST `/v1/chat/completions` asking for a three-line summary of the transcript

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/tts/v1/voice` | Synthesize speech from text |
| POST | `/tts/v1/voice:stream` | Stream synthesized speech |
| GET | `/voices/v1/voices` | List available voices |
| POST | `/voices/v1/voices:clone` | Clone a voice |
| POST | `/stt/v1/transcribe` | Transcribe audio to text |
| POST | `/v1/chat/completions` | OpenAI-compatible chat completions |

## Key resources

- **Text to speech** — Synthesize or stream speech from text
- **Voices** — List available voices and clone a voice from reference audio
- **Speech to text** — Transcribe audio to text
- **Chat and realtime** — OpenAI-compatible chat completions and realtime WebRTC session creation

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 47 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 100 / 100
  - Developer Experience & Jentic Compatibility: 56 / 100
  - AI-Readiness & Agent Experience: 24 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 63 / 100
- **View full report:** https://jentic.com/apis/inworld.ai/inworld/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Inworld by hand means sending the API key in the Authorization header with a Basic prefix but without the usual base64 encoding, and handling separate synthesis, streaming, and transcription routes. Through Jentic you install once, import Inworld from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Inworld carries the text, voice, and audio in the request body, so rules bound which operations your agent may call rather than which voice it uses. You choose the operations it may call, so voice cloning or realtime session creation are not included unless you add them.
- **Credential handling:** Your Inworld API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'convert text to speech' or 'transcribe audio', and Jentic returns the matching Inworld operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **ElevenLabs** — Text to speech, voice cloning, and dubbing
- **Cartesia** — Low-latency streaming text to speech
- **Deepgram** — Speech recognition and audio intelligence

## FAQ

### What authentication does the Inworld Public API use?

Per its OpenAPI spec, Inworld uses an API key sent in the `Authorization` header in the exact format Basic followed by the key. The key is sent as a raw value and must not be base64-encoded as username:password credentials. Through Jentic the key is stored by your own instance and attached at call time.

### Can I stream text to speech with the Inworld API?

Yes. POST `/tts/v1/voice` returns synthesized speech for a text input, and POST `/tts/v1/voice`:stream streams the synthesized speech so playback can start before the whole clip is ready. GET `/voices/v1/voices` lists the voices you can pass as voiceId.

### What are the rate limits for the Inworld Public API?

The OpenAPI spec does not specify rate limits. Check the Inworld documentation at https://docs.inworld.ai for current limits.

### Is there an Inworld MCP server?

You don't need an MCP server to give your agent Inworld. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the speech, voice, and transcription operations it needs, discovered on demand rather than loaded into its context.

### Can I limit what my agent is allowed to do with Inworld?

Yes. For example, write a rule that allows only POST `/tts/v1/voice` and GET `/voices/v1/voices`, so the agent can speak with existing voices but cannot clone new voices or open realtime sessions, and every call it makes is logged.

### How do I synthesize speech through Jentic?

Import the Inworld Public API from the Jentic API Directory and store your API key once. Your agent searches for 'convert text to speech', gets POST `/tts/v1/voice` with its schema, and sends the required text plus a voiceId. To run it on your own infrastructure, install Jentic One from its GitHub repo.
