Ir al contenido
Apps web y móviles

API de agentes de voz para apps web y móviles

Añadir un agente de voz a una app suele significar comprar un número de teléfono que no necesitas, o combinar por tu cuenta voz a texto, un modelo y una voz mientras mantienes las claves de API fuera del dispositivo. Para equipos de producto que quieren un agente de voz dentro de su propia app y no en una línea telefónica: los mismos agentes, motores, bases de conocimiento y reserva de citas que atienden llamadas telefónicas, accesibles desde una pestaña del navegador o una app móvil por wss://api.voice.wixzel.com/v1/realtime. Nada que conectar, ningún número que comprar. Tu servidor genera una sesión de un solo uso para que tu clave de API nunca llegue al cliente, y la sesión gasta el mismo saldo prepago por segundo que una llamada con el mismo motor.

Última actualización:

La pantalla de una app de teléfono con una mascota verde grande, un saludo en un globo de diálogo encima y un botón Hablar debajo

¿Cómo se crea un agente de voz para una app web o móvil con Wixzel Voice?

  1. 01
    POST /v1/agents

    Crea el agente: instrucciones, frase de apertura, base de conocimiento y un motor de voz. Es el mismo agente al que llegaría una llamada telefónica.

  2. 02
    POST /v1/realtime/sessions

    Desde tu servidor, con tu clave de API: indica el agente y, opcionalmente, los orígenes de navegador permitidos y tus propios metadatos, y recibe un client_secret que funciona una sola vez, durante un minuto, para ese agente.

  3. 03
    wss://api.voice.wixzel.com/v1/realtime

    Tu cliente abre el socket con el secreto y transmite el audio. En un navegador, RealtimeSession de wixzel-voice/realtime se ocupa del micrófono, la reproducción y las interrupciones; en Flutter, RealtimeConnection del paquete wixzel_voice habla el protocolo y tu app aporta el micrófono y el altavoz.

  4. 04
    GET /v1/calls/{id}

    Cada sesión es un registro de llamada con channel web: transcripción, duración, costo y tus metadatos, y el mismo webhook callCompleted cuando termina.

  5. 05
    wixzel-voice/mascot, wixzel_voice_flutter

    Opcional: muestra la mascota del agente, su cara animada, mientras habla. En una página web, mountMascot de wixzel-voice/mascot la dibuja y face.connect(session) inicia la llamada con la boca sincronizada. En Flutter, AgentMascotView del paquete wixzel_voice_flutter la dibuja y MascotRealtimeLink la mantiene sincronizada con una RealtimeConnection.

¿Qué motor de voz conviene para un agente de voz en una app web o móvil?

Usa el motor gemini-live de Wixzel Voice, a $0.0491 por minuto conectado. Un solo modelo en tiempo real escucha, piensa y habla, así que el tiempo de ida y vuelta es el que ofrece Gemini por sí mismo, y es el motor más barato por minuto. El pipeline de sarvam también funciona por el socket, para idiomas de la India, y classic también, cuando necesitas una voz concreta de ElevenLabs.

¿Cuánto cuesta un agente de voz en una app web o móvil en Wixzel Voice?

Tiempo de motor de Wixzel Voice para sesiones de 4 minutos con el motor gemini-live, a velocidades de habla habituales, facturado por segundo de uso real. No hay costo de telefonía, porque no hay línea telefónica, y las sesiones más cortas cuestan proporcionalmente menos.

Sesiones al mesMinutos conectadosCosto del motor al mes
5002000$98.20
250010.000$491
10.00040.000$1,964

Prepago: agrega crédito desde $5 y las sesiones lo gastan. Calcula tu propia combinación.

¿Qué guías muestran cómo crear un agente de voz para una app web o móvil con Wixzel Voice?

Preguntas frecuentes

¿Puedo poner un agente de voz creado con Wixzel Voice en mi sitio web o mi app móvil?

Sí. Tu servidor llama a POST /v1/realtime/sessions con tu clave de API y recibe un client_secret; tu página o tu app abre wss://api.voice.wixzel.com/v1/realtime con él y transmite audio en ambos sentidos. El agente, el motor, las instrucciones y la base de conocimiento son los mismos que usaría una llamada telefónica. No intervienen ni troncal SIP ni número de teléfono.

¿Mi navegador o mi app necesita mi clave de API?

No, y nunca debe tenerla. El cliente solo tiene un client_secret generado por tu servidor, que funciona una sola vez, durante un minuto, para un agente. En navegadores, pasa allowed_origins al generarlo y el socket se rechaza desde cualquier otro sitio, así que un secreto copiado de tu página no sirve en otro lugar.

¿Qué SDK admiten la API realtime?

El SDK de TypeScript (wixzel-voice en npm) incluye un cliente para navegador, RealtimeSession, que pide el micrófono, codifica y reproduce el audio y gestiona que el usuario interrumpa al agente. El SDK de Dart (wixzel_voice en pub.dev) incluye RealtimeConnection para Flutter y Dart, que habla el protocolo mientras tu app aporta el micrófono y el altavoz. Cualquier otra cosa usa el protocolo directamente: tramas JSON por un WebSocket, con el audio en base64 G.711 µ-law a 8 kHz.

¿Qué calidad de audio tienen las sesiones web y de app?

Calidad telefónica. El audio es G.711 µ-law a 8 kHz en ambos sentidos, igual que una línea telefónica, porque las sesiones pasan por la misma ruta de medios que las llamadas. Es suficiente para la voz y es una limitación real frente a plataformas cuyo audio en el navegador es de banda ancha; se dice aquí en lugar de que lo descubras después.

¿Cómo se factura una sesión web o de app?

Exactamente igual que una llamada telefónica con el mismo motor: el mismo precio por minuto, del mismo saldo prepago, por segundo, detallado en GET /v1/usage/events. No hay costo de telefonía porque no hay línea telefónica. Una sesión cuenta para el límite de llamadas simultáneas de la cuenta, cinco de forma predeterminada. Generar una sesión no cuesta nada, así que un usuario que abre tu página y no permite el micrófono no te cuesta nada.

¿Cuánto puede durar una sesión?

Diez minutos de forma predeterminada. Configura max_duration_seconds al generar la sesión, entre 10 segundos y una hora, y el servidor termina la sesión en ese momento. El agente también puede terminarla, y tu cliente también.

¿Funciona en Flutter?

Sí. RealtimeConnection del SDK de Dart se ocupa del socket y del protocolo. Tu app graba PCM de 16 bits a 8 kHz con cualquier plugin de grabación, lo convierte a µ-law con la función auxiliar que incluye el SDK y reproduce el audio del agente con cualquier reproductor PCM. Activa la cancelación de eco, o el agente se oirá a sí mismo por el altavoz.

¿Puede mi app mostrar la cara del agente mientras habla?

Sí. Cada agente de Wixzel Voice tiene una mascota, una cara animada dibujada a partir de una pequeña especificación en el campo mascot del agente. En una página web, mountMascot de wixzel-voice/mascot (wixzel-voice 0.10.0 en npm) la dibuja en un canvas, y face.connect(session) inicia la llamada en tiempo real con la boca moviéndose al ritmo del audio del agente. En Flutter, el paquete wixzel_voice_flutter de pub.dev tiene AgentMascotView para dibujarla y MascotRealtimeLink para que escuche, piense y hable junto con una RealtimeConnection. En Flutter ninguno de los dos graba ni reproduce audio por ti; la ayuda web hace ambas cosas.

¿Existe una versión que no necesite nada de código?

Sí, para sitios web: el widget de mascota. Actívalo para el agente, indica tu sitio en embed_origins y pega una etiqueta script, y los visitantes pueden llamar al agente desde la esquina de la página. Usa la misma API realtime por debajo y se factura de la misma forma. Consulta el asistente de voz con IA para tu sitio web.

¿Qué más crean las agencias y los desarrolladores con Wixzel Voice?

Reserva de citas

Crea un agente que contesta el teléfono, revisa la disponibilidad y reserva una cita, por tu propia troncal SIP, con la reserva registrada mediante la API.

Calificación de leads por llamadas salientes

Sube tus leads, inicia una campaña y deja que un agente llame a cada uno por tu propia troncal SIP y haga tus preguntas de calificación. Cada llamada es un registro con su estado y su transcripción, vinculado al lead.

Línea de soporte entrante

Atiende un número de soporte con un agente que consulta una base de conocimiento que tú subes, resuelve las preguntas habituales y deja una transcripción de cada llamada.

Idiomas de la India

Ejecuta agentes telefónicos en idiomas de la India con modelos creados para ellos: el motor sarvam cubre la conversión de voz a texto, el modelo de lenguaje y la conversión de texto a voz de principio a fin.

Asistente de voz para sitios web

Pon un asistente de IA que habla en tu sitio web con una sola etiqueta script: un agente creado a partir de tu sitio, con una mascota animada a la que los visitantes llaman desde el navegador, datos de quien llama, ajustes de quién puede llamar y límites diarios.

Llamadas telefónicas desde agentes de IA

Conecta Claude Code, Codex, Cursor o cualquier cliente MCP a tu cuenta y deja que un agente de IA conecte un operador, cree un agente de voz, haga llamadas, ejecute campañas y lea transcripciones, con una confirmación previa en cada herramienta que gasta dinero.

Llamadas con IA de bajo costo

Haz llamadas telefónicas con IA por unos centavos el minuto: facturación por segundo desde crédito prepago, sin suscripción ni mínimo, con tu propia troncal SIP sin recargo sobre la telefonía, y cada cargo detallado.

Avatar de IA que habla

Dale una cara a un agente de voz: un avatar animado que mueve los labios con el agente, para un sitio web, un enlace para compartir, una app web o una app de Flutter, sin cuota por el avatar.

Para agencias

Crea un agente telefónico para cada cliente en su propia cuenta y con su propio operador, en su idioma, y cobra una cuota mensual sobre un costo facturado por segundo.

Todos los datos de Wixzel Voice

Operador, precios, límites, reembolsos y ubicación de los datos, en una sola página.