marks
commited on
Commit
·
0b6d459
1
Parent(s):
8b6570a
Fixed dropdowns
Browse files- api_clients.py +5 -7
- app.py +1 -1
api_clients.py
CHANGED
|
@@ -55,10 +55,7 @@ class OpenRouterClient:
|
|
| 55 |
Fetch available models from OpenRouter API using pydantic models
|
| 56 |
|
| 57 |
Returns:
|
| 58 |
-
List of tuples containing (model_id,
|
| 59 |
-
|
| 60 |
-
Raises:
|
| 61 |
-
ValueError: If API request fails
|
| 62 |
"""
|
| 63 |
logger.info("Fetching available models from OpenRouter")
|
| 64 |
async with self.get_session() as session:
|
|
@@ -67,7 +64,7 @@ class OpenRouterClient:
|
|
| 67 |
data = await response.json()
|
| 68 |
models = [OpenRouterModel(**model) for model in data["data"]]
|
| 69 |
logger.info(f"Successfully fetched {len(models)} models")
|
| 70 |
-
return [(model.
|
| 71 |
|
| 72 |
@log_async_execution_time(logger)
|
| 73 |
async def generate_script(self, content: str, prompt: str, model_id: str) -> str:
|
|
@@ -142,9 +139,10 @@ class ElevenLabsClient:
|
|
| 142 |
try:
|
| 143 |
voices = elevenlabs.voices()
|
| 144 |
return [(
|
| 145 |
-
|
| 146 |
f"{voice.name} ({voice.labels.get('accent', 'No accent')})" +
|
| 147 |
-
(f" - {voice.description[:50]}..." if voice.description else "")
|
|
|
|
| 148 |
) for voice in voices]
|
| 149 |
except Exception as e:
|
| 150 |
logger.error("Failed to fetch voices from ElevenLabs", exc_info=True)
|
|
|
|
| 55 |
Fetch available models from OpenRouter API using pydantic models
|
| 56 |
|
| 57 |
Returns:
|
| 58 |
+
List of tuples containing (model_id, model_id) where both values are the same
|
|
|
|
|
|
|
|
|
|
| 59 |
"""
|
| 60 |
logger.info("Fetching available models from OpenRouter")
|
| 61 |
async with self.get_session() as session:
|
|
|
|
| 64 |
data = await response.json()
|
| 65 |
models = [OpenRouterModel(**model) for model in data["data"]]
|
| 66 |
logger.info(f"Successfully fetched {len(models)} models")
|
| 67 |
+
return [(model.name, model.id) for model in models]
|
| 68 |
|
| 69 |
@log_async_execution_time(logger)
|
| 70 |
async def generate_script(self, content: str, prompt: str, model_id: str) -> str:
|
|
|
|
| 139 |
try:
|
| 140 |
voices = elevenlabs.voices()
|
| 141 |
return [(
|
| 142 |
+
|
| 143 |
f"{voice.name} ({voice.labels.get('accent', 'No accent')})" +
|
| 144 |
+
(f" - {voice.description[:50]}..." if voice.description else ""),
|
| 145 |
+
voice.voice_id # Value (hidden from user)
|
| 146 |
) for voice in voices]
|
| 147 |
except Exception as e:
|
| 148 |
logger.error("Failed to fetch voices from ElevenLabs", exc_info=True)
|
app.py
CHANGED
|
@@ -66,7 +66,7 @@ class PodcasterUI:
|
|
| 66 |
with gr.Column():
|
| 67 |
openrouter_model = gr.Dropdown(
|
| 68 |
label='AI Model',
|
| 69 |
-
choices=
|
| 70 |
value=self.models[0][0] if len(self.models) > 1 else None,
|
| 71 |
)
|
| 72 |
|
|
|
|
| 66 |
with gr.Column():
|
| 67 |
openrouter_model = gr.Dropdown(
|
| 68 |
label='AI Model',
|
| 69 |
+
choices=self.models, # Each choice now has same id/display value
|
| 70 |
value=self.models[0][0] if len(self.models) > 1 else None,
|
| 71 |
)
|
| 72 |
|