Práctica oral
con correcciones después de cada frase

Elige el idioma que hablas y el que estás aprendiendo, y luego una escena, como pedir un café o comprar un billete de autobús. Un Managed Agent de Cartesia hace de la otra persona en voz alta, y un panel lateral apunta qué corregir después de cada frase que dices.
Speaking partner durante la escena de la cafetería en español, con las correcciones activadas. El barista responde al estudiante en español y el panel de correcciones muestra una tarjeta de gramática con la frase corregida

Captura de pantalla. La plantilla ejecutándose en local.

Modelos
ink-2, sonic-3.6
Idiomas
Inglés, español, francés, hindi, japonés
Licencia
Apache-2.0
Stack
Next.js 16React 19AI SDKshadcn/uiagents-web
Productos de Cartesia
Managed AgentsInk 2Sonic 3.6

Qué hace

Hay nueve escenas, desde saludar a un vecino nuevo hasta negociar el alquiler, y cada una tiene un objetivo. También eliges un estilo de enseñanza. Teacher te sugiere palabras y te las explica en tu idioma. Immersive no sale del papel y oculta las correcciones al principio. Cuando terminas la escena, te pone una nota de 1 (te costó) a 3 (con fluidez) y te da tres consejos. Las escenas y los dos estilos vienen de una demo de código abierto de Zack Akil (Apache-2.0).

Ejecútalo tú mismo

  1. Instala

    Ejecuta los comandos de abajo con Node 22.22 o posterior. pnpm también funciona. Con CARTESIA_API_KEY basta para hablar. El panel de correcciones necesita LLM_MODEL y la clave de su proveedor, y dice qué añadir hasta que estén definidas.

    npx degit cartesia-ai/cookbook/examples/speaking-partner speaking-partner
    cd speaking-partner
    # add CARTESIA_API_KEY, and LLM_MODEL plus its key for corrections
    cp .env.example .env.local
    npm install
    npm run dev
    

    Variables de entorno
    CARTESIA_API_KEY
    play.cartesia.ai/keys
    LLM_MODEL
    Para las correcciones. proveedor/modelo, por ejemplo openai/gpt-5.4-mini
    OPENAI_API_KEY
    Si LLM_MODEL empieza por openai/
    ANTHROPIC_API_KEY
    Si LLM_MODEL empieza por anthropic/
    AI_GATEWAY_API_KEY
    Para cualquier otro proveedor. No hace falta en Vercel
    AGENT_MODEL_ID
    Opcional. El LLM del compañero, de GET /v1/agents/models
    VOICE_ID_ES
    Opcional. Fija la voz en español. VOICE_ID_EN, _FR, _HI y _JA funcionan igual
    APP_PASSWORD
    Opcional en local. Obligatoria en Vercel, o none para que la app sea pública
    TRUST_PROXY
    Opcional. 1 si está detrás de tu propio proxy inverso
  2. Elige una escena

    Abre la URL que muestra npm run dev y elige tus dos idiomas. Escoge un estilo de enseñanza y una escena, pulsa Start speaking y di tú la primera frase. Usa auriculares. La página termina la sesión a los 3 minutos.

Créalo con tu agente de programación

Un prompt que le dice a tu agente de programación por dónde empezar y qué leer primero.

Prompt

Claude CodeCursorCodex

Build a language speaking practice app on a Cartesia Managed Agent. Start from https://github.com/cartesia-ai/cookbook/tree/main/examples/speaking-partner and follow its AGENTS.md for the commands, files and rules. The server creates one temporary agent per session with POST /v1/agents, writing the mission, role, mode and languages into its instructions, because a browser access token cannot send dynamic_variables. The browser gets a 60 second token with only the agent grant and talks to the agent through useCartesiaAgent from lib/agents-web. Corrections are a separate AI SDK call per line. Keep the five Ink 2 languages (en, es, fr, hi, ja). If I don't have a Cartesia API key yet, follow https://www.cartesia.ai/agent-quickstart.md to get one.

Cómo funciona

SesiónEl servidor escribe la escena en las instrucciones de un agente nuevo
Ink 2Te escucha en el idioma que estás aprendiendo
LLMHace de la otra persona, claude-haiku-4.5 por defecto
Sonic 3.6Habla con una voz nativa de ese idioma
CorreccionesUna llamada aparte al LLM revisa cada una de tus frases

Por qué funciona así

Un agente por sesión

El navegador se conecta con un token de corta duración, y ese token no puede pasar la escena a la llamada. Así que antes de cada sesión el servidor escribe la escena, el papel y el estilo de enseñanza en las instrucciones de un agente nuevo. Borra el agente cuando sales.

Las correcciones van aparte de la llamada

Después de cada frase tuya, una llamada aparte al LLM revisa solo esa frase. Devuelve la frase corregida y una explicación corta en tu idioma. El compañero sigue la conversación y nunca se para a corregirte.

El compañero cierra la escena

Cuando alcanzas el objetivo, el compañero se despide y llama a una herramienta de tu navegador que cierra la escena. Le pasa tres consejos, y en Immersive también una nota, y la página muestra un resumen y borra el agente. Si sales antes, ves el resumen sin la nota.

Adáptalo a ti

Añade una escena

Añade una entrada a data/missions.json, la lista de escenas. Las rutas reciben el id de la escena, así que el navegador nunca envía texto libre a un prompt.

Cambia el estilo de enseñanza

Los prompts de los dos estilos de enseñanza están en lib/prompts.ts.

Elige las voces

Define VOICE_ID_ES y las demás. Sin ellas, el servidor toma de la biblioteca de voces el primer hablante nativo con una descripción amable.

Preguntas

¿Cuánto cuesta usarlo?

La plantilla es gratuita y de código abierto con licencia Apache-2.0. Las llamadas de práctica usan tu cuenta de Cartesia, y las correcciones escritas usan tu proveedor de LLM. Cada sesión termina a los 3 minutos.

¿Qué necesito para probarlo?

Para hablar bastan una API key de Cartesia y Node 22.22 o posterior. Las correcciones escritas necesitan además una clave de LLM, de OpenAI, Anthropic o Vercel AI Gateway.

¿Qué idiomas puedo practicar?

Inglés, español, francés, hindi y japonés, en cualquier combinación. Son los idiomas que Ink 2 entiende, así que otro idioma necesita otro sistema de voz a texto.

¿Es seguro publicarlo en internet?

Pon una contraseña antes de desplegarlo, porque cualquiera que abra la página puede iniciar sesiones con tu cuenta. Cartesia además graba el audio y la transcripción de cada llamada del agente, así que avisa a tus usuarios y borra las llamadas que no necesites.

¿Por qué mi frase aparece solo cuando dejo de hablar?

El agente envía tus palabras cuando terminas de hablar, así que tu frase y su corrección aparecen a la vez. Las palabras del compañero aparecen mientras habla.

¿Hay una guía paso a paso de esta plantilla?

Sí. La receta recorre el código, el README cubre la instalación, las variables de entorno y el despliegue, y la documentación de las herramientas de cliente explica la parte de Cartesia.

Empieza hoy

Habla con un experto.

Habla con nuestro equipo y descubre cómo puede ayudarte Cartesia a crear experiencias de voz de primer nivel.

Contactar con ventas

Empieza a crear.

Accede a nuestros modelos mediante API y lleva un agente de voz a producción en minutos.

Probar Cartesia