Videoagent Audio Studio
pexoai/pexo-skills
Tired of juggling multiple audio APIs?. An agent skill from pexoai/pexo-skills.
Direct ElevenLabs speech, dialogue, sound effects and music — the bracketed audio tags v3 acts on and why the voice decides whether a tag lands, stability as the delivery dial, punctuation instead…
$ npx skills add nodetool-ai/nodetool --skill elevenlabs-audio-prompting -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nodetool-ai/nodetool elevenlabs-audio-prompting --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/system-skills/elevenlabs-audio-prompting .claude/skills/elevenlabs-audio-prompting && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "elevenlabs-audio-prompting" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/elevenlabs-audio-prompting into .claude/skills/elevenlabs-audio-prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "elevenlabs-audio-prompting", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/elevenlabs-audio-promptingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nodetool-ai/nodetool --skill elevenlabs-audio-prompting -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nodetool-ai/nodetool elevenlabs-audio-prompting --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/system-skills/elevenlabs-audio-prompting .agents/skills/elevenlabs-audio-prompting && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "elevenlabs-audio-prompting" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/elevenlabs-audio-prompting into .agents/skills/elevenlabs-audio-prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "elevenlabs-audio-prompting", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nodetool-ai/nodetool --skill elevenlabs-audio-prompting -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nodetool-ai/nodetool elevenlabs-audio-prompting --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/system-skills/elevenlabs-audio-prompting .cursor/skills/elevenlabs-audio-prompting && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "elevenlabs-audio-prompting" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/elevenlabs-audio-prompting into .cursor/skills/elevenlabs-audio-prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "elevenlabs-audio-prompting", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nodetool-ai/nodetool.git --path packages/system-skills/elevenlabs-audio-prompting--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nodetool-ai/nodetool --skill elevenlabs-audio-prompting -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nodetool-ai/nodetool elevenlabs-audio-prompting --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/system-skills/elevenlabs-audio-prompting .gemini/skills/elevenlabs-audio-prompting && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "elevenlabs-audio-prompting" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/elevenlabs-audio-prompting into .gemini/skills/elevenlabs-audio-prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "elevenlabs-audio-prompting", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nodetool-ai/nodetool elevenlabs-audio-promptingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nodetool-ai/nodetool --skill elevenlabs-audio-prompting -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/system-skills/elevenlabs-audio-prompting .github/skills/elevenlabs-audio-prompting && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "elevenlabs-audio-prompting" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/elevenlabs-audio-prompting into .github/skills/elevenlabs-audio-prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "elevenlabs-audio-prompting", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nodetool-ai/nodetool --skill elevenlabs-audio-prompting -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nodetool-ai/nodetool elevenlabs-audio-prompting --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/system-skills/elevenlabs-audio-prompting .opencode/skills/elevenlabs-audio-prompting && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "elevenlabs-audio-prompting" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/elevenlabs-audio-prompting into .opencode/skills/elevenlabs-audio-prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "elevenlabs-audio-prompting", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
elevenlabs-audio-promptingDirect ElevenLabs speech, dialogue, sound effects and music — the bracketed audio tags v3 acts on and why the voice decides whether a tag lands, stability as the delivery dial, punctuation instead…
Elevenlabs Audio Prompting is an agent skill from nodetool-ai/nodetool. Direct ElevenLabs speech, dialogue, sound effects and music — the bracketed audio tags v3 acts on and why the voice decides whether a tag lands, stability as the delivery dial, punctuation instead of SSML for pacing, the per-line dialogue format for several speakers, source-action-space sound-effect briefs with promptinfluence and looping, and the music composition plan that pins a song's sections. Use whenever the model id names an ElevenLabs generation endpoint (fal-ai/elevenlabs/tts/eleven-v3…
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative, covering Text to speech and voice and Music and audio generation. It works with ElevenLabs and fal. The repository describes itself as: Agent-first Creative Workspace. The licence is AGPL-3.0.
Read from SKILL.md and the folder at commit fefb6d1. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
elevenlabs.ioFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Elevenlabs Audio Prompting loads about 1.9k tokens when it runs. Until then it costs about 235 tokens; SKILL.md has 959 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from nodetool-ai/nodetool at commit fefb6d1, republished under its AGPL-3.0 licence (© nodetool-ai). 959 words, ~1,927 tokens.
.claude/skills/elevenlabs-audio-prompting/SKILL.md (or your agent's skills folder).The text is the smallest part of an ElevenLabs request. What decides whether it sounds directed is the voice you picked, the stability you set, and the tags and punctuation carrying the performance.
Reach speech with find_model for text_to_speech, then generate_speech;
music with find_model for text_to_music, then generate_music. The
sound-effects endpoint is not in either catalog — run its node with
search_nodes and invoke_node.
A tag only does what the voice can already do. [shouts] on a voice trained on
soft narration produces a slightly louder narration. Pick a voice whose range
covers the delivery you want, then direct within it.
The single most consequential setting. ElevenLabs exposes it as three named settings; the numeric APIs take the same three values, and the dialogue endpoint rounds anything else to the nearest of them.
| Value | Behaviour | Use for |
|---|---|---|
| 0.0 — creative | Most expressive, most responsive to tags, occasional hallucination | Character work, dialogue, anything with [whispers] or [laughs] |
| 0.5 — natural | Balanced, closest to the reference recording | Narration, most production reads |
| 1.0 — robust | Very consistent, largely ignores directional tags | Long documents, repeated renders that must match |
At 1.0 your tags stop working. If a tag is being ignored, check stability before rewriting the tag.
Bracketed, inline, and they act from that point in the line. They are a v3 feature: on multilingual-v2, turbo and flash there is nothing to act on them, and punctuation plus sentence structure are the only direction you have.
[whispers], [shouts], [sarcastic], [curious],
[excited], [mischievously][laughs], [sighs], [crying], [clears throat],
[snorts][applause], [clapping], [gunshot], [explosion][sings], [strong French accent]Punctuation carries the rest, and v3 does not support SSML break tags. Ellipses are pauses and hesitation, capitals are emphasis, ordinary commas and full stops set the rhythm:
[sighs] It was a VERY long day … nobody listens any more. [quietly] Maybe that's the point.
Give the model a few sentences rather than a fragment. Short isolated lines
deliver inconsistently because there is no context to read the register from.
language_code forces a language when the text alone is ambiguous.
The dialogue endpoint takes a list of inputs, each with its own text and
voice, rather than one block of text with names in it. Tag each line for its
own delivery, and write interruptions as they happen:
[Ana, voice A] "You said you'd call." [flat]
[Ruben, voice B] [defensive] "I did — twice —"
[Ana, voice A] [cutting in] "Once. And you hung up."Distinct voices per speaker is what makes it a conversation; the same voice twice reads as one person talking to themselves.
Brief them as source, action and space: what makes the sound, what happens to it, and the room it happens in.
A heavy oak door swinging shut and latching in a stone corridor, long natural reverb tail, close mic on the latch.
duration_seconds runs 0.5–22; leave it unset and the model infers a length
from the prompt. Impacts want 1–3 s, beds want 10–20 s.prompt_influence defaults to 0.3. Raise it toward 1 to follow the brief
closely and lose variation; lower it when you want takes to choose from.loop makes the tail blend into the head — the setting for ambience and game
audio, and pointless for a one-shot.A prompt gets you a track: genre, instrumentation with character, tempo in bpm, emotional arc, and what it is for.
Fast-paced electronic chase cue for a game trailer, driving synth arpeggios, punchy drums, distorted bass, rising tension with abrupt transitions, 130–150 bpm.
When the structure matters more than the vibe, send a composition_plan
instead: an ordered list of sections, each with its own durationMs,
positiveStyles and negativeStyles. That is what makes an intro stay sparse
and a drop actually land where you wanted it. respect_sections_durations
enforces those lengths; music_length_ms applies only to the prompt path.
force_instrumental guarantees no vocal — without it, a prompt that does not
mention vocals may still come back sung.
Naming an artist, a band or copyrighted lyrics is rejected outright; the error carries a rephrasing suggestion. Describe the sound instead of the reference.
| What went wrong | What to change |
|---|---|
| Tags do nothing | Lower stability to 0.5 or 0.0, and check the voice can do that delivery |
| The read is flat | Add punctuation and a delivery tag; stop relying on the words alone |
| Pauses are ignored | Use ellipses and line structure — SSML breaks are not supported |
| Two speakers sound the same | Assign a different voice per inputs entry |
| The effect is too variable | Raise prompt_influence, and set an explicit duration |
| A loop clicks | Set loop true and regenerate rather than trimming |
| A song ignores its structure | Move from a prompt to a composition_plan |
| The prompt was refused | Remove artist and band names; describe the sound |
Check the result with analyze_audio and detect_audio_events rather than
listening through it, and transcribe_audio when you need to prove the words
landed as written.
A voice or a bed from here is the "track of your own" build in
video-audio-continuity: it goes on its own audio track and the generated
clips are muted under it, which is what lets a multi-scene piece keep one
continuous mix. For a storyboard's script, voice_script_lines voices every
line in one call, each with its own voice, instead of one generate_speech
per line. A bed built from a composition_plan has sections of known length,
which is the grid beat-sync-editing cuts to; a sound-effect hit is what
logo-reveal times a sting against. motion-graphics carries the timeline ops
that lay the clip down.
Adapted from the ElevenLabs prompting documentation for Eleven v3, sound effects and music: https://elevenlabs.io/docs/best-practices/prompting/eleven-v3 https://elevenlabs.io/docs/overview/capabilities/sound-effects https://elevenlabs.io/docs/eleven-api/guides/cookbooks/music.md
© nodetool-ai, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in packages/system-skills/elevenlabs-audio-prompting of nodetool-ai/nodetool.
Open the folder on GitHubat commit fefb6d1
Elevenlabs Audio Prompting next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Elevenlabs Audio Prompting this skillnodetool-ai/nodetool | 560 | — | ~1.9k | Automated safety check: Pass | AGPL-3.0 | |
| Videoagent Audio Studiopexoai/pexo-skills | 804 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Musictadaspetra/loop | 296 | 2 repos | ~827 | Automated safety check: Pass | MIT | |
| ElevenLabs Voiceover Generatordigitalsamba/claude-code-video-toolkit | 2.2k | 1 repos | ~2.7k | Automated safety check: Notes | MIT | |
| Sound Effectstadaspetra/loop | 296 | 2 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Hyperframes Mediachmonitor/chmonitor | 301 | 1 repos | ~2.8k | Automated safety check: Notes | GPL-3.0 |
pexoai/pexo-skills
Tired of juggling multiple audio APIs?. An agent skill from pexoai/pexo-skills.
tadaspetra/loop
Generate music using ElevenLabs Music API. An agent skill from tadaspetra/loop.
digitalsamba/claude-code-video-toolkit
Generates narration, sound effects and cloned voices through the ElevenLabs API, with model and setting choices tuned to the content's style.
tadaspetra/loop
Generate sound effects from text descriptions using ElevenLabs.
chmonitor/chmonitor
Audio and media assets for HyperFrames compositions, produced by one shared audio engine (scripts/audio.mjs) — multi-provider TTS (HeyGen / ElevenLabs / Kokoro local), background music + sound…
mikeOnBreeze/cc-crossbeam
This skill enables AI video generation from images AND text-to-speech voiceover generation using Fal.ai's API.
nodetool-ai/nodetool
Cut a NodeTool timeline to music and shape its pacing — detect the beat grid, place cuts on phrases, pick a cut type, build speed ramps with time remap, and give the piece an arc.
nodetool-ai/nodetool
Add and animate a consistent text layer on an existing NodeTool timeline.
nodetool-ai/nodetool
Choose and animate colour on a NodeTool timeline, including shape and text gradients, colour grades, 3D LUTs, and dither.
nodetool-ai/nodetool
Write a shootable, precisely timed commercial beat sheet and store it as a NodeTool storyboard, with a consistent entity roster behind every shot.
nodetool-ai/nodetool
Stage the frame on a NodeTool timeline — grids, focal placement, safe areas per aspect ratio, depth layers and parallax, camera moves, and where elements enter and leave.
nodetool-ai/nodetool
Prompt OpenAI's GPT Image 2 — the five-slot Scene/Subject/Details/Use case/Constraints template it responds to, the change-versus-preserve shape for edits, labelled multi-image compositing, and how…
Works with
Categories
Direct ElevenLabs speech, dialogue, sound effects and music — the bracketed audio tags v3 acts on and why the voice decides whether a tag lands, stability as the delivery dial, punctuation instead…. Elevenlabs Audio Prompting is an agent skill from nodetool-ai/nodetool. Direct ElevenLabs speech, dialogue, sound effects and music — the bracketed audio tags v3 acts on and why the voice decides whether a tag lands, stability as the delivery dial, punctuation instead of SSML for pacing, the per-line dialogue format for several speakers, source-action-space sound-effect briefs with promptinfluence and looping, and the music composition plan that pins a song's sections.
Elevenlabs Audio Prompting fits situations like: the model id names an ElevenLabs generation endpoint (fal-ai/elevenlabs/tts/eleven-v3; fal-ai/elevenlabs/tts/multilingual-v2; fal-ai/elevenlabs/text-to-dialogue/eleven-v3; fal-ai/elevenlabs/sound-effects/v2.
Run `npx skills add nodetool-ai/nodetool --skill elevenlabs-audio-prompting -a claude-code`. Or copy the skill folder (packages/system-skills/elevenlabs-audio-prompting in nodetool-ai/nodetool) into .claude/skills/elevenlabs-audio-prompting in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nodetool-ai/nodetool --skill elevenlabs-audio-prompting -a codex`. Or copy the skill folder (packages/system-skills/elevenlabs-audio-prompting in nodetool-ai/nodetool) into .agents/skills/elevenlabs-audio-prompting in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nodetool-ai/nodetool --skill elevenlabs-audio-prompting -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/elevenlabs-audio-prompting, .gemini/skills/elevenlabs-audio-prompting, .github/skills/elevenlabs-audio-prompting and .opencode/skills/elevenlabs-audio-prompting in your project.
SKILL.md names no scripts, command-line tools or credentials: Elevenlabs Audio Prompting is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: elevenlabs.io. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Elevenlabs Audio Prompting is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Elevenlabs Audio Prompting: Videoagent Audio Studio (pexoai/pexo-skills, 804 stars), Music (tadaspetra/loop, 296 stars), ElevenLabs Voiceover Generator (digitalsamba/claude-code-video-toolkit, 2.2k stars) and Sound Effects (tadaspetra/loop, 296 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nodetool-ai (a GitHub organization) maintains it in nodetool-ai/nodetool, which has 560 GitHub stars. The repository holds 127 skills in this directory. The repository was last updated on October 11, 2026.
Source: nodetool-ai/nodetool on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.