File size: 757 Bytes
c7fc3b6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# services/stt_service.py

import requests
from config import HUGGINGFACE_API_KEY, HUGGINGFACE_STT_MODEL_ID

def transcribe_audio(file_bytes: bytes) -> str:
    """
    Convert audio bytes into English text using Whisper large-v3
    through Hugging Face Inference API.
    """
    headers = {
        "Authorization": f"Bearer {HUGGINGFACE_API_KEY}",
        "Content-Type": "application/octet-stream",
    }

    url = f"https://api-inference.huggingface.co/models/{HUGGINGFACE_STT_MODEL_ID}"

    response = requests.post(url, headers=headers, data=file_bytes)

    try:
        result = response.json()
        return result.get("text", "Error: No transcription returned.")
    except Exception:
        return "Error: Invalid response from STT model."