Deepgram’s newest Flux model @cf/deepgram/flux is now available on Workers AI, hosted directly on Cloudflare’s infrastructure. We’re excited to be a launch partner with Deepgram and offer their new Speech Recognition model built specifically for enabling voice agents. Check out Deepgram’s blog for more details on the release.
The Flux model can be used in conjunction with Deepgram’s speech-to-text model @cf/deepgram/nova-3](/workers-ai/models/nova-3/) and text-to-speech model [@cf/deepgram/aura-1 to build end-to-end voice agents. Having Deepgram on Workers AI takes advantage of our edge GPU infrastructure, for ultra low latency voice AI applications.
Promotional Pricing
For the month of October 2025, Deepgram’s Flux model will be free to use on Workers AI. Official pricing will be announced soon and charged after the promotional pricing period ends on October 31, 2025. Check out the model page for pricing details in the future.
Example Usage
The new Flux model is WebSocket only as it requires live bi-directional streaming in order to recognize speech activity.
- Create a worker that establishes a websocket connection with
@cf/deepgram/flux
export default { async fetch(request, env, ctx): Promise<Response> { const resp = await env.AI.run("@cf/deepgram/flux", { encoding: "linear16", sample_rate: "16000" }, { websocket: true }); return resp; },} satisfies ExportedHandler<Env>;- Deploy your worker
npx wrangler deploy- Write a client script to connect to your worker and start sending random audio bytes to it
const ws = new WebSocket('wss://<your-worker-url.com>');
ws.onopen = () => { console.log('Connected to WebSocket');
// Generate and send random audio bytes // You can replace this part with a function // that reads from your mic or other audio source const audioData = generateRandomAudio(); ws.send(audioData); console.log('Audio data sent');};
ws.onmessage = (event) => { // Transcription will be received here // Add your custom logic to parse the data console.log('Received:', event.data);};
ws.onerror = (error) => { console.error('WebSocket error:', error);};
ws.onclose = () => { console.log('WebSocket closed');};
// Generate random audio data (1 second of noise at 44.1kHz, mono)function generateRandomAudio() { const sampleRate = 44100; const duration = 1; const numSamples = sampleRate * duration; const buffer = new ArrayBuffer(numSamples * 2); const view = new Int16Array(buffer);
for (let i = 0; i < numSamples; i++) { view[i] = Math.floor(Math.random() * 65536 - 32768); }
return buffer;}Source: Cloudflare
Latest Posts
- Microsoft Copilot Studio – Simplify working with triggers and channels [MC1189337]
![Microsoft Copilot Studio - Simplify working with triggers and channels [MC1189337] 2 pexels thomas forsberg 1300282497 25399645](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==)
- Dynamics 365 Contact Center – Analyze adherence history to optimize workforce planning [MC1189137]
![Dynamics 365 Contact Center - Analyze adherence history to optimize workforce planning [MC1189137] 3 pexels rafael santos 216811467 12090444](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==)
- Workers – Environment variable limits increase for Workers Builds

- Introducing one-click onboarding of existing datasets to Amazon SageMaker


![Microsoft Copilot Studio - Simplify working with triggers and channels [MC1189337] 2 pexels thomas forsberg 1300282497 25399645](https://mwpro.co.uk/wp-content/uploads/2024/08/pexels-thomas-forsberg-1300282497-25399645-150x150.webp)
![Dynamics 365 Contact Center - Analyze adherence history to optimize workforce planning [MC1189137] 3 pexels rafael santos 216811467 12090444](https://mwpro.co.uk/wp-content/uploads/2025/06/pexels-rafael-santos-216811467-12090444-150x150.webp)


