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
Precios de lista del proveedor, sin margen de plataforma, pago por uso. Estos son los precios de lista oficiales. Los clientes con sesión iniciada pueden ver los precios efectivos con descuentos del espacio de trabajo en /console/pricing.
Precio · posición 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
Use nova-2-sonic 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=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á 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 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. Consulte la sección Acerca de para el panorama completo 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: el precio de lista del proveedor, sin margen de plataforma.
¿Cómo se llama a la API de nova-2-sonic?
nova-2-sonic es un modelo speech-to-speech: conéctate por WebSocket a wss://synthorai.io/v1/realtime?model=nova-2-sonic 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 nova-2-sonic?
nova-2-sonic 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="nova-2-sonic".
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.