Custom Voice
Custom voice profiles capture a speaker's voice from recordings. You can use existing profiles for text-to-speech and interactive conversations.
Note: We're redesigning voice cloning and will reopen access when ready. See the voice cloning redesign status.
List Your Custom Voices
You can get a list of your custom voice profiles using Mirako CLI:
sh
mirako voice list
Or, you can integrate the functionality into your application using the Mirako API.
python
def get_custom_voices():
"""Get list of your custom voice profiles"""
response = requests.get(
f"{BASE_URL}/v1/voice/profiles",
headers=headers
)
if response.status_code == 200:
voices = response.json()['data']
if voices:
print("🎙️ Your Custom Voices:")
for voice in voices:
print(f" • {voice['name']} (ID: {voice['id']})")
print(f" Status: {voice.get('status', 'Unknown')}")
if voice.get('created_at'):
print(f" Created: {voice['created_at']}")
else:
print("No custom voices found")
return voices
else:
print(f"Error: {response.text}")
return []
# Get your custom voices
custom_voices = get_custom_voices()
Delete Custom Voice
To delete a custom voice, delete it by using the following Mirako CLI command:
sh
mirako voice delete <voice_id>
or use the following API request:
python
def delete_custom_voice(voice_id):
"""Delete a custom voice profile"""
response = requests.delete(
f"{BASE_URL}/v1/voice/profiles/{voice_id}",
headers=headers
)
if response.status_code == 204:
print(f"Custom voice with ID {voice_id} deleted successfully.")
else:
print(f"Error deleting custom voice: {response.text}")
# Delete a custom voice by ID
# CAUTION: This action is irreversible.
delete_custom_voice("your_custom_voice_id_here")
Using Custom Voices
Like premade voices, you can use custom voices by referring to their voice_id in your API requests for text-to-speech or interactive sessions.