diff --git a/scripts/client.py b/scripts/client.py index 3615e06a..212f940e 100644 --- a/scripts/client.py +++ b/scripts/client.py @@ -36,8 +36,11 @@ USER = "nixos" TIMEOUT = httpx.Timeout(None) KEYBIND = "ctrl+x" -LANGUAGE = "en" -RESPONSE_FORMAT = "text" +REQUEST_KWARGS = { + "language": "en", + "response_format": "text", + "vad_filter": True, +} client = httpx.Client(base_url=OPENAI_BASE_URL, timeout=TIMEOUT) is_running = threading.Event() @@ -69,10 +72,7 @@ res = client.post( OPENAI_BASE_URL + TRANSCRIBE_PATH, files={"file": fd}, - data={ - "response_format": RESPONSE_FORMAT, - "language": LANGUAGE, - }, + data=REQUEST_KWARGS, ) end = time.perf_counter() print(f"Transcription took {end - start} seconds") diff --git a/src/faster_whisper_server/routers/stt.py b/src/faster_whisper_server/routers/stt.py index 70ef2044..ceaa3e37 100644 --- a/src/faster_whisper_server/routers/stt.py +++ b/src/faster_whisper_server/routers/stt.py @@ -18,7 +18,7 @@ from fastapi.responses import StreamingResponse from fastapi.websockets import WebSocketState from faster_whisper.vad import VadOptions, get_speech_timestamps -from pydantic import AfterValidator +from pydantic import AfterValidator, Field from faster_whisper_server.api_models import ( DEFAULT_TIMESTAMP_GRANULARITIES, @@ -120,7 +120,17 @@ def handle_default_openai_model(model_name: str) -> str: return model_name -ModelName = Annotated[str, AfterValidator(handle_default_openai_model)] +ModelName = Annotated[ + str, + AfterValidator(handle_default_openai_model), + Field( + description="The ID of the model. You can get a list of available models by calling `/v1/models`.", + examples=[ + "Systran/faster-distil-whisper-large-v3", + "bofenghuang/whisper-large-v2-cv11-french-ct2", + ], + ), +] @router.post(