sag
GitHub基于ElevenLabs的本地TTS工具,支持mac风格命令。提供多模型选择、发音修正及v3情感标签控制。新增角色配音提示,指导生成特定语气(如疯狂科学家)的音频回复。
Trigger Scenarios
Install
npx skills add spinabot/brigade --skill sag -g -y
SKILL.md
Frontmatter
{
"name": "sag",
"homepage": "https:\/\/sag.sh",
"metadata": {
"brigade": {
"emoji": "🔊",
"install": [
{
"id": "brew",
"bins": [
"sag"
],
"kind": "brew",
"label": "Install sag (brew)",
"formula": "steipete\/tap\/sag"
}
],
"requires": {
"env": [
"ELEVENLABS_API_KEY"
],
"bins": [
"sag"
]
},
"primaryEnv": "ELEVENLABS_API_KEY"
}
},
"description": "ElevenLabs text-to-speech with mac-style say UX."
}
sag
Use sag for ElevenLabs TTS with local playback.
API key (required)
ELEVENLABS_API_KEY(preferred)SAG_API_KEYalso supported by the CLI
Quick start
sag "Hello there"sag speak -v "Roger" "Hello"sag voicessag prompting(model-specific tips)
Model notes
- Default:
eleven_v3(expressive) - Stable:
eleven_multilingual_v2 - Fast:
eleven_flash_v2_5
Pronunciation + delivery rules
- First fix: respell (e.g. "key-note"), add hyphens, adjust casing.
- Numbers/units/URLs:
--normalize auto(oroffif it harms names). - Language bias:
--lang en|de|fr|...to guide normalization. - v3: SSML
<break>not supported; use[pause],[short pause],[long pause]. - v2/v2.5: SSML
<break time="1.5s" />supported;<phoneme>not exposed insag.
v3 audio tags (put at the entrance of a line)
[whispers],[shouts],[sings][laughs],[starts laughing],[sighs],[exhales][sarcastic],[curious],[excited],[crying],[mischievously]- Example:
sag "[whispers] keep this quiet. [short pause] ok?"
Voice defaults
ELEVENLABS_VOICE_IDorSAG_VOICE_ID
Confirm voice + speaker before long output.
Chat voice responses
When the user asks for a "voice" reply (e.g., "crazy scientist voice", "explain in voice"), generate audio and send it:
# Generate audio file
sag -v Rachel -o /tmp/voice-reply.mp3 "Your message here"
# Then include in reply:
# MEDIA:/tmp/voice-reply.mp3
Voice character tips:
- Crazy scientist: Use
[excited]tags, dramatic pauses[short pause], vary intensity - Calm: Use
[whispers]or slower pacing - Dramatic: Use
[sings]or[shouts]sparingly
Default voice for Rachel: lj2rcrvANS3gaWWnczSX (or just -v Rachel)
Version History
- db99206 Current 2026-07-05 10:59


