Summary
WorkersAIFluxSTT in @cloudflare/voice currently only uses @cf/deepgram/flux which maps to Deepgram's English-only model (flux-general-en). There is no way to select the multilingual model (flux-general-multi) or pass language_hint parameters, making it impossible to build voice agents for non-English users.
Problem
Deepgram has released Flux Multilingual (flux-general-multi), a single model supporting 10 languages (English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian, Dutch) with auto-detection and language_hint biasing. However:
- Workers AI's
@cf/deepgram/flux appears to only serve flux-general-en. There is no parameter to switch to flux-general-multi.
WorkersAIFluxSTT has no language or languageHint option in its constructor/config. Looking at the source, the WebSocket input only sends encoding, sample_rate, eot_threshold, etc. — no language-related fields.
- The underlying
ai.run("@cf/deepgram/flux", input, { websocket: true }) call provides no way to specify the Deepgram model variant or language_hint.
For context, WorkersAINova3STT already supports a language option — it would be great if WorkersAIFluxSTT followed a similar pattern.
Proposed Solution
- Workers AI level: Add a
model or language parameter to @cf/deepgram/flux that allows selecting flux-general-multi and passing language_hint values through to Deepgram.
@cloudflare/voice level: Add language / languageHints options to WorkersAIFluxSTT constructor, similar to how WorkersAINova3STT accepts language. When provided, pass these through to the ai.run() call.
Example API:
class MyAgent extends VoiceAgent<Env> {
// Option A: single language hint
transcriber = new WorkersAIFluxSTT(this.env.AI, { languageHints: ["zh"] });
// Option B: multiple language hints for bilingual users
transcriber = new WorkersAIFluxSTT(this.env.AI, { languageHints: ["en", "zh"] });
// Option C: no hints — auto-detect
transcriber = new WorkersAIFluxSTT(this.env.AI, { languageHints: [] });
}
Use Case
We're building an AI companion platform where characters can speak multiple languages. Currently, our voice call feature only works for English-speaking users. Supporting multilingual STT would allow us to serve our global user base without switching to a different STT provider.
Additional Context
- Deepgram Flux Multilingual docs: https://developers.deepgram.com/docs/flux/language-prompting
- Cloudflare Workers AI Flux docs: https://developers.cloudflare.com/workers-ai/models/flux/
- Flux Multilingual was GA'd on April 29, 2026
- Currently supported languages in
flux-general-multi: en, es, fr, de, hi, ru, pt, ja, it, nl
- Chinese (zh) is not yet supported by Flux — a follow-up request for broader language coverage would also be valuable
Summary
WorkersAIFluxSTTin@cloudflare/voicecurrently only uses@cf/deepgram/fluxwhich maps to Deepgram's English-only model (flux-general-en). There is no way to select the multilingual model (flux-general-multi) or passlanguage_hintparameters, making it impossible to build voice agents for non-English users.Problem
Deepgram has released Flux Multilingual (
flux-general-multi), a single model supporting 10 languages (English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian, Dutch) with auto-detection andlanguage_hintbiasing. However:@cf/deepgram/fluxappears to only serveflux-general-en. There is no parameter to switch toflux-general-multi.WorkersAIFluxSTThas nolanguageorlanguageHintoption in its constructor/config. Looking at the source, the WebSocket input only sendsencoding,sample_rate,eot_threshold, etc. — no language-related fields.ai.run("@cf/deepgram/flux", input, { websocket: true })call provides no way to specify the Deepgram model variant orlanguage_hint.For context,
WorkersAINova3STTalready supports alanguageoption — it would be great ifWorkersAIFluxSTTfollowed a similar pattern.Proposed Solution
modelorlanguageparameter to@cf/deepgram/fluxthat allows selectingflux-general-multiand passinglanguage_hintvalues through to Deepgram.@cloudflare/voicelevel: Addlanguage/languageHintsoptions toWorkersAIFluxSTTconstructor, similar to howWorkersAINova3STTacceptslanguage. When provided, pass these through to theai.run()call.Example API:
Use Case
We're building an AI companion platform where characters can speak multiple languages. Currently, our voice call feature only works for English-speaking users. Supporting multilingual STT would allow us to serve our global user base without switching to a different STT provider.
Additional Context
flux-general-multi: en, es, fr, de, hi, ru, pt, ja, it, nl