Spaces:
Running
Running
| import io | |
| import os | |
| import gradio as gr | |
| from groq import Groq | |
| CLIENT = Groq(api_key=os.environ.get("GROQ_API_KEY")) | |
| RESPONSE_FORMAT = os.environ.get("RESPONSE_FORMAT", "wav") | |
| MODEL = os.environ.get("MODEL", "playai-tts") | |
| VOICE = os.environ.get("VOICE", "Fritz-PlayAI") | |
| def generate_audio(text): | |
| """Generate audio from text and return it as a binary stream""" | |
| response = CLIENT.audio.speech.create( | |
| model=MODEL, | |
| voice=VOICE, | |
| input=text, | |
| response_format=RESPONSE_FORMAT, | |
| ) | |
| return io.BytesIO(response.parse()).getvalue() | |
| app = gr.Interface( | |
| fn=generate_audio, | |
| inputs=gr.Textbox(label="Text"), | |
| outputs=gr.Audio(label="Audio"), | |
| title="Text to Speech", | |
| description="Generate audio from text and return the audio url", | |
| ) | |
| if __name__ == "__main__": | |
| app.launch(mcp_server=True) | |