Spaces:
Sleeping
Sleeping
# genesis/utils/text_to_speech.py | |
import os | |
import requests | |
ELEVEN_API_KEY = os.getenv("ELEVEN_LABS_API_KEY") | |
def elevenlabs_tts(text, voice_id="Bella", output_file="output.mp3"): | |
"""Convert text to speech using ElevenLabs.""" | |
url = f"https://api.elevenlabs.io/v1/text-to-speech/{voice_id}" | |
headers = { | |
"xi-api-key": ELEVEN_API_KEY, | |
"Content-Type": "application/json" | |
} | |
payload = {"text": text, "voice_settings": {"stability": 0.75, "similarity_boost": 0.75}} | |
response = requests.post(url, json=payload, headers=headers) | |
response.raise_for_status() | |
with open(output_file, "wb") as f: | |
f.write(response.content) | |
return output_file | |