---
canonical_url: "https://docs.composio.dev/toolkits/inworld_ai"
markdown_url: "https://docs.composio.dev/toolkits/inworld_ai.md"
product: "platform"
version: null
last_updated: null
---

# Inworld AI

Inworld AI provides native APIs for speech synthesis, speech recognition, voice management, model discovery, embeddings, knowledge, and router management.

- **Category:** artificial intelligence
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 6
- **Triggers:** 0
- **Slug:** `INWORLD_AI`
- **Version:** 00000000_00

## Tools

### Create Embeddings

**Slug:** `INWORLD_AI_CREATE_EMBEDDINGS`

Generate one complete embedding vector per input text with an Inworld-hosted embedding model. Batches can produce large responses.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `texts` | array | Yes | Texts to embed, in output order. A call accepts 1-16 texts; each returned vector can be large. |
| `model_id` | string | No | Embedding model ID. The default model was verified against the live API. |
| `service_provider` | string | No | Embedding service provider identifier. Use SERVICE_PROVIDER_INWORLD with the verified default model. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Voice Preview

**Slug:** `INWORLD_AI_GET_VOICE_PREVIEW`

Generate the provider-selected, unmetered MP3 preview for a voice and return it as a downloadable file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `model_id` | string | Yes | TTS model used to select the preview. |
| `voice_id` | string | Yes | Voice ID from LIST_VOICES. System voice IDs are valid for previews. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Models

**Slug:** `INWORLD_AI_LIST_MODELS`

List Inworld-supported models and the pricing, modality, context, and output limits needed to choose a model. The endpoint returns the complete model catalog and can produce a moderately large response.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Voices

**Slug:** `INWORLD_AI_LIST_VOICES`

Return one page of voices available for preview or speech synthesis, with optional filtering, language selection, and sorting. The filter and languages parameters are mutually exclusive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Continuation token returned by a previous call; omit for the first page. |
| `filter` | string | No | Optional AIP-160 filter, for example source = "IVC" for workspace-owned voices or source = "SYSTEM" for system voices. Cannot be combined with languages. |
| `order_by` | string | No | Comma-separated voice fields to sort by, with optional desc after a field. |
| `languages` | array | No | Optional BCP-47 language codes to include, such as en-US. Cannot be combined with filter. |
| `page_size` | integer | No | Maximum voices to return in this page (1-2000). Smaller pages reduce response size. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Synthesize Speech

**Slug:** `INWORLD_AI_SYNTHESIZE_SPEECH`

Synthesize short text with an Inworld voice and return the complete audio as a downloadable file. Long text can exceed tool payload limits; prefer short text and compressed MP3 output.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | Yes | Text to speak (1-2000 characters). Prefer short text because generated base64 audio can exceed Composio/runtime payload limits. |
| `bit_rate` | integer | No | Optional encoded-audio bit rate supported by the selected encoding and model. |
| `language` | string | No | Optional BCP-47 language code when language should be selected explicitly. |
| `model_id` | string | Yes | TTS model ID, for example inworld-tts-2. |
| `voice_id` | string | Yes | Voice ID from LIST_VOICES. System voice IDs are accepted by synthesis. |
| `speaking_rate` | number | No | Optional speech-speed multiplier supported by the selected model. |
| `audio_encoding` | string ("MP3" | "LINEAR16" | "OGG_OPUS" | "MULAW" | "ALAW" | "FLAC") | No | Output audio encoding. MP3 is recommended to minimize transport size. |
| `sample_rate_hertz` | integer | No | Optional output sample rate in hertz supported by the selected encoding and model. |
| `enhance_generation` | boolean | No | Whether to enable the provider's generation enhancement when supported by the selected model. |
| `apply_text_normalization` | string ("ON" | "OFF" | "APPLY_TEXT_NORMALIZATION_UNSPECIFIED") | No | Text-normalization mode. ON expands values such as numbers and abbreviations, OFF reads text as written, and APPLY_TEXT_NORMALIZATION_UNSPECIFIED lets Inworld decide. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Transcribe Audio

**Slug:** `INWORLD_AI_TRANSCRIBE_AUDIO`

Synchronously transcribe a short audio file and return the final transcript, timestamps, and usage. Prefer compressed input to limit base64 payload growth.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `prompts` | array | No | Optional words or phrases that help the model recognize expected names or terminology. |
| `language` | string | No | Optional language code such as en; omit to use provider detection or default behavior. |
| `model_id` | string | No | Synchronous STT model ID. The default was live-verified; groq/whisper-large-v3 is also supported for synchronous use. |
| `audio_file` | object | Yes | Short audio file to transcribe. Prefer compressed MP3 and avoid large files because the API embeds audio as base64 JSON. |
| `audio_encoding` | string ("AUTO_DETECT" | "LINEAR16" | "MP3" | "OGG_OPUS" | "FLAC") | No | Encoding of audio_file; it must match the uploaded audio bytes. Use AUTO_DETECT for self-describing formats when the encoding is unknown. |
| `sample_rate_hertz` | integer | No | Sample rate in hertz for raw audio; omit for self-describing container formats such as MP3. |
| `number_of_channels` | integer | No | Channel count for raw audio; omit for self-describing container formats such as MP3. |
| `include_word_timestamps` | boolean | No | Whether to include per-word timestamps in the transcription. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
