Spaces:
Running
Running
import gradio as gr | |
import requests | |
import os | |
# Retrieve ASR API URL and Authorization Token from environment variables | |
ASR_API_URL = os.getenv('ASR_API_URL') | |
AUTH_TOKEN = os.getenv('AUTH_TOKEN') | |
def transcribe_audio(file_path): | |
if not ASR_API_URL or not AUTH_TOKEN: | |
return "Error: Missing ASR_API_URL or AUTH_TOKEN." | |
# Prepare headers and data | |
headers = { | |
'accept': 'application/json', | |
'Authorization': f'Bearer {AUTH_TOKEN}', | |
} | |
files = { | |
'file': (file_path, open(file_path, 'rb'), 'audio/mpeg'), | |
} | |
# Send POST request | |
response = requests.post(ASR_API_URL, headers=headers, files=files) | |
# Check if response is successful | |
if response.status_code == 200: | |
return response.json().get("transcription", "No transcription returned.") | |
else: | |
return f"Error: {response.status_code}, {response.text}" | |
description_text = """ | |
The Gooya model is one of the most [powerful](https://huggingface.co/spaces/navidved/open_persian_asr_leaderboard) and fastest Persian ASR models. | |
Upload an audio file in Persian, and this Model will transcribe it. | |
""" | |
# Set up the Gradio interface | |
gr.Interface( | |
fn=transcribe_audio, | |
inputs=gr.Audio(type="filepath"), # Updated here | |
outputs="text", | |
title="Gooya v1.2 Persian ASR", | |
description="The Gooya model is one of the most powerful and fastest Persian ASR models. Upload an audio file in Persian, and this Model will transcribe it." | |
).launch() | |