open-asr-leaderboard-apis / providers /aquavoice_provider.py
bezzam's picture
bezzam HF Staff
Upload 11 files
bbfb0cc verified
Raw
History Blame Contribute Delete
1.07 kB
import os
import requests
from typing import Optional
from . import APIProvider, register
@register("aquavoice")
class AquaVoiceProvider(APIProvider):
def transcribe(
self,
model_variant: str,
audio_file_path: Optional[str],
sample: dict,
use_url: bool = False,
language: str = "en",
) -> str:
api_key = os.getenv("AQUAVOICE_API_KEY")
if not api_key or api_key == "your_api_key":
raise ValueError(
"AQUAVOICE_API_KEY environment variable not set, go to https://withaqua.com/api-dashboard to create a key"
)
endpoint = "https://api.aquavoice.com/api/v1/audio/transcriptions"
headers = {
"Authorization": f"Bearer {api_key}",
}
with open(audio_file_path, "rb") as audio_file:
response = requests.post(
endpoint,
files={"file": audio_file},
data={"model": model_variant},
headers=headers,
)
return response.json()["text"]