marks commited on
Commit
42683f3
·
1 Parent(s): 3404e9a

Fixed elevenlabs model

Browse files
Files changed (2) hide show
  1. api_clients.py +16 -3
  2. app.py +9 -4
api_clients.py CHANGED
@@ -154,13 +154,26 @@ class ElevenLabsClient:
154
  Fetch available voices from ElevenLabs
155
 
156
  Returns:
157
- List of tuples containing (voice_id, voice_name)
 
158
  """
159
  logger.info("Fetching available voices from ElevenLabs")
160
  voices = elevenlabs.voices()
161
  logger.info(f"Successfully fetched {len(voices)} voices")
162
- logger.debug(f"Available voices: {[voice.name for voice in voices]}")
163
- return [(voice.voice_id, voice.name) for voice in voices]
 
 
 
 
 
 
 
 
 
 
 
 
164
 
165
  @log_execution_time(logger)
166
  def generate_audio(self, text: str, voice_id: str) -> bytes:
 
154
  Fetch available voices from ElevenLabs
155
 
156
  Returns:
157
+ List of tuples containing (voice_id, display_name)
158
+ where display_name includes voice description if available
159
  """
160
  logger.info("Fetching available voices from ElevenLabs")
161
  voices = elevenlabs.voices()
162
  logger.info(f"Successfully fetched {len(voices)} voices")
163
+
164
+ voice_list = []
165
+ for voice in voices:
166
+ # Create descriptive name including accent and age if available
167
+ description = f"{voice.name}"
168
+ if hasattr(voice, 'labels') and voice.labels:
169
+ if 'accent' in voice.labels:
170
+ description += f" ({voice.labels['accent']})"
171
+ if 'age' in voice.labels:
172
+ description += f", {voice.labels['age']}"
173
+ voice_list.append((voice.voice_id, description))
174
+
175
+ logger.debug(f"Available voices: {[name for _, name in voice_list]}")
176
+ return voice_list
177
 
178
  @log_execution_time(logger)
179
  def generate_audio(self, text: str, voice_id: str) -> bytes:
app.py CHANGED
@@ -89,9 +89,11 @@ def create_ui():
89
  try:
90
  client = OpenRouterClient(key)
91
  models = await client.get_models()
92
- return gr.Dropdown(choices=models)
 
 
93
  except Exception as e:
94
- return gr.Dropdown(choices=[(None, f"Error: {str(e)}")])
95
 
96
  def update_elevenlabs_voices(key):
97
  if not key:
@@ -99,9 +101,11 @@ def create_ui():
99
  try:
100
  client = ElevenLabsClient(key)
101
  voices = client.get_voices()
102
- return gr.Dropdown(choices=voices)
 
 
103
  except Exception as e:
104
- return gr.Dropdown(choices=[(None, f"Error: {str(e)}")])
105
 
106
  # Set up event handlers
107
  openrouter_key.change(fn=update_openrouter_models, inputs=openrouter_key, outputs=openrouter_model)
@@ -116,6 +120,7 @@ def create_ui():
116
  return interface
117
 
118
  if __name__ == '__main__':
 
119
  demo = create_ui()
120
  demo.launch(
121
  server_name="0.0.0.0",
 
89
  try:
90
  client = OpenRouterClient(key)
91
  models = await client.get_models()
92
+ return gr.Dropdown(
93
+ choices={name: id for id, name in models}
94
+ )
95
  except Exception as e:
96
+ return gr.Dropdown(choices={"Error": None})
97
 
98
  def update_elevenlabs_voices(key):
99
  if not key:
 
101
  try:
102
  client = ElevenLabsClient(key)
103
  voices = client.get_voices()
104
+ return gr.Dropdown(
105
+ choices={name: id for id, name in voices}
106
+ )
107
  except Exception as e:
108
+ return gr.Dropdown(choices={"Error": None})
109
 
110
  # Set up event handlers
111
  openrouter_key.change(fn=update_openrouter_models, inputs=openrouter_key, outputs=openrouter_model)
 
120
  return interface
121
 
122
  if __name__ == '__main__':
123
+
124
  demo = create_ui()
125
  demo.launch(
126
  server_name="0.0.0.0",