malek-messaoudii
update services
1e7709f
raw
history blame
762 Bytes
import requests
import uuid
from config import GROQ_API_KEY, GROQ_TTS_MODEL
def text_to_speech(text: str, voice: str, fmt: str):
if not GROQ_API_KEY:
raise RuntimeError("GROQ_API_KEY is not set in config")
url = "https://api.groq.ai/openai/v1/audio/speech"
headers = {
"Authorization": f"Bearer {GROQ_API_KEY}",
"Content-Type": "application/json"
}
payload = {
"model": GROQ_TTS_MODEL,
"voice": voice,
"format": fmt,
"input": text
}
output_file = f"audio_{uuid.uuid4()}.{fmt}"
response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()
with open(output_file, "wb") as f:
f.write(response.content)
return output_file