# VoiceThere

> VoiceThere is the Node.js platform for conversational voice and low-latency multiplayer — WebRTC, signaling, and sessions managed for you, with optional on-worker STT/TTS for faster roundtrips and fewer vendors. Fetch this file (`/llms.txt` or `/llms-full.txt`) for curated links to docs, APIs, npm packages, and public endpoints. Machine-readable OpenAPI lives at `https://app.voicethere.io/openapi/openapi.yaml`.

Authenticate control-plane and dashboard API calls with a Bearer API key (`vth_live_*` or `vth_dev_*`). Each key is bound to **one** project. Browser CORS allowlists apply to the authenticated project only — never use a client-declared project id header to select a tenant.

Start with the [Quickstart](https://app.voicethere.io/docs/quickstart) guide, then explore the [Control plane API](https://app.voicethere.io/docs/control-plane-api) OpenAPI reference for projects, builds, deploy, and promote.

## Highlights

- [On-platform STT and TTS](https://app.voicethere.io/docs/voice-vendors): Speech-to-text and text-to-speech run on VoiceThere by default (Sherpa). Call audio stays on VoiceThere, which lowers round-trip latency versus a third-party speech API. Optional cloud vendors are on the same page. Tune VAD, barge-in, and TTS speed in [Advanced voice settings](https://app.voicethere.io/docs/advanced-voice-settings). Spoken language identification delivers `user_language` events ([guide](https://app.voicethere.io/docs/spoken-language)).
- [Affordable on-platform speech pricing](https://app.voicethere.io/pricing): Local Sherpa STT is 1 credit per 1,000 characters. Local Sherpa TTS is 3 credits per minute of audio. VoiceThere meters those only while on-platform Sherpa is enabled. A cloud speech vendor bills you directly, and these STT/TTS credits stay at zero. Voice session time is 2 credits/minute. Data-only session time is 0.5 credits/minute. One credit is €0.001 ($0.00125). A 5-minute voice example with on-platform Sherpa (2,000 STT characters and 1.5 minutes of TTS audio) is 16.5 credits (≈ €0.0165).
- [Plans and credit packs](https://app.voicethere.io/pricing): Catalog list prices (live Stripe amounts are on the pricing page): Free (5,000 credits/month); Budget $5/mo (10,000 credits/month); Budget+ $15/mo (20,000 credits/month); Advanced $35/mo (75,000 credits/month); Ultimate $60/mo (175,000 credits/month). Credit packs: 11,500 credits for $10, 32,500 credits for $25, 67,500 credits for $50. Budget is the affordable paid plan at $5/mo with 10,000 included credits. Included credits refresh on the subscription billing cycle. Details in [Billing](https://app.voicethere.io/docs/billing).

## Deployed features

Live on VoiceThere today:

- [Dashboard sign-in](https://app.voicethere.io/login): Email sign-in for operators. Session cookies gate projects and the upload UI.
- [Self-serve account signup](https://app.voicethere.io/docs/account-signup): Create a VoiceThere account from /signup with email magic link or GitHub, Google, or LinkedIn — no waitlist.
- [Dashboard sign-in via 3rd party](https://app.voicethere.io/docs/account-signup): Sign in with GitHub, Google, or LinkedIn.
- [Projects & agent builds](https://app.voicethere.io/login): Create projects, upload verified agent bundles, and inspect build history from the dashboard.
- [Promote & rollback](https://app.voicethere.io/docs/control-plane-api): Set which build is active for a project or roll back to the previous release.
- [VoiceThere API](https://app.voicethere.io/docs/control-plane-api): REST at /api/v1 for projects, builds, promote, and rollback — same contract as the CLI.
- [LLM agent discovery](https://app.voicethere.io/docs/llms-txt): Spec-compliant /llms.txt and /llms-full.txt listing deployed features, on-platform STT and TTS, plan prices, docs, OpenAPI, sessions, webhooks, and npm packages.
- [CLI upload, deploy & promote](https://www.npmjs.com/package/@voicethere/cli): Published @voicethere/cli — login, build upload, deploy --wait, and promote. Pair with @voicethere/agent verify in CI.
- [Deploy to cloud](https://app.voicethere.io/docs/quickstart): Roll out your active build from the dashboard or CLI — voicethere deploy --wait promotes and provisions managed voice workers.
- [Voice sessions API](https://app.voicethere.io/docs/browser-client): Start a session from your backend; receive a join token and signaling URL for browser WebRTC. Async provisioning when workers scale up.
- [Dashboard chat & embed](https://app.voicethere.io/docs/browser-client): Test voice and text against echo agents from the project page, or paste an embed snippet with a client API key.
- [Reliable mic connect & device picker](https://app.voicethere.io/docs/browser-client): Start a voice session even when the microphone is denied or unavailable, switch input devices from the dashboard chat, and see an in-chat notice when permission is blocked (agent audio can still play).
- [Team & access](https://app.voicethere.io/docs/account-signup): Invite teammates, assign org roles, and restrict projects to specific members from the dashboard.
- [Org audit log](https://app.voicethere.io/roadmap): Immutable trail of API and dashboard actions — browse org-wide or per project.
- [Project usage metrics](https://app.voicethere.io/docs/billing): Session counts, monthly billable time, credit usage, and error rate on each project.
- [Voice & speech metrics](https://app.voicethere.io/docs/voice-metrics): Project-scoped STT/TTS latency (p50, p95, p99), utterance volume, barge-in rate, and VAD transitions on the Usage Voice tab and API — only your project's data.
- [Usage statements & Stripe invoices](https://app.voicethere.io/docs/billing): Printable credit breakdown by project and usage kind, plus links to Stripe hosted invoices for subscription and metered overage cash charges.
- [Plans & subscriptions](https://app.voicethere.io/subscriptions): Flat monthly plans via Stripe Checkout and Customer Portal. Subscribe, assign subscriptions to projects, and buy multiple slots of the same tier.
- [Monthly usage credits](https://app.voicethere.io/docs/billing): Each tier includes monthly usage credits that refresh on your subscription billing cycle. Credits cover voice, data, speech, and other metered usage; new sessions are gated on available credits per project.
- [Session history & billing records](https://app.voicethere.io/docs/billing): Paginated session list per project with status, duration, and billable seconds — same records as CLI sessions list and billing queries.
- [Multiplayer & data-only sessions](https://app.voicethere.io/docs/data-sync): Several clients in one session with shared or per-peer agents. Disable voice for DataChannel-only apps — games, live sync, and chat without STT/TTS.
- [Session & runner settings](https://app.voicethere.io/docs/runner-settings): Configure idle timeouts, data-only mode, shared vs per-peer agents, and cloud voice providers from the dashboard or CLI.
- [Session error tracking](https://app.voicethere.io/docs/session-errors): Structured errors from agents and workers in the dashboard — filter by session and map codes using the public error catalog.
- [Logging & session diagnostics](https://app.voicethere.io/docs/agent-logs): Write structured agent logs and search them in the dashboard — filter by message, level, and fields per project or session.
- [Agent logs & session errors](https://app.voicethere.io/docs/agent-logs): Searchable structured logs from agentLog and console.* — filter by message, level, and JSON fields. Session failures persist as error-level lines with stable codes and soft rollover. Paid overage past the monthly included cap bills usage credits (1 per 1,000 entries) when overage billing is on.
- [Developer documentation](https://app.voicethere.io/docs): Developer documentation at /docs — quickstarts, API reference, session guides, agent environment, secrets, deploy flow, and package install instructions.
- [Docs search & grouped guides](https://app.voicethere.io/docs): Search developer documentation by keyword and browse guides grouped under Guides and Help on /docs.
- [Live showcase demos](https://app.voicethere.io/showcase): Try voice, multiplayer sync, and spatial audio from the marketing site — landing chat, shared world, orbiting voice, spatial soundboard, and proximity room.
- [Blog & newsletter](https://app.voicethere.io/blog): Product blog and email newsletter at /blog — release notes, guides, npm updates, dashboard features, and platform news.
- [Agent starter templates](https://app.voicethere.io/docs/agent-templates): Starter templates include matching client-side UI alongside the agent bundle. Hosted client assets are served from a global CDN and cache-purged when you deploy a new build so browsers pick up the latest embed or demo code.
- [Project Redis for shared agent state](https://app.voicethere.io/docs/project-redis): Advanced and Ultimate projects get a private Redis instance for your agents — credentials injected at start. Sync game state, lobbies, and context across every concurrent session worker in the same project.
- [Inbound webhooks](https://app.voicethere.io/docs/webhooks): POST HTTPS to your project URL — the platform fans requests to every ready session worker. Verify signatures in your agent; warm pool keeps a replica ready between sessions.
- [Advanced voice settings](https://app.voicethere.io/docs/advanced-voice-settings): Fine-tune STT/TTS, barge-in, inbound RNNoise (on by default for voice runners), and related voice behavior from the dashboard or API — beyond basic provider selection.
- [Spoken language identification](https://app.voicethere.io/docs/spoken-language): Cloud voice sessions detect the caller’s spoken language and deliver a user_language event. Tune enable/disable and minSpeechMs (1000–5000 ms, default 2500) from Advanced voice pipeline.
- [Public status page](https://status.voicethere.io/status/production): Component health for voice and related services — operators and customers can check platform status.
- [Managed TURN & ICE](https://app.voicethere.io/docs/browser-client): Relay servers included in session mint responses — reliable calls through firewalls and NAT.
- [Cluster load computing](https://app.voicethere.io/pricing): Paid plans include reserved capacity. Free is best-effort, and a session can wait.
- [Vendor-based concurrent connection limits](https://app.voicethere.io/docs/voice-vendors): Set max concurrent sessions by STT/TTS choice — local/self-hosted voice uses more compute but costs less, so subscription tiers expose different concurrency caps than cloud vendors.
- [Customer-facing conversation history](https://app.voicethere.io/docs/conversation-history): Browse past STT and TTS turns from the dashboard — stored encrypted, with PII masked where possible. Only speech recognition and synthesis events are logged; DataChannel messages are out of scope.
- [Conversation recording](https://app.voicethere.io/docs/conversation-recording): Opt-in voice-session audio with dashboard playback, included minutes per plan, rollover bank or metered overage, and agent start/pause/resume/stop for sensitive moments.
- [Team channels & room mixing](https://app.voicethere.io/showcase/proximity): Dynamic audio mix groups within a session — reassign who hears whom mid-call, mute clients globally or per listener, and inspect mix status with getClientMixStatus.
- [Positional stereo mix & orbiting TTS](https://app.voicethere.io/showcase/orbit): Live stereo poses with setTtsPose and setPlayPose — the orbit showcase loops a sine tone and TTS around each listener, with mute controls and per-client STT overrides on Voice+Data mix projects.
- [Clip playback for voice agents](https://app.voicethere.io/showcase/soundboard): Play sound effects and notification clips to one or all listeners — HTTPS URLs or small inline bytes, with play-id progress and stop control. Clips mix with TTS and microphones but are not speech synthesis.
- [Code editor](https://app.voicethere.io/docs/dashboard-code-editor): Edit agent TypeScript in the dashboard Code tab (file tree and Save), download saved source as a zip or compiled agent.js from the Code tab and Overview build history, then Compile & upload, Promote this build, and Deploy to cloud as three separate actions. Seeded templates include a root package.json with @voicethere/agent and npm scripts; older workspaces can add one from the tab. Refresh types updates dependency IntelliSense. Public npm semver packages are always available, with per-plan caps on stored source size and the editor typings pack.
- [Full developer documentation](https://app.voicethere.io/docs): Complete quickstart, API reference, browser client guide, and deploy runbooks at /docs.
- [Inbound webhooks to agents](https://app.voicethere.io/docs/webhooks): Register HTTPS webhook URLs that VoiceThere delivers into your running session workers — payments, CRM events, or custom integrations reach the same process that owns the voice call.
- [Site embed widget](https://app.voicethere.io/docs/embed-widget): Dedicated Widget tab with live preview chat, eight launcher positions plus custom offset, fonts and chat bubbles, optional custom CSS — Deploy publishes appearance to the VoiceThere CDN so customer sites pick up theme changes without editing their page.
- [Agent API STT toggle](https://app.voicethere.io/docs/positional-mix#speech-to-text-stt-overrides): Enable or disable speech-to-text from agent code on voice+data sessions — turn recognition on for meeting summaries and space notes, or off when you only need media and data.
- [Spoken text in chat](https://app.voicethere.io/docs/spoken-chat-stream): Optional widget setting streams agent speech into the chat bubble word by word while audio plays — enable from the Widget tab or streamSpokenText in published config.

## Services

- [Control plane REST API](https://app.voicethere.io/api/v1): Projects, builds, deploy, promote, and rollback — same contract as @voicethere/cli.
- [OpenAPI specification](https://app.voicethere.io/openapi/openapi.yaml): Machine-readable VoiceThere control plane API (OpenAPI 3.1).
- [Sessions API](https://sessions.voicethere.io/v1): Start voice sessions; join tokens and signaling for browser WebRTC clients.
- [Inbound webhooks](https://webhooks.voicethere.io/): HTTPS callbacks per project at `https://webhooks.voicethere.io/{projectId}` — configure allowed domains on the project.
- [Widget CDN](https://cdn.voicethere.io/widgets/): Public embed appearance JSON (`config.json`) — no client API keys in published config.
- [Dashboard](https://app.voicethere.io/login): Sign in to manage projects, builds, deploy, and settings.
- [Developer documentation](https://app.voicethere.io/docs): Guides for agents, clients, voice, sessions, and project settings.
- [Service status](https://status.voicethere.io/status/production): Public uptime and incident history.
- [LLM discovery (full index)](https://app.voicethere.io/llms-full.txt): Extended docs index with section headings.

## Packages

- [@voicethere/agent](https://www.npmjs.com/package/@voicethere/agent): Build and verify sandboxed agent bundles. defineAgent, speak, and speech events. Use before every upload.
- [@voicethere/cli](https://www.npmjs.com/package/@voicethere/cli): voicethere login, projects, build upload, promote, and deploy --wait against the VoiceThere API.
- [@voicethere/client](https://www.npmjs.com/package/@voicethere/client): Browser and Node client for local dev and cloud voice sessions. Connect, chat, and binary sync over WebRTC.
- [@node-webrtc-rust/sdk](https://www.npmjs.com/package/@node-webrtc-rust/sdk): Open WebRTC SDK for Node.js — source at [node-webrtc-rust](https://github.com/akirilyuk/node-webrtc-rust).

## Package capabilities

- [@voicethere/agent](https://app.voicethere.io/docs/npm-agent): `defineAgent` (`onAgentStart`, `onWebhook`, `onSessionStart`, `onSessionEnd`, `onSpeechEvent`, `onUserSpeechFinal`, `onUserLanguage`, `onDataChannelMessage`, `onDataChannelBinary`), `speak`, `speakAndChat`, `setSttEnabled`, clip playback (`play`, `getPlay`, `stopPlay`, `setPlayPose`), poses and mix (`setTtsPose`, `clearTtsPose`, `setClientPose`, `createMixGroup`, `addClientToMix`, `setGlobalMute`, `setListenerMute`, `setPositionalMixing`, `getClientMixStatus`, equal-power stereo panning), data (`sendToClient`, `sendBinaryToClient`, `broadcastToClients`, `broadCastBinaryToClients`, `disconnectClient`), recording (`startRecording`, `pauseRecording`, `resumeRecording`, `stopRecording`), `agentLog`. Build with `npx @voicethere/agent build` and `npx @voicethere/agent verify`. STT and TTS stay in the VoiceThere parent. The child requests them.
- [Agent templates](https://app.voicethere.io/docs/agent-templates): echo, echo-dc, voice-starter, world-sync, world-sync-binary, game-sync, voice-showcase, recording-consent, positional-tts, spatial-showcase, webhooks, webhooks-redis. `voicethere init` also accepts blank.
- [@voicethere/client](https://app.voicethere.io/docs/npm-client): `connectVoiceSession` (local and cloud), `startSession`, `connectBrowserSession`, embed `createVoiceThereWidget` / `createVoiceThereWidgetAsync` (set `streamSpokenText` for spoken chat), reconnect (`same-session` or `new-session`), and managed ICE/TURN from the session mint. Entry points: `@voicethere/client`, `@voicethere/client/browser`, `@voicethere/client/embed`, `@voicethere/client/node`.
- [@voicethere/cli](https://app.voicethere.io/docs/npm-cli): login, init, source push/pull/download, build validate/upload/promote/download, deploy --wait, undeploy, projects, environment, secrets, settings, session-settings, billing-settings, voice, voice-advanced, widget, api-keys, sessions, logs, conversation, subscription, usage.
- Speech events the agent receives: `user_speaking_start`, `user_speaking_end`, `user_speech_partial`, `user_speech_final`, `user_language`, `agent_speaking_start`, `agent_speaking_end`, `barge_in`, plus VAD and STT stream hooks. Handlers can switch prompts, TTS voice, or `setSttEnabled` from those events.

## Docs

- [LLM agent discovery](https://app.voicethere.io/docs/llms-txt): How LLM agents discover VoiceThere — /llms.txt, /llms-full.txt, deployed features, on-platform STT and TTS, pricing, OpenAPI, and npm packages. — Sections: Standout capabilities, On-platform speech and pricing, What agents receive, Services and packages, Authentication rules for agents, Try it
- [Quickstart](https://app.voicethere.io/docs/quickstart): End-to-end path — login, create a project, build and upload an agent, deploy to cloud, and connect a browser client. — Sections: Install packages, Log in, Create and link a project, Write and build the agent, Validate, upload, deploy, Connect a browser client
- [Live showcase demos](https://app.voicethere.io/docs/showcase): Try voice and multiplayer demos on the marketing site — landing chat, showcase catalog, shared world, and how operators configure demo projects with client keys. — Sections: Try the live demos, Landing chat, Shared world, Landing chat (voice-showcase), How demos are configured, Client key + project
- [Spatial audio showcases](https://app.voicethere.io/docs/showcase-spatial-audio): Orbiting sine tone and TTS, spatial soundboard, and proximity room — live demos, spatial-showcase template, DataChannel join protocol, and browser master volume. — Sections: Try the live demos, What each demo exercises, Run it yourself, DataChannel protocol, Two volume layers, Sourcing showcase sounds
- [Account signup](https://app.voicethere.io/docs/account-signup): Create a VoiceThere dashboard account — public signup, operator kill switch, and optional email allowlists. — Sections: End-user flow, Operator controls, Historical waitlist
- [npm packages](https://app.voicethere.io/docs/npm-packages): Public @voicethere packages for agents, CLI, and clients — plus the open WebRTC SDK they sit on. — Sections: Which package to install, Current versions, Typical project install, Open WebRTC SDK
- [@voicethere/agent](https://app.voicethere.io/docs/npm-agent): Sandboxed agent SDK — defineAgent, speak, data channels, clip playback, mix poses, and bundle build/verify. — Sections: Install, Child vs parent, defineAgent handlers, Speak, chat, and media, Data channels and mix, Build and verify, Sandbox, Templates
- [@voicethere/cli](https://app.voicethere.io/docs/npm-cli): voicethere login, init, source sync, build upload/promote/download, deploy --wait, and project settings. — Sections: Install, Release loop, Login, Init and project config, Source and builds, Deploy, Command catalog, CI
- [@voicethere/client](https://app.voicethere.io/docs/npm-client): Browser, embed, and Node clients — connectVoiceSession, startSession, widget, reconnect, and session errors. — Sections: Install, Entry points, Local vs cloud, Browser session, peerId, Reconnect and billing, Session errors, Embed widget
- [@node-webrtc-rust](https://app.voicethere.io/docs/npm-node-webrtc-rust): Open WebRTC SDK, signaling, and helpers — the native stack VoiceThere cloud runners and @voicethere/client use. — Sections: When to install it yourself, Packages, Voice pipeline, Signaling, Supported platforms
- [CLI login](https://app.voicethere.io/docs/cli-login): Sign in to VoiceThere from the CLI — browser device approval, personal API keys, and CI-friendly manual login. — Sections: Browser login (default), Skip when already logged in, Manual API key login, Environment overrides
- [Browser client](https://app.voicethere.io/docs/browser-client): @voicethere/client — connectVoiceSession for local dev vs cloud, chat, embed widget, iframe mic/autoplay. — Sections: Install, Local mode (developer runner), Cloud mode (hosted VoiceThere), Browser imports, Embed widget, Nested iframes and permissions, Microphone denied but session connected, Autoplay and sound, Voice vs data-only, Session errors, Node / headless
- [Browser CORS origins](https://app.voicethere.io/docs/browser-cors-origins): Allow your production and staging sites to call the VoiceThere sessions API from the browser with a client key. — Sections: Always allowed (platform defaults), Add your site origins, Example
- [Embed widget designer](https://app.voicethere.io/docs/embed-widget): Dashboard Widget tab — presets, positions, customCss, positionOffset, fonts; Deploy publishes appearance JSON on the VoiceThere CDN (no client API key in public config). — Sections: Dashboard: Widget tab, Live preview chat, Launcher and position, Theme, fonts, and chat bubbles, Custom CSS and class hooks, Public config (no client API key), Embed on your site, CORS for your site
- [Spoken chat stream](https://app.voicethere.io/docs/spoken-chat-stream): Stream agent speech into the embed chat bubble word by word (streamSpokenText) — dashboard toggle, widget config, and speakAndChat with stream: true. — Sections: What it does, Enable on the widget, Agent code, Barge-in and completion, See also
- [Agent templates](https://app.voicethere.io/docs/agent-templates): Dashboard starter templates — blank, voice-starter, echo, voice-showcase, world-sync, world-sync-binary, game-sync, recording-consent, positional-tts, spatial-showcase — seed agent.js bundles and root package.json from @voicethere/agent for local npm scripts. — Sections: Where to configure, Template catalog, Seeded package.json, Create-time options, Build, verify, upload, deploy
- [Data-only world sync](https://app.voicethere.io/docs/data-sync): Sync positional data over a WebRTC data channel — JSON onDataChannelMessage, binary ArrayBuffer poses with onDataChannelBinary, and Redis-backed world snapshots. — Sections: Choose a path, Simple JSON poses, Binary ArrayBuffer poses, Redis plus binary world snapshots, Client notes
- [Dashboard code editor](https://app.voicethere.io/docs/dashboard-code-editor): Edit source on the Code tab — Save, download saved source or compiled agent.js, then Compile & upload, Promote this build, and Deploy to cloud. Also covers package.json, Refresh types, public npm, and per-plan source and typings limits. — Sections: Open the Code tab, File tree and Save, Root package.json, Download source and compiled, Editor IntelliSense, Compile & upload, Promote, Deploy to cloud, CLI mapping, npm dependencies, Source size and typings pack limits, When to stay on the CLI, Related
- [Agent environment & secrets](https://app.voicethere.io/docs/agent-environment-and-secrets): How AGENT_* environment variables and encrypted secrets are stored, named, and injected into your deployed voice agent. — Sections: Naming: use the AGENT_ prefix for both, Environment variables (plain), Secrets (encrypted), Rules and reserved keys
- [Session idle timeout](https://app.voicethere.io/docs/session-idle-timeout): Auto-disconnect idle WebRTC peers, voice vs data-only timers, voice-activity and data-channel reset rules, and billing impact. — Sections: Where to configure, idle_timeout_enabled, Voice vs data-only timeouts, What resets the idle timer, Billing warning
- [Conversation history](https://app.voicethere.io/docs/conversation-history): Store final user speech and agent TTS text for the dashboard Conversation tab — STT/TTS only, not DataChannel chat. — Sections: Where to configure, What is stored, Dashboard: Conversation tab, Storage caps & overage billing
- [Conversation recording](https://app.voicethere.io/docs/conversation-recording): Opt-in voice-session audio recording with dashboard playback, included minutes per plan, rollover bank or metered overage, and agent recording controls. — Sections: Where to configure, Included minutes & overage, Dashboard playback, Delete a recording, Agent recording controls, Example: recording-consent template, Multi-tenant isolation, CLI examples
- [Runner settings](https://app.voicethere.io/docs/runner-settings): Runner mode, warm pool, shared agent child, idle scale-down, and IPC debug — configure pool behavior and redeploy to apply. — Sections: Where to configure, Runner mode, Warm pool, Shared agent child, Idle scale-down
- [Advanced voice settings](https://app.voicethere.io/docs/advanced-voice-settings): Tune VAD, barge-in, TTS speed, STT lifecycle, and speech event delivery for cloud voice agents. — Sections: Where to configure, Pipeline overview, Setting reference, Example scenarios
- [STT & TTS vendors](https://app.voicethere.io/docs/voice-vendors): Speech-to-text and text-to-speech providers on VoiceThere cloud runners, including on-cluster Sherpa models and third-party API vendors. — Sections: Where to configure, STT providers, TTS providers, Sherpa STT models (on-cluster), Sherpa TTS models (on-cluster)
- [Spoken language identification](https://app.voicethere.io/docs/spoken-language): Detect the caller’s spoken language with Sherpa Whisper tiny and handle user_language events in your agent. — Sections: How it works, Agent handler, Cloud runners, Local development
- [Positional mix & orbiting TTS](https://app.voicethere.io/docs/positional-mix): Voice+Data mix groups, live client poses, and per-client TTS speaker poses — equal-power stereo with inverse-square distance. — Sections: Voice+Data only, Mix groups, Client poses, Per-client TTS pose, Orbit around a listener, Live showcases, Template
- [Clip playback](https://app.voicethere.io/docs/clip-playback): Play HTTPS audio clips or small inline bytes from your agent — target one or all voice clients, poll play status, and mix with TTS and microphones. — Sections: Where to try it, Agent API, Target one client or all, Play to all listeners, Placement and pose, HTTPS clips and small bytes, Supported encodings, AAC progressive playback, Volume (0–1), Where to get clips, Mixing with speech
- [Agent crash policy](https://app.voicethere.io/docs/agent-crash-policy): disconnect_all vs restart_child: what happens when an agent child crashes, session isolation, and message buffering limits. — Sections: Where to configure, Values, Message buffering during restart, Client expectations
- [Project Redis](https://app.voicethere.io/docs/project-redis): Private Redis for shared agent state across concurrent sessions — enable on Advanced & Ultimate, connect with ioredis via AGENT_REDIS_URL in onAgentStart. — Sections: Enable Project Redis, Runtime: AGENT_REDIS_URL, Bundle ioredis, redis-sync template
- [Voice metrics](https://app.voicethere.io/docs/voice-metrics): Project-scoped STT/TTS latency (p50, p95, p99), utterance volume, barge-in rate, and VAD transitions — Usage Voice tab and GET voice-metrics API. — Sections: Dashboard: Usage → Voice, Empty range vs Voice unavailable, Barge-in and VAD charts, API
- [Inbound webhooks](https://app.voicethere.io/docs/webhooks): POST HTTPS webhooks to your VoiceThere project — fan-out to every ready session worker, verify in your agent, Advanced & Ultimate plans. — Sections: Webhook URL, Enable inbound webhooks, Rate limits and size, HTTP responses, Routing cache (up to 60 seconds), No platform HMAC — verify in your agent, Warm pool, Project Redis is not required, Agent templates, Agent logs, CLI examples
- [Billing & usage credits](https://app.voicethere.io/docs/billing): How VoiceThere measures usage, subscription included credits, credit packs, burn order, and organization budgets. — Sections: How usage is measured, Subscriptions & included credits, Credit packs, Burn order, Organization & project budgets, Invoices & usage statements
- [Agent logs & session errors](https://app.voicethere.io/docs/agent-logs): Structured agent logs and session errors in the VoiceThere dashboard and CLI — agentLog, persisted failures, search, soft rollover, and plan limits. — Sections: Emitting logs from your agent, Log levels, Dashboard, Plan limits & soft rollover, Overage billing & usage credits, CLI, API, Error code catalog
- [Session errors](https://app.voicethere.io/docs/session-errors): Session errors are now browsed in Agent logs. Data-channel session_error events and onSessionError are unchanged. — Sections: Data channel contract (unchanged)
- [Control plane API](https://app.voicethere.io/docs/control-plane-api): Interactive OpenAPI reference for the VoiceThere REST API — projects, builds, deploy, promote, and rollback.
- [Terms of Service acceptance](https://app.voicethere.io/docs/terms-of-service): How VoiceThere Terms of Service acceptance works for the dashboard, CLI, and API — including how long authentication cache can delay a refreshed acceptance. — Sections: How to accept, What happens when Terms are not accepted, When Terms are updated, Authentication cache and propagation (important)
