sag
Verifiedby openclaw · Updated Apr 16, 2026
ElevenLabs text-to-speech with mac-style say UX.
See It In Action
Good, sag is installed. Let me prepare the script with the pronunciation adjustments applied and generate the audio.
Flag is --model-id, not --model. Let me fix that.
Audio file is ready at /tmp/outage-update-meridian.mp3 (1.5 MB).
Here's what went into it:
- Used Alex's approved script from
outage-update-script.mdwith all the pronunciation notes applied — "doany.ai" spelled out as "do-any dot A.I.", API names like Workflow Orchestration A.P.I., Skills Invocation A.P.I., and Data Pipeline A.P.I. all articulated clearly, and endpoints read naturally (V 2 workflows execute, etc.) - Roger voice on
eleven_multilingual_v2per the voice config — stable and clear for client-facing comms - Normalization set to
autoso version numbers and times read naturally
The file exists at /tmp/outage-update-meridian.mp3 — let me copy it into the workspace so it's visible there.
outage-update-meridian.mp3 is now in your workspace — 1.5 MB, generated with Roger on eleven_multilingual_v2, all pronunciation notes applied. Ready for the Meridian call.
External Tools
| Tool | Type |
|---|---|
| sag | binary |
Permissions
| Scope | Description |
|---|---|
| filesystem:write | |
| network:outbound | |
| process:spawn | |
| env:read |
SKILL.md
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 Clawd -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 Clawd: lj2rcrvANS3gaWWnczSX (or just -v Clawd)
FAQ
What does sag do?
ElevenLabs text-to-speech with mac-style say UX.
When should I use sag?
Use it when you need a repeatable workflow that produces downloadable file.
What does sag output?
In the evaluated run it produced downloadable file.
How do I install or invoke sag?
openclaw skills install sag
Which agents does sag support?
OpenClaw
What tools, channels, or permissions does sag need?
It uses sag; channels commonly include file; permissions include filesystem:write, network:outbound, process:spawn, env:read.
Is sag safe to install?
Static analysis marked this skill as medium risk; review side effects and permissions before enabling it.
How is sag different from an MCP or plugin?
A skill packages instructions and workflow conventions; tools, MCP servers, and plugins are dependencies the skill may call during execution.
Does sag outperform not using a skill?
About sag
When to use sag
When you want the agent to produce a spoken voice reply as an audio file. When you need ElevenLabs text-to-speech from the command line with voice selection and pronunciation controls. When you want to save generated speech locally for later playback or attachment.
When sag is not the right choice
When you only need plain text responses and no audio output. When the environment cannot install or run the sag CLI or lacks an ElevenLabs API key.
What it produces
Produces downloadable file.
Install
openclaw skills install sagInvoke: Use sag when you want the agent to follow this workflow.