Skip to main content
client.asr.transcribe() uploads a complete audio file to luchs-1 and returns the transcript. See Speech to Text for the full wire contract, supported language, audio limits, and the WebSocket streaming protocol — the SDK does not yet wrap streaming.

Transcribe a file

model defaults to "luchs-1" and does not need to be passed. Passing any other value raises ValidationError client-side, before any network call:

Optional arguments

language is forwarded but currently has no effect on recognition — see Supported language.

Migrating from qwen3-asr

model="qwen3-asr" (or any other prior identifier) now raises ValidationError. Drop the argument, or pass model="luchs-1" explicitly. Any code that read the previous default off the response must also account for result.model now always being "luchs-1"; use result.model_revision if you need the underlying artifact identity. This changed in the next major release of the Python SDK.

Streaming

The Python SDK does not currently include a WebSocket streaming client for speech-to-text. Use the raw WebSocket protocol in Speech to Text directly for live transcription.
Last modified on September 13, 2026