GPT Realtime ist OpenAIs erstes allgemein verfügbares Realtime-Modell: ein einzelnes Speech-to-Speech-Modell, das zuhört und direkt mit natürlichem, ausdrucksstarkem Audio antwortet, statt getrennte Transkriptions- und Synthesemodelle zu verketten.
- Eingabe
- Audio Text $4/M
- Ausgabe
- Audio Text $16/M
- Audio-Input
- $32/M
- Audio-Output
- $64/M
- Cache-Read
- $0.4/M
- Knowledge Cutoff
- 2023-10
Benchmarks
GPT Realtime: 8 veröffentlicht, aber kein Benchmark, den genug andere Modelle teilen.
Preis im Vergleich
Preisposition unter 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. Es sind Grundpreise; Rabatte für Batch, Region und Cache-Schreibvorgänge stehen auf der Preisseite.
Spezifikationen & Limits
Tokens
| Kontextfenster (Herstellerangabe) | 32.000 |
|---|---|
| Max. Output (Anbieter-Spezifikation) | 4.096 |
| Knowledge Cutoff | 2023-10 |
Prompt Caching
| Modus | automatisch |
|---|---|
| Min. Präfix | 1.024 |
| Lebensdauer | 5-10 Min., bis zu 1 Std. |
Realtime
| Sitzung | Natives Speech-to-Speech über WebSocket · Function Calling · 32K Kontext |
|---|
Modell
| Modalitäten | Audio + Text → Audio + Text |
|---|
- OpenAIs erstes allgemein verfügbares Realtime-Modell (Snapshot gpt-realtime-2025-08-28): natives Speech-to-Speech mit Function Calling
- 32k Kontext
GPT Realtime 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"
# 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", {
// 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' <<'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", 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"), 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
- Es trägt ein Kontextfenster von 32K Token mit maximal 4.096 Output-Token, unterstützt Function Calling für Sprachagenten-Workflows und nimmt Audio- oder Texteingabe entgegen bei Audio- und Textausgabe; Audio und Text werden zu getrennten Sätzen pro Token abgerechnet, mit vergünstigten gecachten Eingaben.
- Sitzungen lassen sich über WebRTC für Browser- und Mobile-Clients betreiben, über WebSocket, wenn ein Server den Audiostream bereits hält, oder über SIP für Telefonie-Agenten, wobei serverseitige Voice Activity Detection Sprache in Blöcke teilt und nicht abgespieltes Audio abschneidet, wenn ein Anrufer unterbricht.
- Die Modellseite führt neben Text und Audio auch Bildeingabe auf, und Stimmen werden pro Sitzung aus OpenAIs veröffentlichtem Satz gewählt, mit dem Vorbehalt, dass eine Stimme nicht mehr geändert werden kann, sobald eine Sitzung Audio ausgegeben hat.
- Es hat keine Steuerung des Reasoning-Aufwands (die kommt mit der 2.1-Generation), und sein Knowledge Cutoff liegt im Oktober 2023.
- OpenAI hat inzwischen seine Abkündigung bekanntgegeben, mit einer Abschaltung im Januar 2027 und GPT Realtime 2.1 als benanntem Migrationsziel, sodass neue Sprachprojekte auf 2.1 gehören, während bestehende Integrationen noch Auslauf haben.
- Es bleibt als ursprünglicher GA-Snapshot der Realtime-Familie verfügbar.
- Synthorai stellt GPT Realtime über den OpenAI-kompatiblen /v1/realtime-WebSocket-Endpoint bereit, sodass offizielle Realtime-SDK-Clients unverändert verbinden.
FAQ
Lässt sich die GPT Realtime API kostenlos testen?
GPT Realtime befindet sich derzeit in einer geschlossenen Beta. Der Zugang läuft über eine Bewerbung statt offener Registrierung. Beantragen Sie den Zugang in der Synthorai-Konsole; nach der Freigabe gilt die standardmäßige nutzungsbasierte Abrechnung ohne Abo.
Worin ist GPT Realtime am besten?
Speech-to-Speech in einem Modell, ohne Transkriptionskette; ausdrucksstarkes natürliches Audio mit Funktionsaufrufen; ursprünglicher GA-Snapshot der Realtime-Familie. Das vollständige Bild finden Sie im Über-Abschnitt, direkt aus den offiziellen Release Notes des Anbieters.
Was kostet GPT Realtime?
GPT Realtime kostet auf Synthorai $4 pro Million Input-Tokens und $16 pro Million Output-Tokens. Das ist der Listenpreis des Anbieters, ohne Plattform-Aufschlag. Gecachte Input-Tokens werden mit $0.4/M abgerechnet.
Wie rufe ich die GPT Realtime-API auf?
GPT Realtime ist ein Speech-to-Speech-Modell: Verbinden Sie sich per WebSocket mit wss://synthorai.io/v1/realtime?model=gpt-realtime über das OpenAI Realtime SDK (oder einen rohen WebSocket) und streamen Sie Audio ein und aus. Es ist kein POST /v1/audio/transcriptions Datei-Upload. Authentifizieren Sie sich mit Ihrem sk-syn-Key und senden Sie nur den Authorization-Header (das Beta-Protokoll ist abgeschaltet).
Wie erhalte ich Zugang zu GPT Realtime?
GPT Realtime ist in geschlossener Beta: Beantragen Sie den Zugang in der Synthorai-Konsole. Nach der Freigabe funktioniert es wie jedes andere Modell: Richten Sie Ihr OpenAI SDK auf base_url="https://synthorai.io/v1" und setzen Sie model="gpt-realtime".
Verwandte Modelle
Vergleichen
Jeder Wert auf dieser Seite ist aus der Dokumentation des Anbieters übernommen, oben verlinkt, und trägt das Datum der Prüfung. Preise werden über den gesamten Katalog verglichen; Spezifikationswerte, die Anbieter unterschiedlich definieren, werden mit benanntem Unterschied gezeigt statt grafisch verglichen. Nichts hier wird von uns gemessen, und nichts wird bewertet.