Skip to content

Flux

deepgram/flux

Flux is Deepgram's conversational speech recognition model for voice agents, launched October 2025, with turn detection inside the recognizer via StartOfTurn, EagerEndOfTurn and EndOfTurn events. Streaming-only on /v2/listen; this slug resolves to English flux-general-en.

API
import WebSocket from "ws";
import { readFile } from "node:fs/promises";

// Use mono, 16 kHz, signed 16-bit little-endian PCM.
const audio = await readFile("recording.pcm");
const url = new URL("/v1/audio/transcriptions/stream", process.env.AUDIOLAB_API_URL);
url.protocol = url.protocol === "https:" ? "wss:" : "ws:";
const socket = new WebSocket(url, {
  headers: { Authorization: `Bearer ${process.env.AUDIOLAB_API_KEY}` },
});
socket.on("open", () => socket.send(JSON.stringify({
  type: "session.start", model: "deepgram/flux",
  encoding: "pcm_s16le", sample_rate: 16000, channels: 1,
})));
socket.on("message", (data) => {
  const event = JSON.parse(data.toString());
  console.log(event);
  if (event.type === "session.started") {
    for (let offset = 0; offset < audio.length; offset += 3200)
      socket.send(audio.subarray(offset, offset + 3200));
    socket.send(JSON.stringify({ type: "session.finish" }));
  }
});
Input Price
$0.0065 / minute
Output Price
—
Input
Audio
Output
Text

Capabilities

Explore what Flux supports, then use the API section for a request tailored to this model.

StreamWord timestampsConfidence

Languages

English

Model Information

Provider
Deepgram
Product
Speech-to-Text
Release Date
Oct 2, 2025
Data Policy
Configurable
Region
Unknown
Input
Audio
Output
Text
Provider Documentation

Playground

Try Flux by Deepgram. Requests use the selected workspace’s credits and API pricing.

FluxCredits —
Flux
This model uses a dedicated input format. Explore its API example or open the supported playground.

Providers

Compare available endpoints, pricing, and context limits for Flux.

ProviderContextOutputInput PriceOutput PriceEndpoint
DeepgramNot specifiedText$0.0065 / minute—
deepgram/flux:deepgram

Prices are catalog rates. Your workspace’s estimate and endpoint pricing determine the final charge.

Input and Output Limits

Formats and limits AudioLab enforces on each request.

LimitValue
Max bytesNot specified
Max secondsNot specified
Formatsflac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm

Provider Notes

Nova 3 and Nova 2 support both uploaded audio and live streaming. Set diarize=true or provide diarize_model; AudioLab sends only diarize_model because Deepgram rejects requests that combine both flags. Flux General English and Flux General Multilingual are realtime-only conversational models; they use Flux end-of-turn controls and reject diarization. AudioLab maps common keyterms to Deepgram keyterm/keyword controls and rejects unsupported translation before dispatch.

Performance

Status

Current catalog availability. Your workspace’s access is checked separately before a request runs.

Getting Started

Use your workspace API key and the exact model identifier below. Set the API URL to the endpoint shown in your workspace and keep credentials on your server.

API
import WebSocket from "ws";
import { readFile } from "node:fs/promises";

// Use mono, 16 kHz, signed 16-bit little-endian PCM.
const audio = await readFile("recording.pcm");
const url = new URL("/v1/audio/transcriptions/stream", process.env.AUDIOLAB_API_URL);
url.protocol = url.protocol === "https:" ? "wss:" : "ws:";
const socket = new WebSocket(url, {
  headers: { Authorization: `Bearer ${process.env.AUDIOLAB_API_KEY}` },
});
socket.on("open", () => socket.send(JSON.stringify({
  type: "session.start", model: "deepgram/flux",
  encoding: "pcm_s16le", sample_rate: 16000, channels: 1,
})));
socket.on("message", (data) => {
  const event = JSON.parse(data.toString());
  console.log(event);
  if (event.type === "session.started") {
    for (let offset = 0; offset < audio.length; offset += 3200)
      socket.send(audio.subarray(offset, offset + 3200));
    socket.send(JSON.stringify({ type: "session.finish" }));
  }
});
Read the Endpoint Reference

Request Parameters

Available parameters depend on the provider and request format. The endpoint reference explains accepted values and required fields.

ParameterDetails
modeldeepgram/flux — Required model identifier.
detect_language / detect_entities / diarize_model / multichannelView Accepted Values
punctuate / smart_format / numerals / paragraphs / utterances / utt_splitView Accepted Values
filler_words / profanity_filter / dictation / measurementsView Accepted Values
intents / custom_intent / custom_intent_modeView Accepted Values
topics / custom_topic / custom_topic_mode / summarize / sentimentView Accepted Values
search / replace / tag / version / extraView Accepted Values
endpointing / utterance_end_ms / vad_events / mip_opt_out (realtime)View Accepted Values
eot_threshold / eager_eot_threshold / eot_timeout_ms / language_hints (Flux)View Accepted Values

Input and Output Limits

Formats and limits AudioLab enforces on each request.

LimitValue
Max bytesNot specified
Max secondsNot specified
Formatsflac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm

Similar Models

Explore more speech-to-text and compare their capabilities.

ModelContextInput PriceOutput Price
Flux MultilingualDeepgramNot specified$0.0078 / minute—
flux-general-multiDeepgramNot specified$0.0066 / minute—
flux-general-enDeepgramNot specified$0.0055 / minute—
nova-3-medicalDeepgramNot specified$0.0037 / minute—
Nova-3DeepgramNot specified$0.0037 / minute—
nova-2-atcDeepgramNot specified$0.0037 / minute—
View All Speech-to-Text