language-learning-app/api/app/outbound/deepgram/deepgram_client.py

26 lines
807 B
Python
Raw Normal View History

import json
2026-03-27 07:54:00 +00:00
from deepgram import (
AsyncDeepgramClient,
)
class LocalDeepgramClient:
def __init__(self, api_key: str):
self.deepgram_client = AsyncDeepgramClient(api_key=api_key)
async def transcribe_bytes(self, audio_bytes: bytes, language_code: str) -> dict:
response = await self.deepgram_client.listen.v1.media.transcribe_file(
request=audio_bytes,
model="nova-3",
language=language_code,
utterances=True,
smart_format=True,
)
return json.loads(response.results.json())
async def transcribe_local_file(self, local_file_path: str, language_code: str) -> dict:
2026-03-27 07:54:00 +00:00
with open(local_file_path, "rb") as audio_file:
return await self.transcribe_bytes(audio_file, language_code)
2026-03-27 07:54:00 +00:00