Skip to content

Ink 2

cartesia/ink-2

Streaming speech-to-text flagship from Cartesia, released May 22, 2026, with built-in turn detection that emits start, eager-end, resume and end events without a separate VAD. Since September 17, 2026 it transcribes English, French, Hindi, Japanese and Spanish.

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: "cartesia/ink-2",
  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.0021 / minute
Output Price
—
Input
Audio
Output
Text

Capabilities

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

StreamWord timestamps

Languages

Multilingual

Model Information

Provider
Cartesia
Product
Speech-to-Text
Release Date
May 22, 2026
Data Policy
Not specified
Region
Global
Input
Audio
Output
Text
Provider Documentation

Playground

Try Ink 2 by Cartesia. Requests use the selected workspace’s credits and API pricing.

Ink 2Credits —
Ink 2
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 Ink 2.

ProviderContextOutputInput PriceOutput PriceEndpoint
CartesiaNot specifiedText$0.0021 / minute—
cartesia/ink-2:cartesia

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

Ink Whisper supports uploaded-audio transcription and English realtime transcription. Ink 2 is realtime-only and adds automatic turn-detection thresholds. Both realtime paths use Cartesia's native WebSocket and AudioLab's incoming PCM framing.

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: "cartesia/ink-2",
  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
modelcartesia/ink-2 — Required model identifier.
mode (auto or manual; realtime)View Accepted Values
turn_start_threshold / turn_eager_end_threshold / turn_end_threshold (Ink 2)View Accepted Values
turn_end_timeout_ms (Ink 2)View Accepted Values
min_volume / max_silence_duration_secs (Ink Whisper 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
Ink WhisperCartesiaNot specified$0.0011 / minute—
MAI-Transcribe 2Microsoft AzureNot specified$0.0014 / minute—
Gemini 3.5 TranscribeGoogle GeminiNot specified$0.0043 / minute—
Saaras v4Sarvam AINot specified₹0.425 / minute—
saaras-v4-batchSarvam AINot specified₹0.425 / minute—
qwen-audio-3.0-asr-flashAlibaba Cloud Model StudioNot specified$0.0018 / minute—
View All Speech-to-Text