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.

Dive Deeper