Cookbook / Modo de voz para programar
Habla con tu
agente de programación
Los tests pasan. ¿Abro la pull request?
Ejemplo de uso. Un ejemplo guionizado de la app en funcionamiento, no una grabación.
- Modelos
- sonic-3.6, ink-2
- Idiomas
- Inglés, español, francés, hindi, japonés
- Licencia
- Apache-2.0
- Stack
- PythonFastMCPsounddeviceuv
- Productos de Cartesia
- Sonic 3.6Ink 2
Qué hace
Funciona con Claude Code, Cursor y Codex. No hay tecla para hablar ni tiempo de silencio que ajustar, porque Ink 2 decide cuándo has terminado. Funciona igual que mbailey/voicemode, un servidor de voz de código abierto para agentes de programación, así que un agente que conoce uno puede usar el otro.
Ejecútalo tú mismo
Descarga el servidor
Ejecuta los comandos de abajo. Necesitas uv, un micrófono y auriculares. En Linux, instala antes libportaudio2.
Variables de entorno - CARTESIA_API_KEY
play.cartesia.ai/keys- CARTESIA_VOICE_ID
- Opcional. Una voz de
play.cartesia.ai/voices. Por defecto, Daniel (en-US) - CARTESIA_TURN_END_TIMEOUT_MS
- Opcional. De 640 a 11200, cuánto puede durar una pausa antes de que Ink 2 cierre tu turno
- CARTESIA_KEYTERMS
- Opcional. Nombres separados por comas hacia los que orientar la transcripción
Instálalo en tu agente
setup.shejecutauv syncy cartesia-voice-mode install para claude, cursor, codex o all. Añade--dry-runpara ver qué cambiaría.Empieza a hablar
Reinicia el agente y di, o escribe, "let's talk" o "voice mode". Si no pasa nada,
uv run cartesia-voice-modedoctor comprueba la clave.
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
Set up voice mode for my coding agent with Cartesia. Start from https:/ and follow its AGENTS.md for the commands, files and rules. It is a local stdio MCP server with a converse tool: Sonic 3.6 (sonic-3.6) speaks the message over /tts/sse, then Ink 2 (ink-2) on /stt/turns/websocket listens until turn.end and returns the transcript as the tool result. Install it with ./setup.sh for my client, and keep the API key out of the client config. If I don't have a Cartesia API key yet, follow https:/ to get one.
Cómo funciona
/tts/sse y lo reproduce/stt/turns/websocketturn.end, leída como tu siguiente mensajePor qué funciona así
La detección de turnos cierra tu turno
El servidor espera el evento turn.end de Ink 2, que significa que Ink 2 cree que has terminado. Una pausa a mitad de frase no te corta como lo haría un tiempo de silencio fijo.
Las esperas largas necesitan más tiempo en Codex
Codex detiene una llamada a herramienta a los 60 segundos por defecto. Un turno de voz reproduce el mensaje y luego escucha hasta 120 segundos, así que el script de instalación sube el tool_timeout_sec de Codex a 180. Edita tu configuración de Codex en el sitio y conserva tus comentarios. Si dejas que escuche más tiempo, sube también ese límite.
Adáptalo a ti
Cambia la voz
Define CARTESIA_VOICE_ID, o pide al agente que llame a la herramienta list_voices y elija una.
Habla en otro idioma
Ink 2 detecta por sí solo inglés, español, francés, hindi y japonés. Define CARTESIA_LANGUAGE y un CARTESIA_VOICE_ID que coincida para que Sonic responda en el mismo idioma.
Enséñale tus palabras
Pon nombres de repositorios y bibliotecas en CARTESIA_KEYTERMS para que Ink 2 los escriba como los escribe tu código.
Únete a los equipos que dan el salto a Cartesia
Preguntas
¿Con qué agentes de programación funciona?
Claude Code, Cursor y Codex. El script de instalación lo instala en uno de ellos o en los tres.
¿Mi clave de API de Cartesia está segura?
Sí. El instalador escribe en la configuración de tu agente solo el comando que arranca el servidor. La clave se queda en tu shell, o en un archivo que solo tú puedes leer si pasas --save-key, y nunca aparece en mensajes de error ni en logs.
¿Puedo interrumpir al agente mientras habla?
No. El micrófono se abre solo cuando el agente termina de hablar, así que nunca se oye a sí mismo, y no hay cancelación de eco. Usa auriculares.
¿Qué tan rápido es?
Depende de tu red y tu región. El servidor muestra en cada llamada cuánto tardó Sonic en empezar a hablar, así que puedes comprobarlo. Para cambiar cuánto debe durar una pausa antes de que termine tu turno, define CARTESIA_TURN_END_TIMEOUT_MS.
¿En qué se diferencia de mbailey/voicemode?
Ese proyecto también puede usar modelos locales y otros proveedores de voz. Este servidor usa solo Cartesia.
¿Hay una guía paso a paso de esta plantilla?
Sí. La receta recorre el código, el README explica la instalación, las variables de entorno y el despliegue, y la documentación de detección de turnos de Ink 2 explica la parte de Cartesia.
Más del cookbook
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.
Empieza a crear.
Accede a nuestros modelos mediante API y lleva un agente de voz a producción en minutos.

