Voice Studio
Design, clone, and manage internal voices — custom voices generated and hosted by ToneBoard
Overview
Voice Studio creates internal voices: custom voices that ToneBoard generates and hosts itself, with no external voice provider account required. An internal voice starts from either a text description ("a gravelly old sea captain with a slow drawl") or a reference audio recording (voice cloning). Once saved, internal voices work everywhere external voices do — assign them to characters, generate speech in the TTS form, use them with live endpoints, and call them through the API.
Internal vs. external voices
Internal voices are created in Voice Studio and live entirely inside ToneBoard. External voices come from providers like ElevenLabs, OpenAI, or Google through your own provider accounts — see External Voices. A character uses exactly one voice, of either kind.
Internal voices also support expression cues: when a character with an internal voice has tone enhancement enabled, ToneBoard inserts bracketed performance cues (like [whispering] or [excited]) instead of SSML, which the internal engine understands natively.
Designing a Voice from a Description
Voice design invents a brand-new voice from a text prompt. Go to Voice Studio and choose New Voice.
- 1Describe the voice you want — age, gender, accent, texture, pacing, mood. The more specific the prompt, the closer the previews.
- 2Generate previews. ToneBoard returns several candidate voices, each with sample audio you can play.
- 3Pick the preview you like best, give it a name and description, and save it. The chosen voice becomes a permanent internal voice.
Preview URLs expire
Design previews are staged temporarily (about 1 hour). Save the voice you want before the previews expire — an unsaved preview cannot be recovered, though you can always design again.
Writing good voice prompts
- •Name concrete qualities: "deep, resonant, unhurried" beats "cool voice".
- •Include the role or context: "a cheerful theme-park announcer", "a tired night-shift dispatcher".
- •Mention accent and age explicitly if they matter — they are the strongest levers.
- •Iterate: generate, listen, refine the prompt, generate again. Each design run returns fresh candidates.
Cloning a Voice from Audio
Voice cloning builds an internal voice from a reference recording. Choose Clone Voice in Voice Studio, then upload a clean audio sample (WAV, MP3, OGG, FLAC, M4A, AAC, or WMA — up to 50MB). A clear, noise-free recording of 10-30 seconds of natural speech gives the best results.
Consent required
Only clone voices you have the right to use — your own voice, a voice actor who has given written permission, or synthetic reference audio. Voice cloning is available in the dashboard only; it is deliberately not exposed through the public API.
Using Internal Voices
- 1Create a character in Characters and select your internal voice as its voice.
- 2Generate speech from the TTS form, a live endpoint, or the API — the character routes generation to the internal engine automatically.
- 3Save good takes as lines in Saved Content.
Each internal voice's detail page also offers a quick play to hear the voice with any test sentence before wiring it to a character.
Token Costs
| Operation | Cost (tokens) |
|---|---|
| Design previews (per design run) | 25 |
| Save a designed voice | 25 |
| Clone a voice | 100 |
| Voice Studio preview playback | 10 |
| TTS generation with an internal voice | 10 |
Failed generations are refunded automatically.
API Access
Internal voices are available through the v1 REST API with the internal_voices:read / internal_voices:write scopes:
/api/v1/internal-voicesinternal_voices:read/api/v1/internal-voices/designinternal_voices:write/api/v1/internal-voicesinternal_voices:write/api/v1/internal-voices/{'{id}'}internal_voices:writeDesign a voice, then save the preview you like:
# 1. Design previews (spends 25 tokens)
curl -s https://<host>/api/v1/internal-voices/design \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "a warm, husky jazz radio host, late night energy"}'
# 2. Save the chosen preview (spends 25 tokens)
curl -s https://<host>/api/v1/internal-voices \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Jazz Host",
"requestId": "<requestId from step 1>",
"audioFileUrl": "<preview url from step 1>",
"prompt": "a warm, husky jazz radio host, late night energy"
}'The same operations are available as MCP tools (list_internal_voices, design_internal_voice, save_internal_voice) — see MCP Server.
