Realtime TTS-2 is live. Built for realtime conversation that feels human. Read the Realtime TTS-2 announcement

Authentication

Authentication overview

How requests to Inworld APIs authenticate: API keys, session tokens, and one-time tokens.

The workspace API key is Inworld's root credential. Two types of short-lived tokens are created from it for code that must not hold the key itself. Use the table below to choose a credential. The API key authentication guide explains the exact credential format, header exceptions, and how to recover from errors.

Pick a credential

Where your code runsCredentialUse
Server or local developmentAPI keyCopy the Base64 credential unchanged. Use Basic for direct HTTP requests and keep the key on your server.
Direct browser/mobile TTS, STT, or LLM clientOne-time tokenYour backend mints a token for each HTTP request or WebSocket connection attempt.
Direct browser/mobile Realtime clientSession tokenYour backend mints a session token. Realtime does not accept one-time tokens.

SDKs that reuse tokens across requests or reconnects need a refresh flow that supplies a fresh one-time token for every attempt, or a server proxy. See the existing TTS SDK session-token pattern for legacy integrations.

Client code never receives the API key. Your backend authenticates and authorizes the user before issuing a token, applies per-user limits, and returns only the token fields the client needs. Tokens inherit the parent key's permissions. Use the narrowest suitable key. See Security best practices.

Guides