MoodCast

v1.0.2

Transform any text into emotionally expressive audio with ambient soundscapes using ElevenLabs v3 audio tags and Sound Effects API

3· 2.1k·3 current·3 all-time
byAshutosh Jha@ashutosh887
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
The skill clearly targets ElevenLabs v3 TTS and a Sound Effects API and only asks for an ElevenLabs API key and a few optional MOODCAST_* env vars. One inconsistency: the registry metadata (summary at top) listed no required env vars, while the included SKILL.md and script require ELEVENLABS_API_KEY. This should be reconciled but does not indicate malicious intent.
Instruction Scope
SKILL.md instructs the agent/user to run the included Python script with CLI flags and to provide ELEVENLABS_API_KEY. The runtime instructions and examples reference only TTS, ambient generation, listing voices, and saving/playing files. There are no instructions to read unrelated files, system secrets, or to send data to unexpected endpoints; the only external network calls are to ElevenLabs APIs (as expected).
Install Mechanism
There is no formal install spec, which lowers the baseline risk. The script will attempt to pip-install the 'elevenlabs' package at runtime if it's missing (subprocess calling pip). That is a network operation and writes to disk at runtime — normal for Python scripts but potentially surprising to users. requirements.txt also lists elevenlabs>=1.0.0, which is consistent with the code.
Credentials
The only required secret is ELEVENLABS_API_KEY (declared in SKILL.md and used in the script). Optional MOODCAST_* env vars are sensible defaults. No unrelated credentials, config paths, or broad env access are requested.
Persistence & Privilege
The skill does not request always:true, does not modify other skills, and only suggests (optionally) placing an apiKey in the Moltbot config. It writes temporary audio files and can save outputs when asked, which is expected behavior for a TTS tool.
Assessment
What to consider before installing: 1) This skill sends your provided text to ElevenLabs (TTS and Sound Effects APIs) — any content you process will be transmitted to that service; confirm you're comfortable with that and any privacy/cost implications. 2) You must provide ELEVENLABS_API_KEY; the SKILL.md declares this but the top-level registry metadata omitted it — verify required env vars before installing. 3) The script will attempt to pip-install the 'elevenlabs' package at runtime if missing (network + disk writes) — if you prefer, pre-install dependencies in a controlled environment. 4) The script creates temporary audio files and invokes local audio players (afplay/mpv/ffplay/aplay) when playing audio; these are normal but require appropriate local binaries. 5) Review the code if you plan to provide sensitive text or to add the API key to shared/global config; prefer per-agent or workspace installation and keep the API key scoped and rotated. If you need higher assurance, ask the maintainer to update the registry metadata to declare ELEVENLABS_API_KEY and to provide a vetted release URL or package.

Like a lobster shell, security has layers — review code before you run it.

latestvk97ews9r8evwde4yt8jhdne8sn804mm1
2.1kdownloads
3stars
3versions
Updated 1mo ago
v1.0.2
MIT-0

MoodCast

Transform any text into emotionally expressive audio with ambient soundscapes. MoodCast analyzes your content, adds expressive delivery using ElevenLabs v3 audio tags, and layers matching ambient soundscapes.

When to Use This Skill

Use MoodCast when the user wants to:

  • Hear text read with natural emotional expression
  • Create audio versions of articles, stories, or scripts
  • Generate expressive voiceovers with ambient atmosphere
  • Listen to morning briefings that actually sound engaging
  • Transform boring text into captivating audio content

Trigger phrases: "read this dramatically", "make this sound good", "create audio for", "moodcast this", "read with emotion", "narrate this"

Slash command: /moodcast

Core Capabilities

1. Emotion-Aware Text Enhancement

Automatically analyzes text and inserts appropriate v3 audio tags:

  • Emotions: [excited], [nervous], [angry], [sorrowful], [calm], [happy]
  • Delivery: [whispers], [shouts], [rushed], [slows down]
  • Reactions: [laughs], [sighs], [gasps], [giggles], [crying]
  • Pacing: [pause], [breathes], [stammers], [hesitates]

2. Ambient Soundscape Generation

Creates matching background audio using Sound Effects API:

  • News → subtle office ambiance
  • Story → atmospheric soundscape matching mood
  • Motivational → uplifting background
  • Scary → tense, eerie atmosphere

3. Multi-Voice Dialogue

For conversations/scripts, assigns different voices to speakers with appropriate emotional delivery.

Instructions

Quick Read (Single Command)

python3 {baseDir}/scripts/moodcast.py --text "Your text here"

With Ambient Sound

python3 {baseDir}/scripts/moodcast.py --text "Your text here" --ambient "coffee shop background noise"

Save to File

python3 {baseDir}/scripts/moodcast.py --text "Your text here" --output story.mp3

Different Moods

python3 {baseDir}/scripts/moodcast.py --text "Your text" --mood dramatic
python3 {baseDir}/scripts/moodcast.py --text "Your text" --mood calm
python3 {baseDir}/scripts/moodcast.py --text "Your text" --mood excited
python3 {baseDir}/scripts/moodcast.py --text "Your text" --mood scary

List Available Voices

python3 {baseDir}/scripts/moodcast.py --list-voices

Custom Configuration

python3 {baseDir}/scripts/moodcast.py --text "Your text" --voice VOICE_ID --model eleven_v3 --output-format mp3_44100_128

Emotion Detection Rules

The skill automatically detects and enhances:

Text PatternAudio Tag Added
"amazing", "incredible", "wow"[excited]
"scared", "afraid", "terrified"[nervous]
"angry", "furious", "hate"[angry]
"sad", "sorry", "unfortunately"[sorrowful]
"secret", "quiet", "between us"[whispers]
"!" exclamations[excited]
"..." trailing off[pause]
"haha", "lol"[laughs]
QuestionsNatural rising intonation

Example Transformations

Input:

Breaking news! Scientists have discovered something incredible. 
This could change everything we know about the universe...
I can't believe it.

Enhanced Output:

[excited] Breaking news! Scientists have discovered something incredible.
[pause] This could change everything we know about the universe...
[gasps] [whispers] I can't believe it.

Input:

It was a dark night. The old house creaked. 
Something moved in the shadows...
"Who's there?" she whispered.

Enhanced Output:

[slows down] It was a dark night. [pause] The old house creaked.
[nervous] Something moved in the shadows...
[whispers] "Who's there?" she whispered.

Environment Variables

  • ELEVENLABS_API_KEY (required) - Your ElevenLabs API key
  • MOODCAST_DEFAULT_VOICE (optional) - Default voice ID (defaults to CwhRBWXzGAHq8TQ4Fs17)
  • MOODCAST_MODEL (optional) - Default model ID (defaults to eleven_v3)
  • MOODCAST_OUTPUT_FORMAT (optional) - Default output format (defaults to mp3_44100_128)
  • MOODCAST_AUTO_AMBIENT (optional) - Set to "true" for automatic ambient sounds when using --mood

Configuration Priority: CLI arguments override environment variables, which override hardcoded defaults.

Technical Notes

  • Uses ElevenLabs Eleven v3 model for audio tag support
  • Sound Effects API for ambient generation (up to 30 seconds)
  • Free tier: 10,000 credits/month (~10 min audio)
  • Max 2,400 characters per chunk (v3 supports 5,000, but we split conservatively for reliability)
  • Audio tags must be lowercase: [whispers] not [WHISPERS]

Tips for Best Results

  1. Dramatic content works best - stories, news, scripts
  2. Shorter segments (under 500 chars) sound more natural
  3. Combine with ambient for immersive experience
  4. Roger and Rachel voices are most expressive with v3

Credits

Built by ashutosh887
Using ElevenLabs Text-to-Speech v3 + Sound Effects API
Created for #ClawdEleven Hackathon

Comments

Loading comments...