cartesia-tts
Installation
SKILL.md
Cartesia TTS
Every voice the agent makes goes through cartesia (~/.local/bin/cartesia, which runs scripts/cartesia.py). It uses the model alias sonic-3.6, the latest stable model. Use --model sonic-3.6-2026-08-27 to pin the snapshot so a re-read sounds the same.
Key: the key is read from ~/.config/cartesia/api_key (folder 700, file 600), or from $CARTESIA_API_KEY. Never print it, never put it in a project file or a commit, and never paste it into a command line.
Ask first, then make
Never make a voice before the user has picked it. Before any read, ask in one message:
- Tool. "Cartesia (default), or another (ElevenLabs, the client's own recording)?" If it's another tool, stop here and follow the user.
- Voice. Suggest 3–5 voices that fit the brief, picked from
cartesia voices. Name the first one as your pick. Download their samples so the user can play them (see the commands below), and give the folder's full path. The user can also paste a voice id from play.cartesia.ai, including a cloned voice (cartesia voices --mine). - Speed (0.6–1.5, default 1.0). The user's ads usually end up at 1.1x in the edit, so ask whether to read at 1.0 and speed up later, or read faster now.
- Emotion, optional. The six most reliable are neutral, calm, content, sad, angry and scared (
cartesia emotions). Inline tags change it mid-script:<emotion value="sad"/>,<speed ratio="0.9"/>,<volume ratio="1.2"/>,[laughter].
When the user wants to hear the choices on their own script, run audition on the first two lines in each candidate voice and wait for their pick. Only then read the whole script.