Convierte cualquier artículo en
un pódcast

Pega un enlace o el texto del artículo. Un LLM lo convierte en una conversación entre dos presentadores. Cartesia Sonic 3.6 pone voz a cada línea, y la página reproduce el episodio con una transcripción que resalta la línea que suena.
El episodio terminado Sonic Briefing: Libraries Lending Heat Pumps, a partir de un artículo breve sobre bibliotecas que prestan bombas de calor: un reproductor en 0:09 de 1:53 con un botón Download, y el guion debajo con la línea actual de Sam resaltada en verde

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

Modelos
sonic-3.6
Idiomas
Inglés, español, francés, alemán y 4 más
Licencia
Apache-2.0
Stack
Next.js 16React 19AI SDKMozilla Readabilityshadcn/ui
Productos de Cartesia
Sonic 3.6

Qué hace

Antes de empezar, elige un episodio corto, medio o largo y uno de ocho idiomas: inglés, español, francés, alemán, portugués, japonés, hindi o coreano. El LLM escribe el guion en ese idioma, y Sonic lo lee en el mismo idioma. Los presentadores se llaman Sam y Alex hasta que les cambies el nombre. El episodio terminado se descarga desde el reproductor como archivo WAV.

Ejecútalo tú mismo

  1. Instala

    Ejecuta los comandos de abajo con Node 22.22 o posterior. pnpm también funciona. Rellena .env.local con la tabla de abajo. Sin claves, la página carga igualmente y dice qué variable definir.

    npx degit cartesia-ai/cookbook/examples/article-to-podcast article-to-podcast
    cd article-to-podcast
    # add CARTESIA_API_KEY, LLM_MODEL and its key
    cp .env.example .env.local
    npm install
    npm run dev
    

    Variables de entorno
    CARTESIA_API_KEY
    play.cartesia.ai/keys
    LLM_MODEL
    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
    CARTESIA_VOICE_HOST_A
    Opcional. Id de voz del primer presentador, y CARTESIA_VOICE_HOST_B para el segundo
    APP_PASSWORD
    Opcional en local. Obligatoria en Vercel, o none para que la app sea pública
    TRUST_PROXY
    Opcional. 1 detrás de tu propio proxy inverso
  2. Crea un episodio

    Abre la URL local que muestra el servidor de desarrollo y pega el enlace a un artículo. Para páginas que cargan su texto con JavaScript, cambia a Paste text. Elige la duración corta para un primer episodio rápido. Luego pulsa Make podcast.

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 an article to podcast generator with Cartesia. Start from https://github.com/cartesia-ai/cookbook/tree/main/examples/article-to-podcast and follow its AGENTS.md for the commands, files and rules. The AI SDK writes the two-host script with generateText and Output.object. Speech goes through @cartesia/cartesia-js: one client.tts.generate call per line with model_id sonic-3.6 and raw pcm_s16le at 24 kHz, then the server joins the lines into one WAV. Do not use the AI SDK speech API for Sonic. If I don't have a Cartesia API key yet, follow https://www.cartesia.ai/agent-quickstart.md to get one.

Cómo funciona

DescargaUna descarga que rechaza direcciones privadas, y luego un analizador extrae el texto del artículo
GuionUn LLM escribe un título y cada línea del guion
Sonic 3.6Una petición por línea, 4 a la vez
WAVLíneas unidas con pausas cortas, con el momento en que empieza cada una
ReproductorResalta la línea que suena

Por qué funciona así

Una llamada a Sonic por línea

Cada presentador necesita una voz distinta, así que cada línea es una petición propia. El audio sin procesar también da a cada línea una duración exacta, lo que mantiene sincronizada la transcripción resaltada. La app añade 350 ms de silencio cuando cambia el presentador y 180 ms en los demás casos. El coste es que el tono no pasa de una línea a la siguiente.

Cualquier LLM escribe el guion

El guion sale del AI SDK, así que funciona con cualquier proveedor de LLM. La voz pasa por el SDK de JavaScript de Cartesia, @cartesia/cartesia-js, que fija la versión de la API en cada petición.

Las páginas descargadas no son de confianza

El código de descarga de lib/safe-fetch.ts rechaza direcciones privadas e internas y solo permite los puertos 80 y 443. También limita las redirecciones, el tamaño de la página a 2 MB y el tiempo. El prompt marca el artículo como material para comentar y le dice al LLM que nunca siga instrucciones que aparezcan dentro.

Adáptalo a ti

Usa otras voces

Elige dos voces en play.cartesia.ai/voices. Pon el id de la voz del primer presentador en CARTESIA_VOICE_HOST_A. El del segundo va en CARTESIA_VOICE_HOST_B. Las voces por defecto son en inglés, así que elige voces que encajen con tu idioma.

Cambia el programa

El nombre del programa, el lema, los papeles de los presentadores y el esquema del episodio son valores por defecto en lib/config.ts. Las instrucciones que recibe el LLM están en lib/prompt.ts.

Usa otro proveedor de LLM

Pon en LLM_MODEL el id de AI Gateway del proveedor, por ejemplo google/gemini-2.5-flash. Añade AI_GATEWAY_API_KEY a su lado. Para llamar al proveedor directamente, instala su paquete del AI SDK. Después añade una rama para su prefijo en lib/llm.ts.

Preguntas

¿Mi clave de API de Cartesia queda expuesta en el navegador?

No. El navegador envía el guion al servidor de la propia app, que llama a Sonic. La clave nunca sale del servidor.

¿Cuánto tarda un episodio?

Depende de tu LLM y de la duración que elijas. Un episodio corto necesita una sola llamada al LLM. El medio, que es el predeterminado, y el largo hacen varias llamadas seguidas, y Sonic pone voz a cuatro líneas a la vez.

¿Cuánto cuesta un episodio?

Sonic cuesta alrededor de 1 crédito por carácter del guion. La app rechaza guiones de más de 30.000 caracteres, así que un episodio cuesta como mucho unos 30.000 créditos, más los tokens del LLM.

¿Puedo publicarla en internet?

Primero pon una contraseña con APP_PASSWORD, porque cada episodio gasta tus tokens del LLM y tus créditos de Cartesia. Convierte solo artículos que sean tuyos o que tengas permiso para adaptar, e indica que el audio publicado está generado por IA.

¿Puedo hacerlo en Python?

Sí. La llamada a Sonic funciona igual en el paquete de Python de Cartesia. Empieza por la receta generar voz en un archivo y recorre las líneas de tu guion.

¿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 referencia de la API de TTS bytes 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