Skip to content

Enhanced (Realtime)

speechmatics/enhanced-realtime

Speechmatics' top-accuracy model for live audio, running the Enhanced tier over its realtime WebSocket API. Speechmatics says its Ursa 2 generation brought realtime latency under one second; speaker diarization and partial transcripts are supported across 55+ languages.

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: "speechmatics/enhanced-realtime",
  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.0061 / minute
Output Price
—
Input
Audio
Output
Text

Capabilities

Explore what Enhanced (Realtime) supports, then use the API section for a request tailored to this model.

StreamDiarizationWord timestampsSegment timestampsConfidence

Languages

Multilingual

Model Information

Provider
Speechmatics
Product
Speech-to-Text
Release Date
Oct 11, 2024
Data Policy
Configurable
Region
EU
Input
Audio
Output
Text
Provider Documentation

Playground

Try Enhanced (Realtime) by Speechmatics. Requests use the selected workspace’s credits and API pricing.

Enhanced (Realtime)Credits —
Enhanced (Realtime)
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 Enhanced (Realtime).

ProviderContextOutputInput PriceOutput PriceEndpoint
SpeechmaticsNot specifiedText$0.0061 / minute—
speechmatics/enhanced-realtime:speechmatics

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
Formats

Provider Notes

Enhanced and Standard are separate batch models; Enhanced Realtime and Standard Realtime are separate streaming products and preserve their own pricing. The current API selects model=enhanced or model=standard; the deprecated operating_point field is not sent. Melia 1 is multilingual transcription with code switching, not the Speechmatics translation feature: it is batch-only, requires language=multi, and rejects custom vocabulary, translation, entity extraction, transcript filtering, and speaker-diarization tuning.

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: "speechmatics/enhanced-realtime",
  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
modelspeechmatics/enhanced-realtime — Required model identifier.
additional_vocab / output_locale / domainView Accepted Values
audio_filtering_config / transcript_filtering_configView Accepted Values
diarization / channel_diarization_labels / speaker_diarization_configView Accepted Values
punctuation_overrides / enable_entitiesView Accepted Values
translation_configView Accepted Values
conversation_config / max_delay / max_delay_mode (realtime)View Accepted Values

Input and Output Limits

Formats and limits AudioLab enforces on each request.

LimitValue
Max bytesNot specified
Max secondsNot specified
Formats

Similar Models

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

ModelContextInput PriceOutput Price
Melia 1SpeechmaticsNot specified$0.0018 / minute—
EnhancedSpeechmaticsNot specified$0.0057 / minute—
StandardSpeechmaticsNot specified$0.0034 / minute—
Standard RealtimeSpeechmaticsNot specified$0.0034 / minute—
MAI-Transcribe 2Microsoft AzureNot specified$0.0014 / minute—
Gemini 3.5 TranscribeGoogle GeminiNot specified$0.0043 / minute—
View All Speech-to-Text