Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions zaban_backend/app/api/v1/language_detection.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
from fastapi import APIRouter, HTTPException, Body
from fastapi import APIRouter, HTTPException, Body, Depends

from ...core.api_key_auth import require_api_key


router = APIRouter(prefix="")


@router.post("/detect-language")
async def detect_language(body: dict = Body(...)):
async def detect_language(body: dict = Body(...), _api_key=Depends(require_api_key)):
"""
Detect language from text using FastText.

Expand Down
5 changes: 3 additions & 2 deletions zaban_backend/app/api/v1/stt.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@
import logging

import httpx
from fastapi import APIRouter, HTTPException, Request
from fastapi import APIRouter, HTTPException, Request, Depends
from starlette.datastructures import UploadFile

from ...services.ai4bharat import Ai4BharatClient
from ...core.api_key_auth import require_api_key


router = APIRouter(prefix="")
Expand Down Expand Up @@ -50,7 +51,7 @@ def _log_stt_response(response: dict, request_kind: str) -> None:


@router.post("/stt")
async def stt(request: Request):
async def stt(request: Request, _api_key=Depends(require_api_key)):
"""
Speech-to-Text: accept either multipart (audio file) or JSON (audio_url, optional lang).
JSON: audio_url required; lang optional (auto-detect when omitted).
Expand Down
5 changes: 3 additions & 2 deletions zaban_backend/app/api/v1/transliteration.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from fastapi import APIRouter, HTTPException
from fastapi import APIRouter, HTTPException, Depends
from pydantic import BaseModel
from typing import Optional

from ...services.ai4bharat import Ai4BharatClient
from ...core.api_key_auth import require_api_key


router = APIRouter(prefix="")
Expand All @@ -20,7 +21,7 @@ class TransliterateRequest(BaseModel):


@router.post("/transliterate")
async def transliterate(req: TransliterateRequest):
async def transliterate(req: TransliterateRequest, _api_key=Depends(require_api_key)):
try:
return await client.transliterate(
text=req.text,
Expand Down