Gemini 3.1 Flash Live es el modelo de audio a audio de baja latencia de Google para el diálogo en tiempo real y las aplicaciones centradas en la voz, y su página de modelo le atribuye detección de matices acústicos, precisión numérica y conciencia multimodal.
- Entrada
- texto imagen audio vídeo $0.75/M
- Salida
- texto audio $4.5/M
- Entrada de audio
- $3/M
- Salida de audio
- $12/M
El precio en contexto
Posición del precio entre 6 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.
Especificaciones y límites
Tokens
| Ventana de contexto (especificación del proveedor) | 131.072 |
|---|---|
| Salida máxima (especificación del proveedor) | 65.536 |
Razonamiento
| Parámetro del proveedor | thinkingLevel |
|---|---|
| Valores admitidos | minimal · low · medium · high |
| Valor por defecto | minimal se aplica si la solicitud no indica nada |
| Se puede desactivar | No |
| Comportamiento del razonamiento | Usa minimal por defecto para optimizar la latencia más baja; los modelos Gemini 3 Live sustituyeron el thinkingBudget de 2.5 Live por un nivel. |
| Parámetro | reasoning_effort |
| Valores | minimal · low · medium · high la superficie de parámetros del gateway - aplica el mapeo del proveedor de arriba |
Audio
| Idiomas | Más de 90 idiomas para conversación multimodal en tiempo real |
|---|---|
| Límites de audio |
|
| Transcripción en streaming | Sí |
Tiempo real
| Voces | Cualquier voz del conjunto de voces de texto a voz de Gemini; los modelos con salida de audio nativa cambian de idioma con naturalidad durante una conversación. |
|---|---|
| Sesión |
|
Modelo
| Modalidades | texto + imagen + audio + vídeo → texto + audio |
|---|
Modelo de audio a audio de baja latencia para agentes centrados en la voz, documentado para la detección de matices acústicos, la precisión numérica y la conciencia multimodal. Usa thinkingLevel (minimal / low / medium / high) en lugar de thinkingBudget, con minimal por defecto para la latencia más baja.
Use gemini-3.1-flash-live en 30 segundos
Compatible con OpenAI Realtime: conéctate por WebSocket, audio de entrada y de salida. WS /v1/realtime
import asyncio, base64, json, websockets
URL = "wss://synthorai.io/v1/realtime?model=gemini-3.1-flash-live"
# 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=gemini-3.1-flash-live", {
// 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=gemini-3.1-flash-live' <<'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=gemini-3.1-flash-live", 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=gemini-3.1-flash-live"), 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);Acerca de gemini-3.1-flash-live
- Acepta texto, imágenes, audio y vídeo y devuelve texto y audio a través del WebSocket con estado de la Live API, con un límite de entrada de 131.072 tokens y un límite de salida de 65.536 tokens, ocho veces el techo de salida del modelo de audio nativo 2.5 al que sustituye.
- Se admiten la llamada a funciones, el grounding de búsqueda y el pensamiento, mientras que no se admiten la caché, las salidas estructuradas, la ejecución de código ni la Batch API, y la profundidad de pensamiento se fija con thinkingLevel en minimal, low, medium o high, con minimal por defecto para la menor latencia, en lugar del thinkingBudget numérico que usaba la generación 2.5.
- Las notas de migración son la parte útil, porque esta actualización quita además de añadir.
- La llamada a funciones asíncrona todavía no se admite, así que las llamadas son secuenciales y el modelo no empezará a responder hasta que llegue la respuesta de la herramienta; el audio proactivo y el diálogo afectivo han desaparecido y hay que eliminar su configuración.
- Un solo evento de servidor puede transportar ahora varias partes de contenido a la vez, como un fragmento de audio y una transcripción juntos, de modo que los clientes que solo leen la primera parte descartarán contenido de forma silenciosa.
- La cobertura de turno ahora incluye por defecto la actividad de audio detectada y todos los fotogramas de vídeo, lo que puede elevar los costes de las aplicaciones que transmiten vídeo de forma continua, y el contenido del cliente solo puede sembrar el historial inicial.
- Synthorai lo sirve a través del endpoint WebSocket /v1/realtime compatible con OpenAI.
Preguntas frecuentes
¿Se puede probar gratis la API de gemini-3.1-flash-live?
gemini-3.1-flash-live está actualmente en beta por invitación: el acceso se otorga por solicitud, no por registro abierto. Solicítelo desde la consola de Synthorai; una vez aprobado, se aplica la tarifa estándar de pago por uso, sin suscripción.
¿En qué destaca gemini-3.1-flash-live?
Modelo de audio a audio para el diálogo en tiempo real y aplicaciones centradas en la voz; ocho veces el techo de salida del modelo de audio nativo 2.5; sin llamada a funciones asíncrona, así que las llamadas a herramientas son secuenciales. Consulte la sección Acerca de para el panorama completo según las notas de lanzamiento del propio proveedor.
¿Cuánto cuesta gemini-3.1-flash-live?
gemini-3.1-flash-live cuesta $0.75 por millón de tokens de entrada y $4.5 por millón de tokens de salida en Synthorai: el precio de lista del proveedor, sin margen de plataforma.
¿Cómo se llama a la API de gemini-3.1-flash-live?
gemini-3.1-flash-live es un modelo speech-to-speech: conéctate por WebSocket a wss://synthorai.io/v1/realtime?model=gemini-3.1-flash-live con el SDK de OpenAI Realtime (o un WebSocket sin procesar) y transmite audio de entrada y de salida. No es una subida de archivo POST /v1/audio/transcriptions. Autentícate con tu clave sk-syn y envía solo la cabecera Authorization (el protocolo beta está retirado).
¿Cómo obtengo acceso a gemini-3.1-flash-live?
gemini-3.1-flash-live está en beta por invitación: solicite acceso desde la consola de Synthorai. Una vez aprobado, funciona como cualquier otro modelo: apunte su SDK de OpenAI a base_url="https://synthorai.io/v1" y configure model="gemini-3.1-flash-live".
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.