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