Inworld TTS 2 API, Inworld TTS 1.5 Max API, Inworld TTS 1.5 Mini API: Pricing, Documentation

by Inworld

Inworld TTS 2 API converts text into highly expressive character speech. It enables real-time vocal generation with customizable emotional depth and inflection. Developers can instantly integrate dynamic voice lines into interactive narrative experiences. This engine ensures low-latency playback for conversational AI and gaming assets.

Get API Key
Inworld TTS API

Models Version

WELCOME BONUS

Get $5 Free Credit on First Payment

No strings attached — add funds and get $5 bonus instantly

Claim Your $5 →

Inworld TTS 2 API Documentation

Inworld's flagship voice model, with 90+ voices and inline direction — write [whisper] or [say excitedly] straight into the text. Asynchronous: submit returns a request_id; poll the status endpoint until the request is COMPLETED, then download the audio.

POST https://gateway.pixazo.ai/inworld-tts-2/v1/text-to-speech

Authentication

All requests require an API key passed via header.

HeaderTypeRequiredDescription
Ocp-Apim-Subscription-KeystringYesYour API subscription key

Text to Speech - Inworld TTS 2

Request Code

POST https://gateway.pixazo.ai/inworld-tts-2/v1/text-to-speech
Content-Type: application/json
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

{
  "text": "Hello from Pixazo. This is a text to speech demo.",
  "voice_id": "Dennis"
}
import requests

url = "https://gateway.pixazo.ai/inworld-tts-2/v1/text-to-speech"
headers = {
    "Content-Type": "application/json",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
  "text": "Hello from Pixazo. This is a text to speech demo.",
  "voice_id": "Dennis"
}

resp = requests.post(url, json=data, headers=headers)
print(resp.json())
const res = await fetch("https://gateway.pixazo.ai/inworld-tts-2/v1/text-to-speech", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
  },
  body: JSON.stringify({
  "text": "Hello from Pixazo. This is a text to speech demo.",
  "voice_id": "Dennis"
})
});
console.log(await res.json());
curl -X POST 'https://gateway.pixazo.ai/inworld-tts-2/v1/text-to-speech' \
  -H 'Content-Type: application/json' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY' \
  --data-raw '{"text": "Hello from Pixazo. This is a text to speech demo.", "voice_id": "Dennis"}'

Output

{
  "request_id": "inworld-tts-2_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/inworld-tts-2_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Webhook (Optional)

Instead of polling, you can receive a Webhook callback when the request reaches a terminal state. Provide a Webhook URL via header on the submit request.

HeaderRequiredDescription
X-Webhook-URLTo enableHTTPS URL to receive the Webhook callback.
X-Webhook-ModeNoterminal (default, one callback on COMPLETED/ERROR) or sync (per-poll callbacks).

Example: enable Webhook

curl -X POST 'https://gateway.pixazo.ai/inworld-tts-2/v1/text-to-speech' \
  -H 'Content-Type: application/json' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY' \
  -H 'X-Webhook-URL: https://your-server.com/webhook' \
  --data-raw '{"text": "Hello from Pixazo. This is a text to speech demo.", "voice_id": "Dennis"}'

Callback Payload (success)

{
  "request_id": "inworld-tts-2_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "inworld-tts-2",
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/{request_id}/output.mp3"
    ],
    "media_type": "audio/mpeg"
  },
  "created_at": "2026-08-01T09:14:16.102Z",
  "completed_at": "2026-08-01T09:14:22.870Z"
}

Failure callback shape

{
  "request_id": "inworld-tts-2_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "ERROR",
  "model_id": "inworld-tts-2",
  "error": "Description of the failure"
}

Delivery semantics

  • terminal mode: one Webhook callback when the request is COMPLETED or ERROR.
  • sync mode: a Webhook callback on each status change.
  • Callbacks are idempotent on request_id — de-duplicate on it.
  • Respond 200 within a few seconds; the Webhook endpoint must be HTTPS.

Request Parameters

ParameterRequiredTypeDefaultAllowed values / rangeDescription
textYesstringup to 2,000 charactersThe text to speak. Note this limit is tighter than most models — split longer copy into several requests.
voice_idYesstringe.g. Dennis, Loretta, HankWhich Inworld voice to use.
output_formatNostringmp3mp3, opus, wav, flacOutput container.
temperatureNonumber1.10.01 – 2Higher values give more expressive, more variable delivery; lower values are flatter and more consistent.
speaking_rateNonumber10.5 – 1.5Speed multiplier.
timestamp_typeNostringnonenone, word, characterRequest word- or character-level timings alongside the audio.

Voices

90+ voices across 15 production languages.

Example Request

{
  "text": "Hello from Pixazo. This is a text to speech demo.",
  "voice_id": "Dennis"
}

Example Response

{
  "request_id": "inworld-tts-2_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/inworld-tts-2_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Request Headers

HeaderRequiredDescription
Content-TypeYesapplication/json
Ocp-Apim-Subscription-KeyYesYour API subscription key.
X-Webhook-URLNoEnable Webhook callbacks (see Webhook section).

Response Handling

Status CodeMeaning
202Accepted — request queued; returns request_id and polling_url.
400Bad request — a missing or out-of-range parameter. The message names the field.
401Unauthorized — missing or invalid subscription key.
402Insufficient balance.
429Too many requests.
500Internal server error.

Retrieving Results

Poll the status endpoint with the request_id from the submit response until status is COMPLETED (or ERROR), then download output.media_url.

curl 'https://gateway.pixazo.ai/v2/requests/status/inworld-tts-2_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY'

Completed response

{
  "request_id": "inworld-tts-2_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "inworld-tts-2",
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/{request_id}/output.mp3"
    ],
    "media_type": "audio/mpeg"
  },
  "created_at": "2026-08-01T09:14:16.102Z",
  "completed_at": "2026-08-01T09:14:22.870Z"
}

Response Fields

FieldTypeDescription
request_idstringUnique request identifier.
statusstringQUEUED, PROCESSING, COMPLETED or ERROR.
model_idstringThe model that handled the request.
output.media_urlarrayURL of the generated audio file.
output.media_typestringMIME type of the audio.
created_atstringRequest creation timestamp.
completed_atstringCompletion timestamp.
errorstringError message when status is ERROR.

Status Values & Flow

QUEUEDPROCESSINGCOMPLETED (success) or ERROR (failure).

Pricing

Billed at $0.025 per 1,000 characters of input text, rounded up to the next whole 1,000. You are charged for the text you submit, not the length of the audio produced.

Input textBilled blocksCost
A short sentence (~50 characters)1$0.025
A paragraph (~800 characters)1$0.025
A 3,000-character article3$0.075
10,000 characters10$0.25

Failed requests are not billed.

Inworld TTS 2 API Pricing

Your request will cost $0.025 per 1,000 characters of input text.
90+ voices, about $0.025 per 1,000 characters
equivalent to $25 per 1M characters
2. Inworld TTS 1.5 Max

Inworld TTS 1.5 Max API Documentation

The stability-focused Inworld tier: sub-250ms latency with the steadiest delivery of the 1.5 line. Asynchronous: submit returns a request_id; poll the status endpoint until the request is COMPLETED, then download the audio.

POST https://gateway.pixazo.ai/inworld-tts-1-5-max/v1/text-to-speech

Authentication

All requests require an API key passed via header.

HeaderTypeRequiredDescription
Ocp-Apim-Subscription-KeystringYesYour API subscription key

Text to Speech - Inworld TTS 1.5 Max

Request Code

POST https://gateway.pixazo.ai/inworld-tts-1-5-max/v1/text-to-speech
Content-Type: application/json
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

{
  "text": "Hello from Pixazo. This is a text to speech demo.",
  "voice_id": "Dennis"
}
import requests

url = "https://gateway.pixazo.ai/inworld-tts-1-5-max/v1/text-to-speech"
headers = {
    "Content-Type": "application/json",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
  "text": "Hello from Pixazo. This is a text to speech demo.",
  "voice_id": "Dennis"
}

resp = requests.post(url, json=data, headers=headers)
print(resp.json())
const res = await fetch("https://gateway.pixazo.ai/inworld-tts-1-5-max/v1/text-to-speech", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
  },
  body: JSON.stringify({
  "text": "Hello from Pixazo. This is a text to speech demo.",
  "voice_id": "Dennis"
})
});
console.log(await res.json());
curl -X POST 'https://gateway.pixazo.ai/inworld-tts-1-5-max/v1/text-to-speech' \
  -H 'Content-Type: application/json' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY' \
  --data-raw '{"text": "Hello from Pixazo. This is a text to speech demo.", "voice_id": "Dennis"}'

Output

{
  "request_id": "inworld-tts-1-5-max_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/inworld-tts-1-5-max_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Webhook (Optional)

Instead of polling, you can receive a Webhook callback when the request reaches a terminal state. Provide a Webhook URL via header on the submit request.

HeaderRequiredDescription
X-Webhook-URLTo enableHTTPS URL to receive the Webhook callback.
X-Webhook-ModeNoterminal (default, one callback on COMPLETED/ERROR) or sync (per-poll callbacks).

Example: enable Webhook

curl -X POST 'https://gateway.pixazo.ai/inworld-tts-1-5-max/v1/text-to-speech' \
  -H 'Content-Type: application/json' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY' \
  -H 'X-Webhook-URL: https://your-server.com/webhook' \
  --data-raw '{"text": "Hello from Pixazo. This is a text to speech demo.", "voice_id": "Dennis"}'

Callback Payload (success)

{
  "request_id": "inworld-tts-1-5-max_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "inworld-tts-1-5-max",
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/{request_id}/output.mp3"
    ],
    "media_type": "audio/mpeg"
  },
  "created_at": "2026-08-01T09:14:16.102Z",
  "completed_at": "2026-08-01T09:14:22.870Z"
}

Failure callback shape

{
  "request_id": "inworld-tts-1-5-max_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "ERROR",
  "model_id": "inworld-tts-1-5-max",
  "error": "Description of the failure"
}

Delivery semantics

  • terminal mode: one Webhook callback when the request is COMPLETED or ERROR.
  • sync mode: a Webhook callback on each status change.
  • Callbacks are idempotent on request_id — de-duplicate on it.
  • Respond 200 within a few seconds; the Webhook endpoint must be HTTPS.

Request Parameters

ParameterRequiredTypeDefaultAllowed values / rangeDescription
textYesstringup to 2,000 charactersThe text to speak. Note this limit is tighter than most models — split longer copy into several requests.
voice_idYesstringe.g. Dennis, Loretta, HankWhich Inworld voice to use.
output_formatNostringmp3mp3, opus, wav, flacOutput container.
temperatureNonumber1.10.01 – 2Higher values give more expressive, more variable delivery; lower values are flatter and more consistent.
speaking_rateNonumber10.5 – 1.5Speed multiplier.
timestamp_typeNostringnonenone, word, characterRequest word- or character-level timings alongside the audio.

Voices

80+ voices across 15 languages.

Example Request

{
  "text": "Hello from Pixazo. This is a text to speech demo.",
  "voice_id": "Dennis"
}

Example Response

{
  "request_id": "inworld-tts-1-5-max_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/inworld-tts-1-5-max_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Request Headers

HeaderRequiredDescription
Content-TypeYesapplication/json
Ocp-Apim-Subscription-KeyYesYour API subscription key.
X-Webhook-URLNoEnable Webhook callbacks (see Webhook section).

Response Handling

Status CodeMeaning
202Accepted — request queued; returns request_id and polling_url.
400Bad request — a missing or out-of-range parameter. The message names the field.
401Unauthorized — missing or invalid subscription key.
402Insufficient balance.
429Too many requests.
500Internal server error.

Retrieving Results

Poll the status endpoint with the request_id from the submit response until status is COMPLETED (or ERROR), then download output.media_url.

curl 'https://gateway.pixazo.ai/v2/requests/status/inworld-tts-1-5-max_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY'

Completed response

{
  "request_id": "inworld-tts-1-5-max_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "inworld-tts-1-5-max",
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/{request_id}/output.mp3"
    ],
    "media_type": "audio/mpeg"
  },
  "created_at": "2026-08-01T09:14:16.102Z",
  "completed_at": "2026-08-01T09:14:22.870Z"
}

Response Fields

FieldTypeDescription
request_idstringUnique request identifier.
statusstringQUEUED, PROCESSING, COMPLETED or ERROR.
model_idstringThe model that handled the request.
output.media_urlarrayURL of the generated audio file.
output.media_typestringMIME type of the audio.
created_atstringRequest creation timestamp.
completed_atstringCompletion timestamp.
errorstringError message when status is ERROR.

Status Values & Flow

QUEUEDPROCESSINGCOMPLETED (success) or ERROR (failure).

Pricing

Billed at $0.035 per 1,000 characters of input text, rounded up to the next whole 1,000. You are charged for the text you submit, not the length of the audio produced.

Input textBilled blocksCost
A short sentence (~50 characters)1$0.035
A paragraph (~800 characters)1$0.035
A 3,000-character article3$0.105
10,000 characters10$0.35

Failed requests are not billed.

Inworld TTS 1.5 Max API Pricing

Your request will cost $0.035 per 1,000 characters of input text.
the steadiest delivery of the 1.5 line, sub-250ms
equivalent to $35 per 1M characters
3. Inworld TTS 1.5 Mini

Inworld TTS 1.5 Mini API Documentation

The fastest and cheapest Inworld tier, around 120ms latency — built for live voice agents where responsiveness beats polish. Asynchronous: submit returns a request_id; poll the status endpoint until the request is COMPLETED, then download the audio.

POST https://gateway.pixazo.ai/inworld-tts-1-5-mini/v1/text-to-speech

Authentication

All requests require an API key passed via header.

HeaderTypeRequiredDescription
Ocp-Apim-Subscription-KeystringYesYour API subscription key

Text to Speech - Inworld TTS 1.5 Mini

Request Code

POST https://gateway.pixazo.ai/inworld-tts-1-5-mini/v1/text-to-speech
Content-Type: application/json
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

{
  "text": "Hello from Pixazo. This is a text to speech demo.",
  "voice_id": "Dennis"
}
import requests

url = "https://gateway.pixazo.ai/inworld-tts-1-5-mini/v1/text-to-speech"
headers = {
    "Content-Type": "application/json",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
  "text": "Hello from Pixazo. This is a text to speech demo.",
  "voice_id": "Dennis"
}

resp = requests.post(url, json=data, headers=headers)
print(resp.json())
const res = await fetch("https://gateway.pixazo.ai/inworld-tts-1-5-mini/v1/text-to-speech", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
  },
  body: JSON.stringify({
  "text": "Hello from Pixazo. This is a text to speech demo.",
  "voice_id": "Dennis"
})
});
console.log(await res.json());
curl -X POST 'https://gateway.pixazo.ai/inworld-tts-1-5-mini/v1/text-to-speech' \
  -H 'Content-Type: application/json' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY' \
  --data-raw '{"text": "Hello from Pixazo. This is a text to speech demo.", "voice_id": "Dennis"}'

Output

{
  "request_id": "inworld-tts-1-5-mini_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/inworld-tts-1-5-mini_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Webhook (Optional)

Instead of polling, you can receive a Webhook callback when the request reaches a terminal state. Provide a Webhook URL via header on the submit request.

HeaderRequiredDescription
X-Webhook-URLTo enableHTTPS URL to receive the Webhook callback.
X-Webhook-ModeNoterminal (default, one callback on COMPLETED/ERROR) or sync (per-poll callbacks).

Example: enable Webhook

curl -X POST 'https://gateway.pixazo.ai/inworld-tts-1-5-mini/v1/text-to-speech' \
  -H 'Content-Type: application/json' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY' \
  -H 'X-Webhook-URL: https://your-server.com/webhook' \
  --data-raw '{"text": "Hello from Pixazo. This is a text to speech demo.", "voice_id": "Dennis"}'

Callback Payload (success)

{
  "request_id": "inworld-tts-1-5-mini_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "inworld-tts-1-5-mini",
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/{request_id}/output.mp3"
    ],
    "media_type": "audio/mpeg"
  },
  "created_at": "2026-08-01T09:14:16.102Z",
  "completed_at": "2026-08-01T09:14:22.870Z"
}

Failure callback shape

{
  "request_id": "inworld-tts-1-5-mini_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "ERROR",
  "model_id": "inworld-tts-1-5-mini",
  "error": "Description of the failure"
}

Delivery semantics

  • terminal mode: one Webhook callback when the request is COMPLETED or ERROR.
  • sync mode: a Webhook callback on each status change.
  • Callbacks are idempotent on request_id — de-duplicate on it.
  • Respond 200 within a few seconds; the Webhook endpoint must be HTTPS.

Request Parameters

ParameterRequiredTypeDefaultAllowed values / rangeDescription
textYesstringup to 2,000 charactersThe text to speak. Note this limit is tighter than most models — split longer copy into several requests.
voice_idYesstringe.g. Dennis, Loretta, HankWhich Inworld voice to use.
output_formatNostringmp3mp3, opus, wav, flacOutput container.
temperatureNonumber1.10.01 – 2Higher values give more expressive, more variable delivery; lower values are flatter and more consistent.
speaking_rateNonumber10.5 – 1.5Speed multiplier.
timestamp_typeNostringnonenone, word, characterRequest word- or character-level timings alongside the audio.

Voices

80+ voices across 15 languages.

Example Request

{
  "text": "Hello from Pixazo. This is a text to speech demo.",
  "voice_id": "Dennis"
}

Example Response

{
  "request_id": "inworld-tts-1-5-mini_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/inworld-tts-1-5-mini_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Request Headers

HeaderRequiredDescription
Content-TypeYesapplication/json
Ocp-Apim-Subscription-KeyYesYour API subscription key.
X-Webhook-URLNoEnable Webhook callbacks (see Webhook section).

Response Handling

Status CodeMeaning
202Accepted — request queued; returns request_id and polling_url.
400Bad request — a missing or out-of-range parameter. The message names the field.
401Unauthorized — missing or invalid subscription key.
402Insufficient balance.
429Too many requests.
500Internal server error.

Retrieving Results

Poll the status endpoint with the request_id from the submit response until status is COMPLETED (or ERROR), then download output.media_url.

curl 'https://gateway.pixazo.ai/v2/requests/status/inworld-tts-1-5-mini_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY'

Completed response

{
  "request_id": "inworld-tts-1-5-mini_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "inworld-tts-1-5-mini",
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/{request_id}/output.mp3"
    ],
    "media_type": "audio/mpeg"
  },
  "created_at": "2026-08-01T09:14:16.102Z",
  "completed_at": "2026-08-01T09:14:22.870Z"
}

Response Fields

FieldTypeDescription
request_idstringUnique request identifier.
statusstringQUEUED, PROCESSING, COMPLETED or ERROR.
model_idstringThe model that handled the request.
output.media_urlarrayURL of the generated audio file.
output.media_typestringMIME type of the audio.
created_atstringRequest creation timestamp.
completed_atstringCompletion timestamp.
errorstringError message when status is ERROR.

Status Values & Flow

QUEUEDPROCESSINGCOMPLETED (success) or ERROR (failure).

Pricing

Billed at $0.015 per 1,000 characters of input text, rounded up to the next whole 1,000. You are charged for the text you submit, not the length of the audio produced.

Input textBilled blocksCost
A short sentence (~50 characters)1$0.015
A paragraph (~800 characters)1$0.015
A 3,000-character article3$0.045
10,000 characters10$0.15

Failed requests are not billed.

Inworld TTS 1.5 Mini API Pricing

Your request will cost $0.015 per 1,000 characters of input text.
~120ms latency, the cheapest Inworld tier
equivalent to $15 per 1M characters

⚡ Performance

Live usage measured on Pixazo's gateway, split by model version. Generation time is how long a generation takes end-to-end (lower is better). Success rate is the percent of generations that complete (higher is better).

Show data for the last
Generations
1,100last 30d
~37 per day
Success rate
100.0%
of completed generations
Generation time
83.5savg
p95 87.4s
Requests
Jul 16max 300Aug 14
Inworld TTS 2Avg 17/day
Inworld TTS 1.5 MaxAvg 10/day
Inworld TTS 1.5 MiniAvg 10/day
Generation Time
Jul 16max 97.0sAug 14
Inworld TTS 2Avg 85.0s
Inworld TTS 1.5 MaxAvg 84.9s
Inworld TTS 1.5 MiniAvg 79.6s
Error Rate
Jul 16max 5.0%Aug 14
Inworld TTS 2Avg 0.0%
Inworld TTS 1.5 MaxAvg 0.0%
Inworld TTS 1.5 MiniAvg 0.0%

〰 Uptime

Percent of generations that succeeded over the selected period, per model version.

Avg. Success Rate (30d)
100.00%
across all generations of this model family
Uptime
Jul 16max 100%Aug 14
Inworld TTS 2Avg 100.00%
Inworld TTS 1.5 MaxAvg 100.00%
Inworld TTS 1.5 MiniAvg 100.00%