OpenAI's lowest-latency streaming transcription model for Realtime sessions. Duration-billed at $0.017/min ($1.02/hour).
- Preço
- $0.017/min
O preço em contexto
Posição do preço entre 12 modelos comparáveis
A barra mostra onde fica o preço deste modelo entre todos os modelos do mesmo tipo na Synthorai. Em cada extremidade está o mais barato e o mais caro. São tarifas base; os descontos de lote, região e escrita em cache estão na página de preços.
Use o GPT Realtime Whisper em 30 segundos
Usado apenas dentro de uma sessão OpenAI Realtime, como modelo de transcrição da entrada: abra a sessão em um modelo Realtime e defina session.audio.input.transcription.model como 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);Perguntas frequentes
A API do GPT Realtime Whisper é gratuita para testar?
Sim. Contas novas recebem 10 chamadas de teste e até $1 em créditos gratuitos, sem precisar de cartão. É o suficiente para testar o GPT Realtime Whisper com sua carga de trabalho real antes de adicionar um meio de pagamento.
Quanto custa o GPT Realtime Whisper?
Na Synthorai, o GPT Realtime Whisper custa $0.017 por minuto de áudio transcrito: pagamento por uso, sem margem da plataforma, sem assinatura.
Como uso o GPT Realtime Whisper?
O GPT Realtime Whisper não é chamado sozinho. Ele transcreve o áudio do usuário dentro de uma sessão Realtime: conecte-se a wss://synthorai.io/v1/realtime com um modelo Realtime, defina session.audio.input.transcription.model como "gpt-realtime-whisper" e leia cada transcrição no evento conversation.item.input_audio_transcription.completed. É cobrado $0.017 por minuto de áudio de entrada, além das tarifas da própria sessão.
Como obtenho acesso ao GPT Realtime Whisper?
Abra a sessão Realtime com sua chave de API da Synthorai e indique "gpt-realtime-whisper" como modelo de transcrição da entrada. O GPT Realtime Whisper foi feito para sessões Realtime, não para a API de arquivos /v1/audio/transcriptions; para transcrever um arquivo, escolha um modelo de voz para texto. Uma única chave de API cobre todos os modelos do gateway.
Modelos relacionados
Comparar
Cada valor desta página é transcrito da documentação do fornecedor, ligada acima, e traz a data em que foi verificado. Os preços são comparados em todo o catálogo; os valores de especificação que os fornecedores definem de forma diferente são apresentados com a diferença indicada em vez de representados num gráfico. Nada aqui é medido por nós, e nada é pontuado.