OpenAI's lowest-latency streaming transcription model for Realtime sessions. Duration-billed at $0.017/min ($1.02/hour).
- Precio
- $0.017/min
El precio en contexto
Posición del precio entre 12 modelos comparables
La barra muestra dónde queda el precio de este modelo entre todos los modelos del mismo tipo en Synthorai. En cada extremo se nombra el más barato y el más caro. Son tarifas base; los descuentos por lote, región y escritura en caché están en la página de precios.
Use GPT Realtime Whisper en 30 segundos
Se usa solo dentro de una sesión de OpenAI Realtime, como modelo de transcripción de la entrada: abre la sesión con un modelo Realtime y establece session.audio.input.transcription.model en gpt-realtime-whisper. WS /v1/realtime
import asyncio, 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) name gpt-realtime-whisper as the session's input transcription model
await ws.send(json.dumps({
"type": "session.update",
"session": {
"type": "realtime",
"audio": {"input": {"transcription": {"model": "gpt-realtime-whisper"}}},
},
}))
# 2) send input audio (base64 PCM16) and commit it
await ws.send(json.dumps({"type": "input_audio_buffer.append", "audio": pcm16_b64}))
await ws.send(json.dumps({"type": "input_audio_buffer.commit"}))
# 3) the transcript of what was said arrives as its own event
async for raw in ws:
ev = json.loads(raw)
if ev["type"] == "conversation.item.input_audio_transcription.completed":
print(ev["transcript"])
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", () => {
// name gpt-realtime-whisper as the session's input transcription model
ws.send(JSON.stringify({ type: "session.update", session: {
type: "realtime", audio: { input: { transcription: { model: "gpt-realtime-whisper" } } },
} }));
// send input audio (base64 PCM16) and commit it
ws.send(JSON.stringify({ type: "input_audio_buffer.append", audio: pcm16Base64 }));
ws.send(JSON.stringify({ type: "input_audio_buffer.commit" }));
});
ws.on("message", (raw) => {
const ev = JSON.parse(raw.toString());
if (ev.type === "conversation.item.input_audio_transcription.completed") {
console.log(ev.transcript); // the transcript of what was said
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","audio":{"input":{"transcription":{"model":"gpt-realtime-whisper"}}}}}
{"type":"input_audio_buffer.append","audio":"<base64-pcm16>"}
{"type":"input_audio_buffer.commit"}
EOF
# The transcript arrives as conversation.item.input_audio_transcription.completedpackage main
import (
"fmt"
"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()
// name gpt-realtime-whisper as the session's input transcription model, then send audio
c.WriteJSON(map[string]any{"type": "session.update", "session": map[string]any{
"type": "realtime",
"audio": map[string]any{"input": map[string]any{
"transcription": map[string]any{"model": "gpt-realtime-whisper"}}}}})
c.WriteJSON(map[string]any{"type": "input_audio_buffer.append", "audio": pcm16B64})
c.WriteJSON(map[string]any{"type": "input_audio_buffer.commit"})
for {
var ev struct {
Type string `json:"type"`
Transcript string `json:"transcript"`
}
if err := c.ReadJSON(&ev); err != nil {
return
}
if ev.Type == "conversation.item.input_audio_transcription.completed" {
fmt.Println(ev.Transcript) // the transcript of what was said
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) {
// conversation.item.input_audio_transcription.completed carries the transcript
w.request(1);
return null;
}
}).join();
// name gpt-realtime-whisper as the session's input transcription model, then send audio
ws.sendText("{\"type\":\"session.update\",\"session\":{\"type\":\"realtime\",\"audio\":{\"input\":{\"transcription\":{\"model\":\"gpt-realtime-whisper\"}}}}}", true);
ws.sendText("{\"type\":\"input_audio_buffer.append\",\"audio\":\"<base64-pcm16>\"}", true);
ws.sendText("{\"type\":\"input_audio_buffer.commit\"}", true);Preguntas frecuentes
¿Se puede probar gratis la API de GPT Realtime Whisper?
Sí: las cuentas nuevas reciben 10 llamadas de prueba y hasta $1 de crédito gratuito, sin tarjeta. Suficiente para probar GPT Realtime Whisper con su carga de trabajo real antes de añadir un método de pago.
¿Cuánto cuesta GPT Realtime Whisper?
GPT Realtime Whisper cuesta $0.017 por minuto de audio transcrito en Synthorai: pago por uso, sin margen de plataforma, sin suscripción.
¿Cómo uso GPT Realtime Whisper?
GPT Realtime Whisper no se llama por sí solo. Transcribe el audio del usuario dentro de una sesión Realtime: conéctate a wss://synthorai.io/v1/realtime con un modelo Realtime, establece session.audio.input.transcription.model en "gpt-realtime-whisper" y lee cada transcripción del evento conversation.item.input_audio_transcription.completed. Se factura a $0.017 por minuto de audio de entrada, además de las tarifas de la propia sesión.
¿Cómo obtengo acceso a GPT Realtime Whisper?
Abre la sesión Realtime con tu clave de API de Synthorai e indica "gpt-realtime-whisper" como modelo de transcripción de la entrada. GPT Realtime Whisper está pensado para sesiones Realtime, no para la API de archivos /v1/audio/transcriptions; para transcribir un archivo, elige un modelo de voz a texto. Una sola clave de API cubre todos los modelos del gateway.
Modelos relacionados
Comparar
Cada valor de esta página está transcrito de la documentación del proveedor, enlazada arriba, y lleva la fecha en que se comprobó. Los precios se comparan en todo el catálogo; los valores de especificación que los proveedores definen de forma distinta se muestran indicando la diferencia en lugar de representarse en un gráfico. Nada aquí lo medimos nosotros, y nada se puntúa.