sag
Original:🇺🇸 English
Not Translated
ElevenLabs text-to-speech with mac-style say UX.
1installs
Sourceheldinhow/openclaw-swarm
Added on
NPX Install
npx skill4agent add heldinhow/openclaw-swarm sagSKILL.md Content
sag
Use for ElevenLabs TTS with local playback.
sagAPI key (required)
- (preferred)
ELEVENLABS_API_KEY - also supported by the CLI
SAG_API_KEY
Quick start
sag "Hello there"sag speak -v "Roger" "Hello"sag voices- (model-specific tips)
sag prompting
Model notes
- Default: (expressive)
eleven_v3 - 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: (or
--normalize autoif it harms names).off - Language bias: to guide normalization.
--lang en|de|fr|... - v3: SSML not supported; use
<break>,[pause],[short pause].[long pause] - v2/v2.5: SSML supported;
<break time="1.5s" />not exposed in<phoneme>.sag
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
- or
ELEVENLABS_VOICE_IDSAG_VOICE_ID
Confirm voice + speaker before long output.
Chat voice responses
When Peter asks for a "voice" reply (e.g., "crazy scientist voice", "explain in voice"), generate audio and send it:
bash
# Generate audio file
sag -v Clawd -o /tmp/voice-reply.mp3 "Your message here"
# Then include in reply:
# MEDIA:/tmp/voice-reply.mp3Voice character tips:
- Crazy scientist: Use tags, dramatic pauses
[excited], vary intensity[short pause] - Calm: Use or slower pacing
[whispers] - Dramatic: Use or
[sings]sparingly[shouts]
Default voice for Clawd: (or just )
lj2rcrvANS3gaWWnczSX-v Clawd