Live voice
GPT Live 1 VoiceBeta
TokenRex's text-to-speech mode built on GPT Live 1: streaming spoken text through an active live session.
gpt-live-1-voiceBest for: Real-time voice agents and phone-style calls
Catalog status
Enabled
Research checked
2026-10-30
Benchmark results
Results are source-attributed, not TokenRex measurements. Different tests and thinking variants are not interchangeable.
Published benchmark coverage
Reviewed sources do not include results for this exact version. Provider specifications and API capabilities remain listed separately.
Model specifications
Underlying model
GPT Live 1
Documented capability
Mode developed by
TokenRex
Documented capability
Input and output modalities
Provider-reported formats; API compatibility is detailed below.
Input
Output
- Exact model ID
- gpt-live-1-voice
- Model type
- Live voice
- Underlying model
- GPT Live 1
- Mode developed by
- TokenRex
- Task
- Text-to-speech (TTS)
- Transport
- Live WebSocket signaling + WebRTC audio
Exact token limits are not published in the reviewed sources, so no estimated limits are shown.
Live model mode
One enabled version is currently listed for this model.
GPT Live 1 Voice — Text-to-speech (TTS)
TokenRex's live text-to-speech mode built on GPT Live 1. Send text over an active session and play incoming speech without waiting for a completed recording.
Voice and Transcribe are modified modes made by TokenRex, not separately trained OpenAI models or native standalone TTS/STT endpoints. The underlying GPT Live 1 model still runs. Only Voice carries the Beta label. Reading may skip or change words, and transcription may produce attempted responses; exact reading, permanent silence and instant speech are not guaranteed.
What it is used for
Read-aloud interfaces, spoken notifications and incremental text playback.
How Text-to-speech (TTS) works
- Use a TokenRex API key privately through your server and choose .
gpt-live-1-voice - Connect to
wss://tokenrex.ai/api/public/v1/live?model=gpt-live-1-voice, then send session.start with a WebRTC offer. Keep gateway.heartbeat running every second. - Choose a voice at startup, receive audio without a microphone, and send tokenrex.speak with 1–1,500 characters after the session starts. Play audio as it arrives. Reuse the open session for subsequent explicit readings.
- Send session.close when finished and retain the final usage event. Idle time is billable; never reconnect or replay automatically.
// Run only after the user explicitly clicks Start.
// Your server must proxy this connection and keep TOKENREX_API_KEY private.
// Upstream: wss://tokenrex.ai/api/public/v1/live?model=gpt-live-1-voice
const ws = new WebSocket("wss://YOUR_APP_HOST/live?model=gpt-live-1-voice");
const pc = new RTCPeerConnection();
pc.createDataChannel("oai-events");
// Receive audio only: do not capture a microphone for text reading.
pc.addTransceiver("audio", { direction: "recvonly" });
const audio = new Audio();
audio.autoplay = true;
pc.ontrack = (event) => {
audio.srcObject = event.streams[0];
audio.play().catch(() => showEnableAudio(() => audio.play()));
}; // showEnableAudio renders your explicit playback-unlock button.
await pc.setLocalDescription(await pc.createOffer());
await new Promise(resolve => pc.iceGatheringState === "complete" ? resolve() :
pc.addEventListener("icegatheringstatechange", () => {
if (pc.iceGatheringState === "complete") resolve();
}));
await new Promise((resolve, reject) => {
if (ws.readyState === WebSocket.OPEN) resolve();
else { ws.onopen = resolve; ws.onerror = reject; }
});
let heartbeat;
ws.onmessage = async ({ data }) => {
const event = JSON.parse(data);
if (event.type === "gateway.session.created") {
await pc.setRemoteDescription({ type: "answer", sdp: event.transport.sdp });
heartbeat = setInterval(() => ws.send(JSON.stringify({ type: "gateway.heartbeat" })), 1000);
}
// Call speakText from your Send button after session.started.
if (event.type === "session.output_transcript.delta") console.log(event.delta);
if (event.type === "session.usage.updated") console.log("Billed seconds", event.usage.seconds);
if (event.type === "tokenrex.error") console.error(event.error.message);
};
ws.send(JSON.stringify({
type: "session.start",
session: { audio: { output: { voice: "marin" } } },
tools: [], transport: { type: "webrtc", sdp: pc.localDescription.sdp },
}));
function speakText(text) {
// 1–1,500 characters; send only on explicit action, not automatic retries.
ws.send(JSON.stringify({ type: "tokenrex.speak", text }));
}
function stop() {
clearInterval(heartbeat);
ws.send(JSON.stringify({ type: "session.close" }));
audio.pause();
pc.close();
// Keep the socket until the final usage event; never reconnect automatically.
}Pricing — billed per second, not per character
Current TokenRex rate: $0.00058 per second, equivalent to $0.035 per minute. The minimum is 15 seconds per session ($0.00875). A minute is an equivalent, not a billing block. All connected time, including silence and waiting between readings, is billable. Muting playback does not lower the rate. Any separately requested reasoning or tool usage has its own charges.
| Session duration | Estimated charge |
|---|---|
| 15-second minimum | $0.00875 |
| 20 seconds | $0.0117 |
| 1 minute | $0.035 |
| 10 minutes | $0.35 |
| 1 hour | $2.10 |
Voices, languages and accents
Discover sourced voice IDs through GET /api/public/v1/models → this model → live.voices. Use session.audio.output.voice (default marin); voice selection is fixed for the call. Languages and accents are instruction preferences, not native speed controls. The first 22 voices were session-tested; additional documented voices have not been individually auditioned. Transcribe does not need a spoken output voice.
| Voice | Accent | Character |
|---|---|---|
| Marin (marin) | Neutral (default) | Feminine |
| Cedar (cedar) | Neutral | Masculine |
| Alloy (alloy) | Neutral | Neutral |
| Ash (ash) | Neutral | Masculine |
| Ballad (ballad) | Neutral | Masculine |
| Coral (coral) | Neutral | Feminine |
| Echo (echo) | Neutral | Masculine |
| Sage (sage) | Neutral | Feminine |
| Shimmer (shimmer) | Neutral | Feminine |
| Verse (verse) | Neutral | Masculine |
| Quartz (quartz) | English / Australian | Feminine |
| Ripple (ripple) | English / Australian | Masculine |
| Vesper (vesper) | English / British | Masculine |
| Willow (willow) | English / Irish | Feminine |
| Stone (stone) | English / Irish | Masculine |
| Gleam (gleam) | English / North American | Feminine |
| Meridian (meridian) | English / North American | Masculine |
| Bossa (bossa) | Portuguese / Brazilian | Feminine |
| Tempo (tempo) | Portuguese / Brazilian | Masculine |
| Beacon (beacon) | English / Filipino | Masculine |
| Delta (delta) | English / Southern US | Feminine |
| Cinder (cinder) | English / Southern US | Masculine |
| Nuri (nuri) | German | Feminine |
| Juni (juni) | German | Feminine |
| Flitz (flitz) | German | Masculine |
| Brise (brise) | French | Feminine |
| Sillage (sillage) | French | Masculine |
| Nira (nira) | Hindi | Feminine |
| Harema (harema) | Japanese | Feminine |
| Noeul (noeul) | Korean | Feminine |
Features and tool support
TokenRex’s exposed interface, not every feature advertised by the provider. “Available” describes the implemented interface, not a successful test of every input or tool.
Input through TokenRex
AvailableLive microphone audio over WebRTC; session start and control events over wss://tokenrex.ai/api/public/v1/live. Tested: sessions opened for all 22 voices.
Output through TokenRex
AvailableSpoken audio streamed back in real time, plus live transcript events for both sides of the call.
Function tools
AvailableSend your own tools with session.start; TokenRex forwards each call to your app and returns your verified result to the conversation.
Languages
AvailableAny voice can speak Hindi, Hinglish, English and other languages — set the rule in session.instructions.
Underlying model
LimitedGPT Live 1
Mode developed by
LimitedTokenRex
Task
LimitedText-to-speech (TTS)
Transport
LimitedLive WebSocket signaling + WebRTC audio
Sources and verification
Provider specifications describe the upstream model, not a guarantee of every feature through TokenRex. Prices come from the enabled catalog; benchmark results belong to the exact tested model.
- TokenRex Live speech implementation and usage
Catalog record · verification pending
Last checked
Research notes (3)
- A TokenRex instruction-based mode, not a separately trained OpenAI model or native standalone speech endpoint.
- Connected time is billed per second with a 15-second minimum; idle time and muted playback remain billable.
- Exact reading and permanent model silence are not guaranteed. Transcription clients must suppress playback.