GPT Realtime 2.1 Mini
Listenpreise der Anbieter, ohne Plattform-Aufschlag, nutzungsbasierte Abrechnung. Dies sind offizielle Listenpreise. Angemeldete Kunden sehen auf /console/pricing die effektiven Preise inklusive Workspace-Rabatten. Effektiver Input-Preis bei 70 % Cache-Trefferquote:$0.222/M. Automatisches Präfix-Caching, sobald ein Prompt die Mindestlänge überschreitet, ohne Codeänderungen; gecachte Lesezugriffe sind vergünstigt (bis zu 90% bei aktuellen Modellen), und es fällt keine Schreibgebühr an.
GPT Realtime 2.1 Mini 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-mini"
HEADERS = {"Authorization": "Bearer sk-syn-...", "OpenAI-Beta": "realtime=v1"}
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": {"modalities": ["audio", "text"], "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-mini", {
headers: { Authorization: "Bearer sk-syn-...", "OpenAI-Beta": "realtime=v1" },
});
ws.on("open", () => {
// configure the speech-to-speech session
ws.send(JSON.stringify({ type: "session.update", session: { modalities: ["audio", "text"], 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-...' -H 'OpenAI-Beta: realtime=v1' \
'wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1-mini' <<'EOF'
{"type":"session.update","session":{"modalities":["audio","text"],"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-...")
h.Set("OpenAI-Beta", "realtime=v1")
c, _, err := websocket.DefaultDialer.Dial("wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1-mini", 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{"modalities": []string{"audio", "text"}, "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-...")
.header("OpenAI-Beta", "realtime=v1")
.buildAsync(URI.create("wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1-mini"), 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\":{\"modalities\":[\"audio\",\"text\"],\"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 Mini
GPT Realtime 2.1 Mini ist das kosteneffiziente Mitglied von OpenAIs Realtime-Familie: ein schnelleres, günstigeres destilliertes Reasoning-Modell für Realtime-Sprachanwendungen, das Reasoning und Tool-Nutzung in die Mini-Stufe bringt.
- Es behält das Kontextfenster von 128K Token und die maximal 32K Output-Token der 2.1-Generation, unterstützt Funktionsaufrufe und Prompt-Caching und berechnet Audio-Eingaben zu weniger als einem Drittel des Flaggschiff-Satzes.
- Damit ist es die natürliche Wahl für always-on Sprachassistenten und kundenseitige Sprachagenten mit hohem Volumen.
- Synthorai stellt es über denselben OpenAI-kompatiblen /v1/realtime-WebSocket-Endpoint bereit wie den Rest des Realtime-Angebots.
Spezifikationen & Limits
| Max. Output (Anbieter-Spezifikation) | 32,000 |
| Modalitäten | audio + text → audio + text |
| Funktionen | realtime · speech-to-speech |
| Bemerkenswert | Faster, lower-cost distilled realtime reasoning model bringing reasoning and tool use to the mini tier; prompt caching supported; 128k context. |
| Prompt-Caching | automatisch · min. 1,024-Token-Präfix · TTL 5–10m, up to 1h |
FAQ
Lässt sich die GPT Realtime 2.1 Mini API kostenlos testen?
GPT Realtime 2.1 Mini 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 2.1 Mini am besten?
Destilliertes Reasoning für Realtime-Sprache, außerdem Audio-Eingabe unter einem Drittel des Flaggschiff-Satzes und behält 128K Kontext, Tools und Prompt-Caching. Das vollständige Bild finden Sie im About-Abschnitt, direkt aus den offiziellen Release Notes des Anbieters.
Was kostet GPT Realtime 2.1 Mini?
GPT Realtime 2.1 Mini kostet auf Synthorai $0.6 pro Million Input-Tokens und $2.4 pro Million Output-Tokens. Das ist der Listenpreis des Anbieters, ohne Plattform-Aufschlag. Gecachte Input-Tokens werden mit $0.06/M abgerechnet.
Wie rufe ich die GPT Realtime 2.1 Mini-API auf?
GPT Realtime 2.1 Mini ist ein Speech-to-Speech-Modell: Verbinden Sie sich per WebSocket mit wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1-mini ü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 spiegeln Sie den OpenAI-Beta-Header.
Wie erhalte ich Zugang zu GPT Realtime 2.1 Mini?
GPT Realtime 2.1 Mini 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-2.1-mini".