Un interprète
dans votre poche

Chaque personne parle sa propre langue dans un seul téléphone. Ink 2 écoute et repère quand chacun arrête de parler. Un LLM traduit chaque tour, puis Sonic 3.6 le dit à voix haute dans l'autre langue.
La mise en page sur ordinateur, l'anglais à gauche et l'espagnol à droite, avec au-dessus l'état et les commandes de texte agrandi, Flip et End

Capture d'écran. Le modèle lancé en local.

Modèles
ink-2, sonic-3.6
Langues
Deux langues parmi l'anglais, l'espagnol, le français, le hindi et le japonais
Licence
Apache-2.0
Stack technique
Next.js 16React 19AI SDKWeb Audioshadcn/ui
Produits Cartesia
Ink 2Sonic 3.6

Ce qu'il fait

L'écran se divise pour que chacun lise la conversation dans sa langue, et une moitié peut se retourner quand le téléphone est posé à plat entre vous. Sous chaque tour traduit, une petite ligne indique le délai jusqu'au premier mot traduit et jusqu'au premier audio.

Lancez-le vous-même

  1. 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. S'il manque une clé, la page indique laquelle.

    npx degit cartesia-ai/cookbook/examples/pocket-interpreter pocket-interpreter
    cd pocket-interpreter
    # add CARTESIA_API_KEY, LLM_MODEL and the provider key
    cp .env.example .env.local
    npm install
    npm run dev
    

    Variables d'environnement
    CARTESIA_API_KEY
    play.cartesia.ai/keys
    LLM_MODEL
    fournisseur/modèle, par exemple openai/gpt-5.4-mini
    OPENAI_API_KEY
    Si LLM_MODEL commence par openai/
    ANTHROPIC_API_KEY
    Si LLM_MODEL commence par anthropic/
    AI_GATEWAY_API_KEY
    Pour tout autre fournisseur
    APP_PASSWORD
    Facultatif en local. Obligatoire sur Vercel, ou none pour rendre l'app publique
    TRUST_PROXY
    Facultatif. 1 derrière votre propre reverse proxy
  2. Commencez à parler

    Ouvrez l'URL affichée par npm run dev. Choisissez les deux langues et appuyez sur Start talking. Parlez ensuite chacun votre tour, sans rien toucher entre deux tours. Un téléphone a besoin de HTTPS pour le micro, donc déployez l'app ou utilisez un tunnel comme cloudflared pour l'essayer sur un téléphone.

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

Claude CodeCursorCodex

Build a two-person voice translation app with Cartesia. Start from https://github.com/cartesia-ai/cookbook/tree/main/examples/pocket-interpreter and follow its AGENTS.md for the commands, files and rules. The server mints a 60 second access token with only the stt and tts grants. The browser streams the microphone to ink-2 on /stt/turns/websocket with @cartesia/cartesia-js, sends each turn to an AI SDK route that replies with the language code and the translation, and speaks it with sonic-3.6 over the TTS WebSocket. Keep the mute gate that sends silence to Ink 2 while Sonic plays. If I don't have a Cartesia API key yet, follow https://www.cartesia.ai/agent-quickstart.md to get one.

Comment ça marche

MicroEnvoie du silence à Ink 2 pendant la lecture d'une traduction
Ink 2Sous-titres en direct, puis un signal quand vous arrêtez de parler
LLMNomme la langue, puis traduit
Sonic 3.6Prononce chaque phrase avec une voix de la langue cible
ÉcranChaque moitié affiche la conversation dans sa propre langue

Pourquoi ça fonctionne ainsi

La traduction démarre avant la fin du tour

Quand vous faites une pause, Ink 2 envoie une première supposition que vous avez peut-être fini, et la page commence tout de suite à traduire. Si vous aviez fini, elle utilise cette traduction. Si vous continuez, elle l'annule et attend la phrase entière.

Le LLM indique qui a parlé

Ink 2 n'indique pas quelle langue il a entendue. La réponse de traduction commence donc par un code de langue sur sa propre ligne. La page utilise ce code pour choisir la voix et le côté de l'écran.

L'app coupe son micro quand elle parle

Pendant la lecture d'une traduction, le micro envoie du silence à Ink 2. Sinon l'app entendrait sa propre voix et la retraduirait, sans fin.

Personnalisez-le

Utilisez une autre voix

La voix de chaque langue est définie dans lib/languages.ts. Choisissez-en d'autres dans la bibliothèque de voix Cartesia, ou utilisez votre propre clone, créé uniquement avec l'accord de la personne.

Changez la façon de traduire

Modifiez lib/prompt.ts pour des traductions formelles ou familières. Gardez le code de langue sur la première ligne de la réponse, car l'app le lit pour choisir la voix.

Réglez la détection de tour

Ink 2 décide quand un tour se termine. Pour qu'il attende plus longtemps ou coupe plus tôt, réglez turn_end_timeout_ms quand l'app ouvre la connexion vocale. Cet appel est dans lib/audio/listener.ts.

Questions

Ma clé API Cartesia est-elle en sécurité ?

Oui. La clé reste sur le serveur. Le navigateur reçoit un token valable 60 secondes, qui sert seulement à transcrire la voix et à synthétiser du texte.

Où va la conversation ?

La parole des deux personnes part chez Cartesia, et le texte de chaque tour chez votre fournisseur de LLM pour la traduction. Prévenez l'autre personne avant de commencer.

Les deux personnes peuvent-elles parler en même temps ?

Non. Il y a un seul micro et un tour à la fois, donc attendez qu'une traduction ait fini de jouer. Vous n'appuyez sur rien entre les tours, car Ink 2 distingue une pause de la fin d'une phrase.

Quelles langues sont prises en charge ?

Deux langues au choix parmi l'anglais, l'espagnol, le français, le hindi et le japonais. Ce sont les langues qu'Ink 2 comprend. Ajouter une autre langue demande un autre modèle de transcription.

Est-ce que ça marche sur un téléphone ?

La mise en page est d'abord pensée pour le téléphone. Elle a été testée dans Chrome sur ordinateur avec une voix enregistrée comme micro, pas sur un vrai téléphone.

Faut-il un casque ?

Non. L'app coupe son propre micro pendant qu'elle parle et un tiers de seconde après. Dans une pièce bruyante, des voix en fond peuvent quand même lancer un tour par erreur.

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 doc sur les événements de tour d'Ink 2 détaille le côté Cartesia.

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.

Contacter les ventes

Commencez à développer.

Accédez à nos modèles via l'API et mettez un agent vocal en production en quelques minutes.

Essayer Cartesia