Abhi-vish's picture
Upload 3 files
0ae3839
from gradio_client import Client
import json
import base64
class Translate:
def translate(self, task=None, audio=None, text=None, input_language=None, target_language=None):
client = Client("https://facebook-seamless-m4t.hf.space/")
audio_content = None # Initialize to None
result = None # Initialize result
if audio is not None:
# Handle the uploaded audio file
audio_content = audio.read() # Read the binary content of the uploaded audio
audio.close() # Close the uploaded file
# Convert audio content to base64-encoded string
audio_content = base64.b64encode(audio_content).decode('utf-8')
# Call the Gradio predict method and store the result
result = client.predict(
task,
audio_content, # Pass the audio content as base64-encoded string
"https://github.com/gradio-app/gradio/raw/main/test/test_files/audio_sample.wav",
"https://github.com/gradio-app/gradio/raw/main/test/test_files/audio_sample.wav",
text,
input_language,
target_language,
api_name="/run"
)
else:
result = client.predict(
task,
audio_content, # Pass the audio content as base64-encoded string
"https://github.com/gradio-app/gradio/raw/main/test/test_files/audio_sample.wav",
"https://github.com/gradio-app/gradio/raw/main/test/test_files/audio_sample.wav",
text,
input_language,
target_language,
api_name="/run"
)
# Serialize the dictionary to a JSON-serializable string
result_str = json.dumps(result)
return result_str