Cookbook / Article en podcast
Transformez n'importe quel article
en podcast

Capture d'écran. Le modèle lancé en local.
- Modèles
- sonic-3.6
- Langues
- Anglais, espagnol, français, allemand et 4 autres
- Licence
- Apache-2.0
- Stack technique
- Next.js 16React 19AI SDKMozilla Readabilityshadcn/ui
- Produits Cartesia
- Sonic 3.6
Ce qu'il fait
Avant de commencer, choisissez un épisode court, moyen ou long et l'une des huit langues : anglais, espagnol, français, allemand, portugais, japonais, hindi ou coréen. Le LLM écrit le script dans cette langue, et Sonic le lit dans la même langue. Les animateurs s'appellent Sam et Alex tant que vous ne les renommez pas. L'épisode final se télécharge depuis le lecteur au format WAV.
Lancez-le vous-même
Installez
Lancez les commandes ci-dessous avec Node 22.22 ou plus récent. pnpm fonctionne aussi. Remplissez
.env.localà l'aide du tableau ci-dessous. Sans clés, la page se charge quand même et indique la variable à définir.Variables d'environnement - CARTESIA_API_KEY
play.cartesia.ai/keys- LLM_MODEL
fournisseur/modèle, par exempleopenai/gpt-5.4-mini- OPENAI_API_KEY
- Si
LLM_MODELcommence par openai/ - ANTHROPIC_API_KEY
- Si
LLM_MODELcommence par anthropic/ - AI_GATEWAY_API_KEY
- Pour tout autre fournisseur. Inutile sur Vercel
- CARTESIA_VOICE_HOST_A
- Facultatif. L'id de voix du premier animateur, et
CARTESIA_VOICE_HOST_Bpour le second - APP_PASSWORD
- Facultatif en local. Obligatoire sur Vercel, ou none pour rendre l'app publique
- TRUST_PROXY
- Facultatif. 1 derrière votre propre proxy inverse
Créez un épisode
Ouvrez l'URL locale affichée par le serveur de développement et collez le lien d'un article. Pour les pages qui chargent leur texte en JavaScript, passez plutôt à Paste text. Choisissez la durée courte pour un premier épisode rapide. Appuyez ensuite sur Make podcast.
Créez-le avec votre agent de code
Un prompt qui indique à votre agent de code par où commencer et quoi lire en premier.
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.
Comment ça marche
Pourquoi ça fonctionne ainsi
Un appel Sonic par réplique
Chaque animateur a besoin d'une voix différente, donc chaque réplique fait l'objet de sa propre requête. L'audio brut donne aussi à chaque réplique une durée exacte, ce qui garde la transcription surlignée synchronisée. L'app ajoute 350 ms de silence quand l'animateur change et 180 ms sinon. La contrepartie : le ton ne se transmet pas d'une réplique à l'autre.
N'importe quel LLM écrit le script
Le script vient de l'AI SDK, donc tout fournisseur de LLM fonctionne. La voix passe par le SDK JavaScript de Cartesia, @cartesia/cartesia-js, qui fixe la version de l'API à chaque requête.
Les pages récupérées ne sont pas fiables
Le code de récupération de lib/safe-fetch.ts refuse les adresses privées et internes et n'autorise que les ports 80 et 443. Il limite aussi les redirections, la taille de la page à 2 Mo et la durée. Le prompt présente l'article comme un contenu à commenter et demande au LLM de ne jamais suivre les instructions qu'il contient.
Personnalisez-le
Utilisez d'autres voix
Choisissez deux voix sur play.cartesia.ai/voices. Mettez l'id de la voix du premier animateur dans CARTESIA_VOICE_HOST_A. Celui du second va dans CARTESIA_VOICE_HOST_B. Les voix par défaut sont anglaises, alors choisissez des voix adaptées à votre langue.
Changez l'émission
Le nom de l'émission, le slogan, les rôles des animateurs et le plan de l'épisode sont des valeurs par défaut dans lib/config.ts. Les instructions données au LLM sont dans lib/prompt.ts.
Utilisez un autre fournisseur de LLM
Mettez dans LLM_MODEL l'id AI Gateway du fournisseur, par exemple google/gemini-2.5-flash. Ajoutez AI_GATEWAY_API_KEY à côté. Pour appeler le fournisseur directement, installez son paquet AI SDK. Ajoutez ensuite une branche pour son préfixe dans lib/llm.ts.
Rejoignez les équipes qui passent à Cartesia
Questions
Ma clé d'API Cartesia est-elle exposée dans le navigateur ?
Non. Le navigateur envoie le script au serveur de l'app, qui appelle Sonic. La clé ne quitte jamais le serveur.
Combien de temps faut-il pour un épisode ?
Cela dépend de votre LLM et de la durée choisie. Un épisode court demande un seul appel au LLM. Le moyen, choisi par défaut, et le long font plusieurs appels à la suite, et Sonic donne voix à quatre répliques à la fois.
Combien coûte un épisode ?
Sonic coûte environ 1 crédit par caractère de script. L'app refuse les scripts de plus de 30 000 caractères, donc un épisode coûte au plus environ 30 000 crédits, plus vos tokens de LLM.
Puis-je la mettre en ligne publiquement ?
Définissez d'abord un mot de passe avec APP_PASSWORD, car chaque épisode dépense vos tokens de LLM et vos crédits Cartesia. Ne convertissez que des articles qui vous appartiennent ou que vous avez le droit d'adapter, et signalez l'audio publié comme généré par IA.
Puis-je le faire en Python ?
Oui. L'appel à Sonic fonctionne de la même façon dans le paquet Python de Cartesia. Partez de la recette générer de la voix dans un fichier et bouclez sur les répliques de votre script.
Existe-t-il un guide pas à pas pour ce modèle ?
Oui. La recette parcourt le code, le README couvre l'installation, les variables d'environnement et le déploiement, et la référence de l'API TTS bytes explique le côté Cartesia.
Plus d'exemples du cookbook
Commencer aujourd'hui
Parlez à un expert.
Échangez avec notre équipe et découvrez comment Cartesia peut vous aider à créer des expériences vocales de premier plan.
Commencez à développer.
Accédez à nos modèles via l'API et mettez un agent vocal en production en quelques minutes.
