Amazon Nova 2 Sonic es el modelo fundacional de voz a voz de Amazon para construir aplicaciones de conversación por voz naturales y en tiempo real, y la guía de usuario de Nova lo orienta a asistentes de voz interactivos, automatización de la atención al cliente y aplicaciones conversacionales.
- Entrada
- audio texto $0.06/M
- Salida
- audio texto $0.24/M
- Entrada de audio
- $3/M
- Salida de audio
- $12/M
Benchmarks
nova-2-sonic: 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) | 1.000.000 |
|---|---|
| Salida máxima (especificación del proveedor) | 64.000 |
Audio
| Idiomas | Inglés (EE. UU., Reino Unido, India, Australia), francés, italiano, alemán, español, portugués e hindi, con detección y cambio automáticos de idioma a mitad de sesión |
|---|---|
| Límites de audio |
|
| Transcripción en streaming | Sí |
Tiempo real
| Voces | Voces de sonido femenino y masculino por configuración regional (tiffany/matthew en-US, amy en-GB, olivia en-AU, kiara/arjun en-IN y hi-IN, ambre/florian fr-FR, beatrice/lorenzo it-IT, tina/lennart de-DE, lupe/carlos es-US, carolina/leo pt-BR); tiffany y matthew son voces políglotas que hablan todos los idiomas admitidos. |
|---|---|
| Sesión |
|
Modelo
| Modalidades | audio + texto → audio + texto |
|---|
- Modelo fundacional de voz a voz de Amazon para aplicaciones de voz en tiempo real, al que se accede mediante una API de streaming bidireccional en lugar de una de solicitud/respuesta. Adapta la entrega a la prosodia del habla entrante y alterna de idioma dentro de una misma frase
- documentado como robusto frente al ruido de fondo y a los acentos en los idiomas admitidos
Usa nova-2-sonic 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=nova-2-sonic"
# 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=nova-2-sonic", {
// 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=nova-2-sonic' <<'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=nova-2-sonic", 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=nova-2-sonic"), 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 nova-2-sonic
- Se alcanza mediante una API de streaming bidireccional en lugar de una de petición y respuesta, que es lo que hace posible la conversación de varios turnos con baja latencia; la documentación oficial indica una ventana de contexto de 1M tokens y 64K tokens de salida máxima, con audio y texto aceptados en la misma conversación y audio y texto devueltos.
- La cobertura de voces abarca el inglés en sus variedades estadounidense, británica, india y australiana, además de francés, italiano, alemán, español, portugués e hindi, ofrecidas tanto en voces de sonido masculino como femenino, con detección y cambio automáticos de idioma; las voces políglotas hablan cualquier idioma admitido, de modo que la persona se mantiene constante cuando quien llama cambia de idioma a mitad de sesión.
- El comportamiento conversacional es el argumento de venta: la entrega se adapta a la prosodia del habla entrante, la toma de turno inteligente detecta cuándo ha terminado quien habla, las interrupciones se gestionan con fluidez sin perder el contexto, y la documentación afirma robustez frente al ruido de fondo y a los acentos en los idiomas admitidos.
- Se admiten la llamada a funciones y los flujos de trabajo agénticos, junto con el grounding de conocimiento sobre datos empresariales mediante generación aumentada por recuperación, y la gestión asíncrona de herramientas permite al asistente seguir hablando mientras una herramienta se ejecuta en segundo plano.
- Un límite que hay que tener en cuenta al diseñar: las conexiones están limitadas a ocho minutos, con un patrón documentado de renovación y continuación de sesión en el código de ejemplo para conversaciones más largas.
- La disponibilidad se limita a un pequeño conjunto de regiones.
- Synthorai lo sirve a través del endpoint WebSocket /v1/realtime compatible con OpenAI, así que los clientes oficiales del SDK de Realtime conectan sin cambios.
Preguntas frecuentes
¿Se puede probar gratis la API de nova-2-sonic?
nova-2-sonic 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 nova-2-sonic?
Modelo de voz a voz para la conversación por voz en tiempo real; las voces políglotas mantienen una sola persona al cambiar de idioma; conexiones limitadas a ocho minutos con un patrón de renovación documentado. En la sección «Acerca de» tienes la visión completa, según las notas de lanzamiento del propio proveedor.
¿Cuánto cuesta nova-2-sonic?
nova-2-sonic cuesta $0.06 por millón de tokens de entrada y $0.24 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 nova-2-sonic?
nova-2-sonic es un modelo de voz a voz: conéctate por WebSocket a wss://synthorai.io/v1/realtime?model=nova-2-sonic 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 nova-2-sonic?
nova-2-sonic 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="nova-2-sonic".
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.