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 is typed as the literal 'luchs-1' and defaults to it — omit the field entirely for the common case. TypeScript rejects any other string at compile time; there is no runtime override.

Optional fields

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

Migrating from qwen3-asr

{ model: 'qwen3-asr' } no longer compiles — TranscribeOptions.model only accepts the literal 'luchs-1'. Drop the field, or set it explicitly. Anything reading the response model field must also account for it now always being "luchs-1"; use model_revision if you need the underlying artifact identity. This changed in the next major release of the JavaScript SDK.

Streaming

The JavaScript 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