Gemini 2.5 Flash Native Audio es el modelo de audio nativo de Google para la Live API, que su página de modelo describe como habilitador de interacciones de voz y vídeo en tiempo real y de baja latencia con Gemini 2.5 Flash: procesa flujos continuos de audio, vídeo o texto y responde con voz inmediata y de sonido humano, en lugar de encadenar un transcriptor y un sintetizador.
- Entrada
- texto audio vídeo $0.5/M
- Salida
- texto audio $2/M
- Entrada de audio
- $3/M
- Salida de audio
- $12/M
- Corte de conocimiento
- 2025-01
Benchmarks
gemini-2.5-flash-native-audio: 8 publicados, pero ningún benchmark compartido con suficientes modelos para comparar.
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) | 8192 |
| Corte de conocimiento | 2025-01 |
Razonamiento
| Parámetro del proveedor | thinkingBudget |
|---|---|
| Valor por defecto | pensamiento dinámico se aplica si la solicitud no indica nada |
| Se puede desactivar | Sí |
| Comportamiento del razonamiento | La guía de la Live API documenta que este modelo 2.5 Live usa un presupuesto de tokens en lugar de un nivel: pensamiento dinámico activado por defecto, thinkingBudget 0 para desactivarlo. |
| Parámetro | reasoning_effort |
| Valores | minimal · low · medium · high los valores aceptados los define el proveedor |
Audio
| 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 + audio + vídeo → texto + audio |
|---|
Modelo de audio nativo de la Live API que procesa audio en bruto de extremo a extremo en lugar de encadenar STT y TTS. La página de modelo de Google indica un corte de conocimiento de enero de 2025 y un límite de salida inusualmente pequeño de 8192 tokens junto a una ventana de entrada de 131.072 tokens.
Usa gemini-2.5-flash-native-audio en 30 segundos
Compatible con OpenAI Realtime: conéctate por WebSocket y envía y recibe audio en streaming. WS /v1/realtime
import asyncio, base64, json, websockets
URL = "wss://synthorai.io/v1/realtime?model=gemini-2.5-flash-native-audio"
# 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-2.5-flash-native-audio", {
// 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-2.5-flash-native-audio' <<'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-2.5-flash-native-audio", 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-2.5-flash-native-audio"), 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-2.5-flash-native-audio
- Las sesiones se ejecutan sobre un WebSocket con estado, que acepta PCM de 16 bits sin procesar a 16 kHz en la entrada y lo devuelve a 24 kHz, y el modelo acepta audio, vídeo y texto y devuelve audio y texto.
- Los límites de tokens son 131.072 de entrada y unos inusualmente reducidos 8192 de salida, la ventana de contexto de la sesión es de 128k tokens para los modelos de audio nativo, y las sesiones solo de audio duran 15 minutos, o 2 minutos con vídeo, salvo que se amplíen mediante la gestión de sesiones.
- Se admiten la llamada a funciones, el grounding de búsqueda y el pensamiento; no se admiten la caché, las salidas estructuradas, la ejecución de código ni la Batch API.
- Dos capacidades distinguen a esta generación del modelo Live más reciente y son la razón para permanecer en ella: el audio proactivo, que permite al modelo decidir no responder cuando la entrada no es relevante, y el diálogo afectivo, que adapta el estilo de la respuesta a la expresión y el tono de quien habla.
- Aquí también se admite la llamada a funciones asíncrona, de modo que una declaración marcada como no bloqueante permite al modelo seguir hablando mientras se ejecuta una herramienta.
- Las voces proceden del conjunto de texto a voz de Google, la salida de audio nativo cambia de idioma con naturalidad durante una conversación y no acepta un código de idioma explícito, y la fecha de corte de conocimiento es enero de 2025.
- Synthorai lo expone a través del endpoint WebSocket /v1/realtime compatible con OpenAI que usa para el resto de su catálogo de voz.
Preguntas frecuentes
¿Se puede probar gratis la API de gemini-2.5-flash-native-audio?
gemini-2.5-flash-native-audio está ahora mismo en beta por invitación: el acceso se concede previa solicitud, no con el registro abierto. Pídelo desde la consola de Synthorai; una vez aprobado, se aplican los precios normales de pago por uso, sin suscripción.
¿En qué destaca gemini-2.5-flash-native-audio?
Voz y vídeo en tiempo real de baja latencia sobre la Live API; audio proactivo y diálogo afectivo, ausentes en el modelo Live más reciente; las sesiones solo de audio duran 15 minutos, dos con vídeo. En la sección «Acerca de» tienes la visión completa, según las notas de lanzamiento del propio proveedor.
¿Cuánto cuesta gemini-2.5-flash-native-audio?
gemini-2.5-flash-native-audio cuesta $0.5 por millón de tokens de entrada y $2 por millón de tokens de salida en Synthorai. Es el precio de lista del proveedor, sin recargo de plataforma.
¿Cómo me conecto a la API de gemini-2.5-flash-native-audio?
gemini-2.5-flash-native-audio es un modelo de voz a voz: conéctate por WebSocket a wss://synthorai.io/v1/realtime?model=gemini-2.5-flash-native-audio con el SDK de OpenAI Realtime (o con un WebSocket directo) y envía y recibe audio en streaming. No es una subida de archivo con 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-2.5-flash-native-audio?
gemini-2.5-flash-native-audio está en beta por invitación: solicita acceso desde la consola de Synthorai. Una vez aprobado, funciona como cualquier otro modelo: apunta tu SDK de OpenAI a base_url="https://synthorai.io/v1" y pon model="gemini-2.5-flash-native-audio".
Modelos relacionados
Comparar
Todos los valores de esta página están transcritos de la documentación del propio proveedor, enlazada arriba, e indican la fecha en que se comprobaron. Los precios se comparan con los de todo el catálogo; cuando los proveedores definen una especificación de forma distinta, se muestra el valor indicando la diferencia en lugar de llevarlo a un gráfico. Aquí no hay mediciones nuestras ni puntuaciones.