Cookbook / Journal vocal
Un journal vocal
qui vous relit votre semaine

Capture d'écran. Le modèle lancé en local.
- Modèles
- ink-whisper, sonic-3.6
- Langues
- Anglais
- Licence
- Apache-2.0
- Stack technique
- ExpoReact NativeExpo Router API routesAI SDKAsyncStorage
- Produits Cartesia
- InkSonic 3.6
Ce qu'il fait
Une seule app tourne sur iOS, Android et le web. Les entrées restent sur votre appareil, donc il n'y a ni base de données ni connexion. Les enregistrements partent chez Cartesia pour la transcription, et les transcriptions chez votre fournisseur de LLM. L'app l'indique sous le bouton d'enregistrement, et son serveur ne garde aucun audio.
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.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
- TRUST_PROXY
- Facultatif. 1 derrière votre propre reverse proxy
Enregistrez une entrée
Lancez
npm run dev, puis appuyez sur w pour ouvrir l'app web. Pour utiliser un téléphone, scannez le QR code avec Expo Go, l'app gratuite d'Expo pour essayer des projets. Enregistrez une entrée avec Start recording. Ouvrez ensuite Recap et touchez Write my recap.
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 a voice journal app in Expo with Cartesia. Start from https:/ and follow its AGENTS.md for the commands, files and rules. Expo Router API routes hold the keys: /api/transcribe sends each recording to ink-whisper with client.stt.transcribe from @cartesia/cartesia-js, the AI SDK writes the title, mood, reflection and weekly recap, and /api/speak turns the recap into an MP3 with sonic-3.6 through client.tts.generate. Never give a key an EXPO_PUBLIC_ prefix. If I don't have a Cartesia API key yet, follow https:/ to get one.
Comment ça marche
Pourquoi ça fonctionne ainsi
Un enregistrement terminé n'a pas besoin de streaming
Une entrée de journal est un enregistrement terminé, donc un seul envoi à ink-whisper est plus simple qu'un flux en direct. Le streaming demanderait aussi l'audio brut pendant que vous parlez, et l'enregistreur d'Expo ne le fournit pas sur le web.
Le bilan est écrit pour être écouté
Le résumé lit vos entrées des sept derniers jours, de la plus ancienne à la plus récente, et fait 120 à 200 mots écrits pour être écoutés. Sonic 3.6 le renvoie en MP3, lisible sur toutes les plateformes.
Personnalisez-le
Changez la voix par défaut
La voix par défaut est définie dans lib/limits.ts. Choisissez-en une autre dans la bibliothèque de voix Cartesia, puis mettez à jour sa description dans app/recap.tsx.
Transcrivez une autre langue
Changez la langue de transcription dans app/api/transcribe+api.ts. Changez ensuite la langue de synthèse dans app/api/speak+api.ts et choisissez une voix qui la parle.
Changez les humeurs
La liste des humeurs est dans lib/schema.ts. Les prompts de la réflexion et du résumé sont dans lib/server/prompts.ts.
Rejoignez les équipes qui passent à Cartesia
Questions
Ma clé API est-elle en sécurité dans une app mobile ?
Oui, tant qu'elle reste sur le serveur. Les routes serveur de l'app lisent la clé, et elle n'entre jamais dans l'app installée sur les téléphones. Ne donnez pas le préfixe EXPO_PUBLIC_ à une clé, car Expo place ces valeurs dans l'app, où tout le monde peut les lire.
Est-ce que ça marche sur un vrai iPhone ou Android ?
Oui, dans Expo Go pendant le développement. Pour une version store, vous déployez les routes serveur et vous y reliez l'app. La version web a été testée dans Chrome, et les versions mobiles compilent mais n'ont pas tourné sur un appareil.
Puis-je le mettre en ligne tel quel ?
Non. Les routes serveur sont ouvertes à tous, donc ajoutez une connexion et vérifiez-la dans chaque route avant de déployer. La limite de requêtes intégrée ne freine que les abus occasionnels.
Est-ce une app de thérapie ?
Non. Les prompts demandent au modèle de ne pas poser de diagnostic ni donner d'avis médical. Si une entrée parle d'automutilation, le modèle oriente vers une personne de confiance ou une ligne d'écoute locale.
Puis-je utiliser ma propre voix pour le bilan ?
Pas dans ce modèle. Le clonage de voix a été laissé de côté volontairement, l'app n'utilise donc que des voix de la bibliothèque Cartesia.
Existe-t-il un guide pas à pas pour ce modèle ?
Oui. La recette explique le code, le README couvre l'installation, les variables d'environnement et le déploiement, et la référence de l'API de transcription par lot détaille 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.

