GPT Realtime 2.1 ist das Flaggschiff von OpenAIs Realtime-Speech-to-Speech-Familie, angekündigt als aktualisiertes Realtime-Reasoning-Modell mit verbesserter Alphanumerik-Erkennung, verbesserter Stille- und Rauschbehandlung und verbessertem Unterbrechungsverhalten.
- Eingabe
- Audio Text $4/M
- Ausgabe
- Audio Text $24/M
- Audio-Eingabe
- $32/M
- Audio-Ausgabe
- $64/M
- Cache-Lesen
- $0.4/M
- Knowledge-Cutoff
- 2024-09
Preis im Vergleich
Der Preis im Feld von 6 vergleichbaren Modellen
Der Balken zeigt, wo der Preis dieses Modells unter allen Modellen derselben Art auf Synthorai liegt. An beiden Enden stehen das günstigste und das teuerste Modell. Angegeben sind Grundpreise; Rabatte für Batch, Region und Cache-Schreibzugriffe stehen auf der Preisseite.
Spezifikationen & Limits
Tokens
| Kontextfenster (laut Anbieter) | 128.000 |
|---|---|
| Max. Ausgabe (laut Anbieter) | 32.000 |
| Knowledge-Cutoff | 2024-09 |
Prompt-Caching
| Modus | automatisch |
|---|---|
| Min. Präfix | 1.024 |
| Lebensdauer | 5-10 Min., bis zu 1 Std. |
Echtzeit
| Sitzung |
|
|---|
Modell
| Modalitäten | Audio + Text → Audio + Text |
|---|
- Aktualisiertes Realtime-Reasoning-Modell mit verbesserter alphanumerischer Erkennung, besserem Umgang mit Stille und Störgeräuschen sowie besserem Unterbrechungsverhalten
- konfigurierbarer Reasoning-Aufwand und Tool-Nutzung für Voice-Agent-Workflows
- 128k Kontext
GPT Realtime 2.1 in 30 Sekunden nutzen
OpenAI-Realtime-kompatibel: per WebSocket verbinden, Audio rein, Audio raus. WS /v1/realtime
import asyncio, base64, json, websockets
URL = "wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1"
# Send ONLY the Authorization header - the beta protocol is retired.
HEADERS = {"Authorization": "Bearer sk-syn-..."}
async def main():
async with websockets.connect(URL, additional_headers=HEADERS) as ws:
# 1) configure the speech-to-speech session
await ws.send(json.dumps({
"type": "session.update",
"session": {
"type": "realtime",
"output_modalities": ["audio"],
"audio": {"output": {"voice": "alloy"}},
},
}))
# 2) send input audio (base64 PCM16), then request a spoken reply
await ws.send(json.dumps({"type": "input_audio_buffer.append", "audio": pcm16_b64}))
await ws.send(json.dumps({"type": "input_audio_buffer.commit"}))
await ws.send(json.dumps({"type": "response.create"}))
# 3) stream the model's audio (and text) back
async for raw in ws:
ev = json.loads(raw)
if ev["type"] == "response.audio.delta":
play(base64.b64decode(ev["delta"])) # audio out
elif ev["type"] == "response.done":
break
asyncio.run(main())import WebSocket from "ws";
const ws = new WebSocket("wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1", {
// Send ONLY the Authorization header — the beta protocol is retired.
headers: { Authorization: "Bearer sk-syn-..." },
});
ws.on("open", () => {
// configure the speech-to-speech session
ws.send(JSON.stringify({ type: "session.update", session: {
type: "realtime", output_modalities: ["audio"], audio: { output: { voice: "alloy" } },
} }));
// send input audio (base64 PCM16), then request a spoken reply
ws.send(JSON.stringify({ type: "input_audio_buffer.append", audio: pcm16Base64 }));
ws.send(JSON.stringify({ type: "input_audio_buffer.commit" }));
ws.send(JSON.stringify({ type: "response.create" }));
});
ws.on("message", (raw) => {
const ev = JSON.parse(raw.toString());
if (ev.type === "response.audio.delta") playAudio(Buffer.from(ev.delta, "base64")); // audio out
else if (ev.type === "response.done") ws.close();
});# Realtime is a WebSocket protocol - use a WS client such as websocat.
# Each line below is one OpenAI Realtime event (JSON) sent to the session.
websocat -H 'Authorization: Bearer sk-syn-...' \
'wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1' <<'EOF'
{"type":"session.update","session":{"type":"realtime","output_modalities":["audio"],"audio":{"output":{"voice":"alloy"}}}}
{"type":"input_audio_buffer.append","audio":"<base64-pcm16>"}
{"type":"input_audio_buffer.commit"}
{"type":"response.create"}
EOF
# Responses stream back as response.audio.delta (base64 audio out) … response.donepackage main
import (
"net/http"
"github.com/gorilla/websocket"
)
func main() {
h := http.Header{}
h.Set("Authorization", "Bearer sk-syn-...")
// Send ONLY the Authorization header — the beta protocol is retired.
c, _, err := websocket.DefaultDialer.Dial("wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1", h)
if err != nil {
panic(err)
}
defer c.Close()
// configure the speech-to-speech session, send audio, request a spoken reply
c.WriteJSON(map[string]any{"type": "session.update", "session": map[string]any{
"type": "realtime", "output_modalities": []string{"audio"},
"audio": map[string]any{"output": map[string]any{"voice": "alloy"}}}})
c.WriteJSON(map[string]any{"type": "input_audio_buffer.append", "audio": pcm16B64})
c.WriteJSON(map[string]any{"type": "input_audio_buffer.commit"})
c.WriteJSON(map[string]any{"type": "response.create"})
for {
var ev struct {
Type string `json:"type"`
Delta string `json:"delta"`
}
if err := c.ReadJSON(&ev); err != nil {
return
}
if ev.Type == "response.audio.delta" {
playAudio(ev.Delta) // base64 audio out
} else if ev.Type == "response.done" {
return
}
}
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.WebSocket;
import java.util.concurrent.CompletionStage;
// JDK built-in WebSocket — no extra dependency needed.
WebSocket ws = HttpClient.newHttpClient().newWebSocketBuilder()
.header("Authorization", "Bearer sk-syn-...")
// Send ONLY the Authorization header — the beta protocol is retired.
.buildAsync(URI.create("wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1"), new WebSocket.Listener() {
public CompletionStage<?> onText(WebSocket w, CharSequence data, boolean last) {
// handle response.audio.delta (base64 audio out) / response.done here
w.request(1);
return null;
}
}).join();
// configure the session, send input audio, then request a spoken reply
ws.sendText("{\"type\":\"session.update\",\"session\":{\"type\":\"realtime\",\"output_modalities\":[\"audio\"],\"audio\":{\"output\":{\"voice\":\"alloy\"}}}}", true);
ws.sendText("{\"type\":\"input_audio_buffer.append\",\"audio\":\"<base64-pcm16>\"}", true);
ws.sendText("{\"type\":\"input_audio_buffer.commit\"}", true);
ws.sendText("{\"type\":\"response.create\"}", true);Über GPT Realtime 2.1
- Es erweitert die Familie auf ein Kontextfenster von 128K Token mit maximal 32K Output-Token und unterstützt konfigurierbaren Reasoning-Aufwand, Instruktionsbefolgung und Tool-Nutzung für komplexe Sprachagenten-Workflows.
- Audio- und Text-Token werden zu getrennten Sätzen pro Token abgerechnet, mit vergünstigten gecachten Eingaben.
- OpenAIs Realtime-Leitfaden nennt es das Modell der Wahl beim Bau eines latenzarmen Sprachagenten und empfiehlt, für die meisten Produktionsagenten bei niedrigem Reasoning-Aufwand zu beginnen und ihn erst dort anzuheben, wo die Aufgabe die zusätzliche Latenz rechtfertigt.
- Sitzungen laufen über WebRTC, WebSocket oder SIP, und der Sprecherwechsel kann stillebasierte Voice Activity Detection nutzen oder einen semantischen Detektor, dessen Eagerness-Einstellung darüber entscheidet, wie geduldig er auf das Ende einer Äußerung wartet.
- Die Behandlung von Unterbrechungen ist Teil des Protokolls: Bei aktivierter Erkennung schneidet der Server nicht abgespieltes Audio ab, und von WebSocket-Clients wird erwartet, dass sie die Wiedergabe stoppen und melden, wie viel Audio den Zuhörer tatsächlich erreicht hat.
- Tools können pro Sitzung oder pro Antwort deklariert werden, und Antworten können außerhalb des Hauptgesprächs erzeugt werden, wenn eine Nebenaufgabe das Transkript nicht verunreinigen soll.
- Auf Synthorai wird es über den OpenAI-kompatiblen /v1/realtime-WebSocket-Endpoint bereitgestellt, sodass auf den offiziellen Realtime-SDKs aufgebaute Anwendungen unverändert funktionieren.
FAQ
Lässt sich die GPT Realtime 2.1 API kostenlos testen?
GPT Realtime 2.1 ist derzeit in einer geschlossenen Beta: Den Zugang erhalten Sie auf Antrag, eine offene Registrierung gibt es nicht. Stellen Sie den Antrag in der Synthorai-Konsole. Nach der Freigabe gilt die übliche nutzungsbasierte Abrechnung ohne Abo.
Worin ist GPT Realtime 2.1 am besten?
Flaggschiff-Realtime-Stufe für Produktions-Sprachagenten; verbesserte Unterbrechungs-, Rausch- und Alphanumerik-Behandlung; konfigurierbarer Reasoning-Aufwand mit Tool-Nutzung. Mehr dazu im Über-Abschnitt, der auf den offiziellen Release Notes des Anbieters beruht.
Was kostet GPT Realtime 2.1?
GPT Realtime 2.1 kostet auf Synthorai $4 pro Million Eingabe-Tokens und $24 pro Million Ausgabe-Tokens. Das ist der Listenpreis des Anbieters, ohne Plattformaufschlag. Gecachte Eingabe-Tokens werden mit $0.4/M abgerechnet.
Wie rufe ich die GPT Realtime 2.1-API auf?
GPT Realtime 2.1 ist ein Speech-to-Speech-Modell: Verbinden Sie sich mit dem OpenAI Realtime SDK (oder direkt per WebSocket) mit wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1 und streamen Sie Audio in beide Richtungen. Ein Datei-Upload per POST /v1/audio/transcriptions ist das nicht. Authentifizieren Sie sich mit Ihrem sk-syn-Schlüssel und senden Sie nur den Authorization-Header (das Beta-Protokoll ist abgeschaltet).
Wie erhalte ich Zugang zu GPT Realtime 2.1?
GPT Realtime 2.1 ist in einer geschlossenen Beta. Beantragen Sie den Zugang in der Synthorai-Konsole. Nach der Freigabe nutzen Sie es wie jedes andere Modell: im OpenAI SDK base_url="https://synthorai.io/v1" und model="gpt-realtime-2.1" setzen.
Verwandte Modelle
Vergleichen
Jeder Wert auf dieser Seite stammt aus der oben verlinkten Dokumentation des Anbieters und trägt das Datum, an dem wir ihn geprüft haben. Preise vergleichen wir über den gesamten Katalog. Spezifikationen, die Anbieter unterschiedlich definieren, zeigen wir mit einem Hinweis auf den Unterschied und nicht als Diagramm. Wir messen hier nichts selbst und vergeben keine Bewertungen.