Inworld Streaming Text-to-Speech for OpenClaw Replies

Inworld provides streaming text-to-speech for OpenClaw outbound replies, producing MP3 or OGG_OPUS audio and raw PCM for telephony channels. This page covers provider configuration, authentication, and defaults.

Read this when

  • You want Inworld speech synthesis for outbound replies
  • You need PCM telephony or OGG_OPUS voice-note output from Inworld

Inworld provides streaming text-to-speech (TTS). Within OpenClaw, it generates audio for outbound replies (MP3 by default, or OGG_OPUS when a voice note is needed) as well as raw PCM audio for telephony channels like Voice Call.

OpenClaw sends requests to Inworld's streaming TTS endpoint, joins the base64 audio chunks it receives into one buffer, then passes that buffer along to the standard reply-audio pipeline.

PropertyValue
Provider idinworld
Pluginofficial external package (@openclaw/inworld-speech)
ContractspeechProviders (TTS only)
Auth env varINWORLD_API_KEY (HTTP Basic, Base64 dashboard credential)
Base URLhttps://api.inworld.ai
Default voiceSarah
Default modelinworld-tts-1.5-max
OutputMP3 (default), OGG_OPUS (voice notes), PCM 22050 Hz (telephony)
Websiteinworld.ai
Docsdocs.inworld.ai/tts/tts

Install plugin

openclaw plugins install @openclaw/inworld-speech

When a Gateway is already running, installation is applied on the spot; if not, it takes effect the next time the Gateway starts. See Apply changes and inspect.

Getting started

Set your API key

Grab the credential from your Inworld dashboard (Workspace > API Keys) and store it as an env var. That value is passed through as-is for HTTP Basic auth, so never Base64-encode it a second time and never turn it into a bearer token.

INWORLD_API_KEY=<base64-credential-from-dashboard>

Select Inworld in tts

{
  tts: {
    auto: "always",
    provider: "inworld",
    providers: {
      inworld: {
        voiceId: "Sarah",
        modelId: "inworld-tts-1.5-max",
      },
    },
  },
}

Send a message

Route a reply through any channel you have connected. Inworld performs the synthesis, and OpenClaw delivers the result as MP3 (or OGG_OPUS if the channel is expecting a voice note).

Configuration options

OptionPathDescription
apiKeytts.providers.inworld.apiKeyBase64 dashboard credential. Falls back to INWORLD_API_KEY.
baseUrltts.providers.inworld.baseUrlOverride Inworld API base URL (default https://api.inworld.ai).
voiceIdtts.providers.inworld.voiceIdVoice identifier (default Sarah). Legacy alias: speakerVoiceId.
modelIdtts.providers.inworld.modelIdTTS model id (default inworld-tts-1.5-max).
temperaturetts.providers.inworld.temperatureSampling temperature, 0 (exclusive) to 2 (optional).

Notes

Authentication

Inworld authenticates over HTTP Basic using one Base64-encoded credential string. Take it verbatim from the Inworld dashboard. No further encoding happens on the provider side: it transmits the value as Authorization: Basic <apiKey>, so you must not Base64-encode it on your own and must not supply a bearer-style token. The same callout appears in TTS auth notes.

Models

Model ids that work: inworld-tts-1.5-max (default), inworld-tts-1.5-mini, inworld-tts-1-max, inworld-tts-1.

Audio outputs

By default, replies come back as MP3. If the channel target is voice-note, OpenClaw requests OGG_OPUS from Inworld so the audio arrives as a native voice bubble. For telephony, synthesis produces raw PCM at 22050 Hz, which feeds the telephony bridge.

Custom endpoints

Use tts.providers.inworld.baseUrl to point at a different API host. Any trailing slashes get removed before a request goes out.

548 words · updated Sep 18, 2026