gpt-realtime-2.1 is OpenAI's speech-to-speech model for voice agents, designed for real-time spoken conversation with configurable reasoning and tool use.
Modalities
inTextinImageinFileinAudiooutTextoutAudio
Price / 1M
$2.80 / $16.80
Context
128K
Channels
Every channel serves the same model, but they differ in price and stability. On each API key in the Platform, you pick a primary and a backup channel per vendor, and each billing line shows which channel served the request.
Provider
Discount
Input /M
Output /M
Cache read /M
Cache write 5m /M
Cache write 1h /M
Defaultstable
—
$2.80
$16.80
$0.28
—
—
Context pricing
This model’s price depends on how much input context a request carries. The headline price is the cheapest band, and a longer prompt moves the whole request into a higher one.
Input context
Input /M
Output /M
Cache read /M
standardBase
$2.80
$16.80
$0.28
Capabilities
ReasoningVisionTool use
Quick start
GET /v1/realtime# /v1/realtime is a websocket handshake, not a request body. curl -i https://api.mirapi.ai/v1/realtime?model=gpt-realtime-2.1 \ -H "Authorization: Bearer $MIRAPI_API_KEY" \ -H "Connection: Upgrade" \ -H "Upgrade: websocket" \ -H "Sec-WebSocket-Version: 13" \ -H "Sec-WebSocket-Key: $(openssl rand -base64 16)"
import os, websockets url = "wss://api.mirapi.ai/v1/realtime?model=gpt-realtime-2.1" headers = {"Authorization": f"Bearer {os.environ['MIRAPI_API_KEY']}"} # changed async with websockets.connect(url, additional_headers=headers) as ws: await ws.send('{"type": "response.create"}') print(await ws.recv())
import WebSocket from "ws"; const ws = new WebSocket( "wss://api.mirapi.ai/v1/realtime?model=gpt-realtime-2.1", { headers: { Authorization: `Bearer ${process.env.MIRAPI_API_KEY}` } }, // changed ); ws.on("open", () => ws.send(JSON.stringify({ type: "response.create" }))); ws.on("message", (m) => console.log(m.toString()));
Links
Wire gpt-realtime-2.1 into your product
Start free1M free tokens to start, no card required. It’s OpenAI-compatible, so you only change the base URL.