Spaces:
Paused
Paused
import json | |
import whisper | |
import requests | |
large_multi = whisper.load_model("large-v3") | |
# def send_results_to_api(data, result_url): | |
# headers = {"Content-Type":"application/json"} | |
# response = requests.post(result_url, json= data, headers=headers) | |
# if response.status_code == 200: | |
# return response.json() | |
# else: | |
# return {"error": f"Failed to send results to API: {response.status_code}"} | |
def process_audio(params): | |
solutions=[] | |
params = json.loads(params) | |
audio_files = params.get("urls",[]) | |
# api = params.get("api", "") | |
# job_id = params.get("job_id", "") | |
for audio in audio_files: | |
result_multi = large_multi.transcribe(audio) | |
text = result_multi['text'] | |
answer_dict = {} | |
answer_dict.update({'url':audio, 'answer':text}) | |
solutions.append(answer_dict) | |
# result_url = f"{api}/{job_id}" | |
# send_results_to_api(solutions, result_url) | |
return json.dumps({"solutions":solutions}) | |
import gradio as gr | |
inputt = gr.Textbox(label = "Parameter in json format Eg. {'audio_files':['file1.mp3','file2.wav'], 'api':'https://api.example.com', 'job_id':'1001'}") | |
outputt = gr.JSON() | |
application = gr.Interface(fn=process_audio, inputs = inputt, outputs= outputt, title="Hindi 2 Hindi Audio transcription with API Intergration") | |
application.launch() |