def get_all_voices(app_state):
    """
    Get all available voices including standard and cloned voices.
    Returns them in a format compatible with OpenAI's API.
    """
    # Standard voices
    voices = [
        {"voice_id": "alloy", "name": "Alloy"},
        {"voice_id": "echo", "name": "Echo"},
        {"voice_id": "fable", "name": "Fable"},
        {"voice_id": "onyx", "name": "Onyx"},
        {"voice_id": "nova", "name": "Nova"},
        {"voice_id": "shimmer", "name": "Shimmer"}
    ]
    
    # Add cloned voices if available
    if hasattr(app_state, "voice_cloner") and app_state.voice_cloner is not None:
        cloned_voices = app_state.voice_cloner.list_voices()
        for voice in cloned_voices:
            voices.append({
                "voice_id": voice.id,
                "name": voice.name
            })
    
    return voices