/videoagent-audio-studio
Tired of juggling multiple audio APIs? This skill gives you one-command access to TTS, music generation, sound effects, and voice cloning. Use when you want to generate any audio without managing multiple API keys.
$ npx -y skills add pexoai/pexo-skills --skill videoagent-audio-studio --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition โ
- You can call itInvoke it directly when you want it.
- Slash command
/videoagent-audio-studio
Context preview
The summary Claude sees to decide when to auto-load this skill.
Tired of juggling multiple audio APIs? This skill gives you one-command access to TTS, music generation, sound effects, and voice cloning. Use when you want to generate any audio without managing multiple API keys.
SKILL.md
videoagent-audio-studio.SKILL.mdname: videoagent-audio-studio
version: 3.0.0
author: "wells"
emoji: "๐๏ธ"
tags:
- video
- audio
- tts
- music
- sfx
- voice-clone
- elevenlabs
- fal
description: >
Tired of juggling multiple audio APIs? This skill gives you one-command access to TTS, music generation, sound effects, and voice cloning. Use when you want to generate any audio without managing multiple API keys.
homepage: https://github.com/pexoai/audiomind-skill
metadata:
openclaw:
emoji: "๐๏ธ"
primaryEnv: ELEVENLABS_API_KEY
requires:
env:
- ELEVENLABS_API_KEY
install:
- id: elevenlabs-mcp
kind: npm
package: "@elevenlabs/mcp"
label: "Install ElevenLabs MCP server"๐๏ธ VideoAgent Audio Studio
**Use when:** User asks to generate speech, narrate text, create a voice-over, compose music, or produce a sound effect.
VideoAgent Audio Studio is a smart audio dispatcher. It analyzes your request and routes it to the best available model โ ElevenLabs for speech and music, fal.ai for fast SFX โ and returns a ready-to-use audio URL.
---
Quick Reference
| Request Type | Best Model | Latency | |---|---|---| | Narrate text / Voice-over | `elevenlabs-tts-v3` | ~3s | | Low-latency TTS (real-time) | `elevenlabs-tts-turbo` | <1s | | Background music | `cassetteai-music` | ~15s | | Sound effect | `elevenlabs-sfx` | ~5s | | Clone a voice from audio | `elevenlabs-voice-clone` | ~10s |
---
How to Use
1. Start the AudioMind server (once per session)
bash {baseDir}/tools/start_server.shThis starts the ElevenLabs MCP server on port 8124. The skill uses it for all audio generation.
2. Route the request
Analyze the user's request and call the appropriate tool via the MCP server:
**Text-to-Speech (TTS)**
When user asks to "narrate", "read aloud", "say", or "create a voice-over":
Use MCP tool: text_to_speech
text: "<the text to narrate>"
voice_id: "JBFqnCBsd6RMkjVDRZzb" # Default: "George" (professional, neutral)
model_id: "eleven_multilingual_v2" # Use "eleven_turbo_v2_5" for low latency
**Music Generation**
When user asks to "compose", "create background music", or "make a soundtrack":
Use MCP tool: text_to_sound_effects (via cassetteai-music on fal.ai)
prompt: "<music description, e.g. 'upbeat lo-fi hip hop, 90 seconds'>"
duration_seconds: <duration>
**Sound Effect (SFX)**
When user asks for a specific sound (e.g., "a door creaking", "rain on a window"):
Use MCP tool: text_to_sound_effects
text: "<sound description>"
duration_seconds: <1-22>
**Voice Cloning**
When user provides an audio sample and wants to clone the voice:
Use MCP tool: voice_add
name: "<voice name>"
files: ["<audio_file_url>"]
---
Example Conversations
**User:** "Voice this text for me: Welcome to our product launch"
โ Route to: text_to_speech
text: "Welcome to our product launch"
voice_id: "JBFqnCBsd6RMkjVDRZzb"
model_id: "eleven_multilingual_v2"
> ๐๏ธ Voiceover done! [Listen here](audio_url)
---
**User:** "Generate 60 seconds of relaxing background music for a podcast"
โ Route to: cassetteai-music (fal.ai)
prompt: "relaxing lo-fi background music for a podcast, gentle piano and soft beats, 60 seconds"
duration_seconds: 60
> ๐ต Background music ready! [Listen here](audio_url)
---
**User:** "Generate a sci-fi style door opening sound effect"
โ Route to: text_to_sound_effects
text: "a futuristic sci-fi door sliding open with a hydraulic hiss"
duration_seconds: 3
---
Setup
Required
Set `ELEVENLABS_API_KEY` in `~/.openclaw/openclaw.json`:
{
"skills": {
"entries": {
"videoagent-audio-studio": {
"enabled": true,
"env": {
"ELEVENLABS_API_KEY": "your_elevenlabs_key_here"
}
}
}
}
}Get your key at [elevenlabs.io/app/settings/api-keys](https://elevenlabs.io/app/settings/api-keys).
Optional (for fal.ai music & SFX models)
"FAL_KEY": "your_fal_key_here"
Get your key at [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys).
---
Self-Hosting the Proxy
The `cli.js` connects to a hosted proxy by default. If you want full control โ or need to serve users in regions where `vercel.app` is blocked โ you can deploy your own instance from the `proxy/` directory.
Quick Deploy (Vercel)
cd proxy
npm install
vercel --prod
Environment Variables
Set these in your Vercel project (Dashboard โ Settings โ Environment Variables):
| Variable | Required For | Where to Get | |---|---|---| | `ELEVENLABS_API_KEY` | TTS, SFX, Voice Clone | [elevenlabs.io/app/settings/api-keys](https://elevenlabs.io/app/settings/api-keys) | | `FAL_KEY` | Music generation | [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys) | | `VALID_PRO_KEYS` | (Optional) Restrict access | Comma-separated list of allowed client keys |
Point cli.js to Your Proxy
export AUDIOMIND_PROXY_URL="https://your-domain.com/api/audio"
Or set it in `~/.openclaw/openclaw.json`:
{
"skills": {
"entries": {
"videoagent-audio-studio": {
"env": {
"AUDIOMIND_PROXY_URL": "https://your-domain.com/api/audio"
}
}
}
}
}Custom Domain (Recommended)
If your users are in mainland China, bind a custom domain in Vercel Dashboard โ Settings โ Domains to avoid DNS issues with `vercel.app`.
---
Model Reference
| Model ID | Type | Provider | Notes | |---|---|---|---| | `eleven_multilingual_v2` | TTS | ElevenLabs | Best quality, supports 29 languages | | `eleven_turbo_v2_5` | TTS | ElevenLabs | Ultra-low latency, ideal for real-time | | `eleven_monolingual_v1` | TTS | ElevenLabs | English only, fastest | | `cassetteai-music` | Music | fal.ai | Reliable, fast music generation | | `elevenlabs-sfx` | SFX | ElevenLabs | High-quality sound effects (up to 22s) | | `elevenlabs-voice-clone` | Clone | ElevenLabs | Clone an
Read more
name: videoagent-audio-studio
version: 3.0.0
author: "wells"
emoji: "๐๏ธ"
tags:
- video
- audio
- tts
- music
- sfx
- voice-clone
- elevenlabs
- fal
description: >
Tired of juggling multiple audio APIs? This skill gives you one-command access to TTS, music generation, sound effects, and voice cloning. Use when you want to generate any audio without managing multiple API keys.
homepage: https://github.com/pexoai/audiomind-skill
metadata:
openclaw:
emoji: "๐๏ธ"
primaryEnv: ELEVENLABS_API_KEY
requires:
env:
- ELEVENLABS_API_KEY
install:
- id: elevenlabs-mcp
kind: npm
package: "@elevenlabs/mcp"
label: "Install ElevenLabs MCP server"๐๏ธ VideoAgent Audio Studio
**Use when:** User asks to generate speech, narrate text, create a voice-over, compose music, or produce a sound effect.
VideoAgent Audio Studio is a smart audio dispatcher. It analyzes your request and routes it to the best available model โ ElevenLabs for speech and music, fal.ai for fast SFX โ and returns a ready-to-use audio URL.
---
Quick Reference
| Request Type | Best Model | Latency | |---|---|---| | Narrate text / Voice-over | `elevenlabs-tts-v3` | ~3s | | Low-latency TTS (real-time) | `elevenlabs-tts-turbo` | <1s | | Background music | `cassetteai-music` | ~15s | | Sound effect | `elevenlabs-sfx` | ~5s | | Clone a voice from audio | `elevenlabs-voice-clone` | ~10s |
---
How to Use
1. Start the AudioMind server (once per session)
bash {baseDir}/tools/start_server.shThis starts the ElevenLabs MCP server on port 8124. The skill uses it for all audio generation.
2. Route the request
Analyze the user's request and call the appropriate tool via the MCP server:
**Text-to-Speech (TTS)**
When user asks to "narrate", "read aloud", "say", or "create a voice-over":
Use MCP tool: text_to_speech text: "<the text to narrate>" voice_id: "JBFqnCBsd6RMkjVDRZzb" # Default: "George" (professional, neutral) model_id: "eleven_multilingual_v2" # Use "eleven_turbo_v2_5" for low latency
**Music Generation**
When user asks to "compose", "create background music", or "make a soundtrack":
Use MCP tool: text_to_sound_effects (via cassetteai-music on fal.ai) prompt: "<music description, e.g. 'upbeat lo-fi hip hop, 90 seconds'>" duration_seconds: <duration>
**Sound Effect (SFX)**
When user asks for a specific sound (e.g., "a door creaking", "rain on a window"):
Use MCP tool: text_to_sound_effects text: "<sound description>" duration_seconds: <1-22>
**Voice Cloning**
When user provides an audio sample and wants to clone the voice:
Use MCP tool: voice_add name: "<voice name>" files: ["<audio_file_url>"]
---
Example Conversations
**User:** "Voice this text for me: Welcome to our product launch"
โ Route to: text_to_speech text: "Welcome to our product launch" voice_id: "JBFqnCBsd6RMkjVDRZzb" model_id: "eleven_multilingual_v2"
> ๐๏ธ Voiceover done! [Listen here](audio_url)
---
**User:** "Generate 60 seconds of relaxing background music for a podcast"
โ Route to: cassetteai-music (fal.ai) prompt: "relaxing lo-fi background music for a podcast, gentle piano and soft beats, 60 seconds" duration_seconds: 60
> ๐ต Background music ready! [Listen here](audio_url)
---
**User:** "Generate a sci-fi style door opening sound effect"
โ Route to: text_to_sound_effects text: "a futuristic sci-fi door sliding open with a hydraulic hiss" duration_seconds: 3
---
Setup
Required
Set `ELEVENLABS_API_KEY` in `~/.openclaw/openclaw.json`:
{
"skills": {
"entries": {
"videoagent-audio-studio": {
"enabled": true,
"env": {
"ELEVENLABS_API_KEY": "your_elevenlabs_key_here"
}
}
}
}
}Get your key at [elevenlabs.io/app/settings/api-keys](https://elevenlabs.io/app/settings/api-keys).
Optional (for fal.ai music & SFX models)
"FAL_KEY": "your_fal_key_here"
Get your key at [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys).
---
Self-Hosting the Proxy
The `cli.js` connects to a hosted proxy by default. If you want full control โ or need to serve users in regions where `vercel.app` is blocked โ you can deploy your own instance from the `proxy/` directory.
Quick Deploy (Vercel)
cd proxy npm install vercel --prod
Environment Variables
Set these in your Vercel project (Dashboard โ Settings โ Environment Variables):
| Variable | Required For | Where to Get | |---|---|---| | `ELEVENLABS_API_KEY` | TTS, SFX, Voice Clone | [elevenlabs.io/app/settings/api-keys](https://elevenlabs.io/app/settings/api-keys) | | `FAL_KEY` | Music generation | [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys) | | `VALID_PRO_KEYS` | (Optional) Restrict access | Comma-separated list of allowed client keys |
Point cli.js to Your Proxy
export AUDIOMIND_PROXY_URL="https://your-domain.com/api/audio"
Or set it in `~/.openclaw/openclaw.json`:
{
"skills": {
"entries": {
"videoagent-audio-studio": {
"env": {
"AUDIOMIND_PROXY_URL": "https://your-domain.com/api/audio"
}
}
}
}
}Custom Domain (Recommended)
If your users are in mainland China, bind a custom domain in Vercel Dashboard โ Settings โ Domains to avoid DNS issues with `vercel.app`.
---
Model Reference
| Model ID | Type | Provider | Notes | |---|---|---|---| | `eleven_multilingual_v2` | TTS | ElevenLabs | Best quality, supports 29 languages | | `eleven_turbo_v2_5` | TTS | ElevenLabs | Ultra-low latency, ideal for real-time | | `eleven_monolingual_v1` | TTS | ElevenLabs | English only, fastest | | `cassetteai-music` | Music | fal.ai | Reliable, fast music generation | | `elevenlabs-sfx` | SFX | ElevenLabs | High-quality sound effects (up to 22s) | | `elevenlabs-voice-clone` | Clone | ElevenLabs | Clone an
A collection of open-source Agent Skills for content creation โ images, audio, and video.
Other skills on pexo-skills.
- /ai-video-generation
Generate AI video from any input โ text, image, or script โ with Pexo. Auto-routes each shot to the best of 10+ models (Seedance, Kling, Veo, Sora, and more), writes the prompts, generates every shot, and returns a finished video with music and subtitles. Use for any AI video
Open skill - /explainer-video
Create an explainer video with narration using Pexo. Describe your product, concept, or process and Pexo writes the script, generates visuals shot by shot, adds TTS voiceover and captions, and assembles a clear, finished explainer. Use for explainer/tutorial content: "explainer
Open skill - /founder-video
Make a founder video with Pexo โ built for solo founders and small teams. Describe your story, product, or pitch (or paste your site) and Pexo writes the script, generates the shots, picks the models, and returns a finished, publish-ready founder video with music โ for
Open skill - /image-to-video
Animate a still image into a finished, moving video with Pexo. Upload a photo and Pexo adds natural motion, camera moves, and transitions, auto-picks the best image-to-video model (Seedance, Kling, Wan, and more), and returns a publish-ready clip with music. Use when the user
Open skill - /launch-video
Make a launch video for your startup or product with Pexo. Describe your product (or paste your landing-page URL or a screenshot) and Pexo writes the script, generates every shot, picks the models, and returns a finished, publish-ready launch video with music โ built for Product
Open skill - /make-a-video
Make a complete video from a simple idea with Pexo. Describe what you want in plain words and Pexo handles everything โ script, shots, model selection, music, subtitles, and final editing โ and returns a publish-ready video. Use when the user just wants to make a video: "make a
Open skill

