per character
inworld-ai/realtime-tts-2
deepinfra/inworld-ai/realtime-tts-2
Realtime TTS 2.0 is a low-latency text-to-speech model with natural language steering, allowing you to control tone and emotion directly in the prompt (e.g., “[be happy and upbeat] Hello!”). It supports cross-lingual voices and multiple languages, enabling the same voice to speak consistently across different languages. This is an early access preview ahead of full launch, with ongoing improvements to voice quality and steering.
Price
Providers
Each row is one seller. Prices are the published rate from that source. A dash means that source did not publish the amount. Sorted by a 3:1 blend of input and output.
| Provider | Tag | Quant | Input | Output | Context | Uptime | Status | Source |
|---|---|---|---|---|---|---|---|---|
| DeepInfra | — | — | Not published— | Not published— | — | — | Listed | deepinfra |
Monthly bill
Token models use the token counts. Image, video, and audio models use units times the flat rate.
No published price at list price for this workload
Every rate
| Unit | Input | Output | Flat | Confidence |
|---|---|---|---|---|
| character | $35/character | Not published— | Not published— | official |
Price history
input or flat output
Daily snapshots
| UTC date | Unit | Input | Output | Flat |
|---|---|---|---|---|
| 2026-10-08 | character | $35 | Not published— | Not published— |
| 2026-10-09 | character | $35 | Not published— | Not published— |
| 2026-10-10 | character | $35 | Not published— | Not published— |
| 2026-10-11 | character | $35 | Not published— | Not published— |
| 2026-10-12 | character | $35 | Not published— | Not published— |
| 2026-10-13 | character | $35 | Not published— | Not published— |
| 2026-10-14 | character | $35 | Not published— | Not published— |
| 2026-10-15 | character | $35 | Not published— | Not published— |
| 2026-10-16 | character | $35 | Not published— | Not published— |
| 2026-10-17 | character | $35 | Not published— | Not published— |
| 2026-10-18 | character | $35 | Not published— | Not published— |
| 2026-10-19 | character | $35 | Not published— | Not published— |
| 2026-10-20 | character | $35 | Not published— | Not published— |
| 2026-10-21 | character | $35 | Not published— | Not published— |
| 2026-10-22 | character | $35 | Not published— | Not published— |
| 2026-10-23 | character | $35 | Not published— | Not published— |
| 2026-10-24 | character | $35 | Not published— | Not published— |
| 2026-10-25 | character | $35 | Not published— | Not published— |
| 2026-10-26 | character | $35 | Not published— | Not published— |
| 2026-10-27 | character | $35 | Not published— | Not published— |
| 2026-10-28 | character | $35 | Not published— | Not published— |
| 2026-10-29 | character | $35 | Not published— | Not published— |
| 2026-10-30 | character | $35 | Not published— | Not published— |
Alternatives
- inworld-ai/realtime-tts-1.5-mini$25/character · Compare
- bosonai/HiggsAudioV2.5$20/character · Compare
- inworld-ai/realtime-tts-1.5-max$50/character · Compare
- Qwen/Qwen3-TTS$20/character · Compare
- Qwen/Qwen3-TTS-VoiceDesign$20/character · Compare
- Orpheus 3B 0.1 FT$15/1M · Compare
Parameters (1)
Call this model
OpenRouter id deepinfra/inworld-ai/realtime-tts-2. InferenceList does not send the request.
curl
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepinfra/inworld-ai/realtime-tts-2","messages":[{"role":"user","content":"Hello"}]}'
JavaScript
await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.OPENROUTER_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "deepinfra/inworld-ai/realtime-tts-2",
messages: [{ role: "user", content: "Hello" }],
}),
});
Python
import os, json, urllib.request
req = urllib.request.Request(
"https://openrouter.ai/api/v1/chat/completions",
data=json.dumps({"model": "deepinfra/inworld-ai/realtime-tts-2", "messages": [{"role": "user", "content": "Hello"}]}).encode(),
headers={"Authorization": "Bearer " + os.environ["OPENROUTER_API_KEY"], "Content-Type": "application/json"},
)
print(urllib.request.urlopen(req).read().decode())