- In Supertone Play — upload a sample and clone through the UI.
- Via the API —
POST /v1/custom-voices/cloned-voicewith an audio file.
list_custom_voices, and voices cloned via the API show up in Play. There’s no sync step.
Voice cloning via the API is not available on the Free tier. Cloning in Play is available on all paid tiers.
Endpoint overview
Create a clone
Upload a clean audio sample of the voice you want to clone:- Python
- TypeScript
- cURL
voice_id. Save it — that’s what you’ll pass to TTS calls.
Upload constraints
- Format: WAV or MP3
- Size: under 3 MB
- Name: up to 100 characters
List and search
- Python
- TypeScript
- cURL
Use a custom voice in TTS
Once the clone is registered, calltext_to_speech.create_speech exactly like you would with a preset voice — just pass the custom voice_id:
voice_settings, output_format, include_phonemes, and normalized_text fields as preset voices.
Update or delete
Important constraints
- Account-scoped. A custom voice is callable only by the account that created it. Calling someone else’s custom voice — even if you know the ID — returns
403 Forbidden. - Same credits. Custom voice calls deduct credits at the same rate as preset voices.
- Permissions and disclosure. Make sure you have rights to clone any voice you upload. Check your jurisdiction’s rules around AI-generated voices and end-user disclosure.
Related
Preset voices
Browse and search Supertone’s preset voice library.
End-to-end example
Clone, list, and use a custom voice in TTS.
API reference
Full request and response schema.
Cost and usage
Forecast cost and monitor per-voice usage.