Cookbook / Da articolo a podcast
Trasforma qualsiasi articolo in
un podcast

Screenshot. Il template in esecuzione in locale.
- Modelli
- sonic-3.6
- Lingue
- Inglese, spagnolo, francese, tedesco e altre 4
- Licenza
- Apache-2.0
- Stack
- Next.js 16React 19AI SDKMozilla Readabilityshadcn/ui
- Prodotti Cartesia
- Sonic 3.6
Cosa fa
Prima di iniziare, scegli un episodio breve, medio o lungo e una di otto lingue: inglese, spagnolo, francese, tedesco, portoghese, giapponese, hindi o coreano. L'LLM scrive il copione in quella lingua, e Sonic lo legge nella stessa lingua. I conduttori si chiamano Sam e Alex finché non li rinomini. L'episodio finito si scarica dal player come file WAV.
Eseguilo tu
Installa
Esegui i comandi qui sotto con Node 22.22 o successivo. Funziona anche pnpm. Compila
.env.localseguendo la tabella qui sotto. Senza chiavi la pagina si carica comunque e ti dice quale variabile impostare.Variabili d'ambiente - CARTESIA_API_KEY
play.cartesia.ai/keys- LLM_MODEL
provider/model, per esempioopenai/gpt-5.4-mini- OPENAI_API_KEY
- Se
LLM_MODELinizia con openai/ - ANTHROPIC_API_KEY
- Se
LLM_MODELinizia con anthropic/ - AI_GATEWAY_API_KEY
- Per qualsiasi altro fornitore. Non serve su Vercel
- CARTESIA_VOICE_HOST_A
- Opzionale. Id della voce del primo conduttore, e
CARTESIA_VOICE_HOST_Bper il secondo - APP_PASSWORD
- Opzionale in locale. Obbligatoria su Vercel, oppure none per rendere l'app pubblica
- TRUST_PROXY
- Opzionale. 1 dietro il tuo reverse proxy
Crea un episodio
Apri l'URL locale che stampa il server di sviluppo e incolla il link a un articolo. Per le pagine che caricano il testo con JavaScript, passa invece a Paste text. Scegli la durata breve per un primo episodio veloce. Poi premi Make podcast.
Crealo con il tuo agente di programmazione
Un prompt che dice al tuo agente di programmazione da dove partire e cosa leggere per primo.
Prompt
Build an article to podcast generator with Cartesia. Start from https:/ 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:/ to get one.
Come funziona
Perché funziona così
Una chiamata a Sonic per battuta
Ogni conduttore ha bisogno di una voce diversa, quindi ogni battuta è una richiesta a sé. L'audio grezzo dà anche a ogni battuta una durata esatta, così la trascrizione evidenziata resta sincronizzata. L'app aggiunge 350 ms di silenzio quando cambia chi parla e 180 ms negli altri casi. Il prezzo è che il tono non passa da una battuta all'altra.
Qualsiasi LLM scrive il copione
Il copione arriva dall'AI SDK, quindi funziona con qualsiasi provider LLM. La voce passa dall'SDK JavaScript di Cartesia, @cartesia/cartesia-js, che fissa la versione dell'API a ogni richiesta.
Le pagine scaricate non sono affidabili
Il codice di download in lib/safe-fetch.ts rifiuta gli indirizzi privati e interni e consente solo le porte 80 e 443. Limita anche i redirect, la dimensione della pagina a 2 MB e il tempo. Il prompt presenta l'articolo come materiale da discutere e dice all'LLM di non seguire mai le istruzioni che contiene.
Personalizzalo
Usa altre voci
Scegli due voci su play.cartesia.ai/voices. Metti l'id della voce del primo conduttore in CARTESIA_VOICE_HOST_A. Quello del secondo va in CARTESIA_VOICE_HOST_B. Le voci predefinite sono inglesi, quindi scegline di adatte alla tua lingua.
Cambia il programma
Il nome del programma, lo slogan, i ruoli dei conduttori e la scaletta dell'episodio sono valori predefiniti in lib/config.ts. Le istruzioni che riceve l'LLM sono in lib/prompt.ts.
Usa un altro fornitore di LLM
Imposta LLM_MODEL sull'id AI Gateway del provider, per esempio google/gemini-2.5-flash. Aggiungi AI_GATEWAY_API_KEY accanto. Per chiamare il provider direttamente, installa il suo pacchetto AI SDK. Poi aggiungi un ramo per il suo prefisso in lib/llm.ts.
Unisciti ai team che passano a Cartesia
Domande
La mia chiave API di Cartesia è esposta nel browser?
No. Il browser invia il copione al server dell'app, che chiama Sonic. La chiave non lascia mai il server.
Quanto ci vuole per un episodio?
Dipende dal tuo LLM e dalla durata che scegli. Un episodio breve richiede una sola chiamata all'LLM. Il medio, che è il predefinito, e il lungo fanno più chiamate in fila, e Sonic dà voce a quattro battute alla volta.
Quanto costa un episodio?
Sonic costa circa 1 credito per carattere di copione. L'app rifiuta copioni oltre 30.000 caratteri, quindi un episodio costa al massimo circa 30.000 crediti, più i token dell'LLM.
Posso metterla online pubblicamente?
Prima imposta una password con APP_PASSWORD, perché ogni episodio consuma i tuoi token LLM e i tuoi crediti Cartesia. Converti solo articoli tuoi o che hai il permesso di adattare, e indica che l'audio pubblicato è generato dall'IA.
Posso farlo in Python?
Sì. La chiamata a Sonic funziona allo stesso modo nel pacchetto Python di Cartesia. Parti dalla ricetta generare la voce in un file e ripetila per ogni battuta del copione.
Esiste una guida passo passo per questo template?
Sì. La ricetta spiega il codice, il README copre configurazione, variabili d'ambiente e distribuzione, e il riferimento dell'API TTS bytes spiega la parte Cartesia.
Altro dal cookbook
Inizia oggi
Parla con un esperto.
Contatta un membro del nostro team e scopri come Cartesia può aiutarti a creare esperienze vocali di altissimo livello.
Inizia a sviluppare.
Accedi ai nostri modelli tramite API e porta un agente vocale in produzione in pochi minuti.
