Music
guaardvark/guaardvark
Generate full songs with vocals or instrumentals (ACE-Step) and sound effects or ambience (Stable Audio Open) on the user's GPU through Guaardvark's Audio Foundry.
Generate sound effects matched to a video using Sonilo — footsteps, impacts, ambience, foley — optionally scripted to specific timed segments, returning either the audio or a new video with the SFX…
$ npx skills add sonilo-ai/skills --skill video-to-sfx -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sonilo-ai/skills video-to-sfx --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/sonilo-ai/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/video-to-sfx .claude/skills/video-to-sfx && 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 "video-to-sfx" agent skill from https://github.com/sonilo-ai/skills/tree/main/video-to-sfx into .claude/skills/video-to-sfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-to-sfx", 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/sonilo-ai/skills/tree/main/video-to-sfxType 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 sonilo-ai/skills --skill video-to-sfx -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sonilo-ai/skills video-to-sfx --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sonilo-ai/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/video-to-sfx .agents/skills/video-to-sfx && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "video-to-sfx" agent skill from https://github.com/sonilo-ai/skills/tree/main/video-to-sfx into .agents/skills/video-to-sfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-to-sfx", 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 sonilo-ai/skills --skill video-to-sfx -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sonilo-ai/skills video-to-sfx --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sonilo-ai/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/video-to-sfx .cursor/skills/video-to-sfx && 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 "video-to-sfx" agent skill from https://github.com/sonilo-ai/skills/tree/main/video-to-sfx into .cursor/skills/video-to-sfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-to-sfx", 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/sonilo-ai/skills.git --path video-to-sfx--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 sonilo-ai/skills --skill video-to-sfx -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sonilo-ai/skills video-to-sfx --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sonilo-ai/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/video-to-sfx .gemini/skills/video-to-sfx && 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 "video-to-sfx" agent skill from https://github.com/sonilo-ai/skills/tree/main/video-to-sfx into .gemini/skills/video-to-sfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-to-sfx", 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 sonilo-ai/skills video-to-sfxInstalls 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 sonilo-ai/skills --skill video-to-sfx -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sonilo-ai/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/video-to-sfx .github/skills/video-to-sfx && 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 "video-to-sfx" agent skill from https://github.com/sonilo-ai/skills/tree/main/video-to-sfx into .github/skills/video-to-sfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-to-sfx", 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 sonilo-ai/skills --skill video-to-sfx -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sonilo-ai/skills video-to-sfx --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sonilo-ai/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/video-to-sfx .opencode/skills/video-to-sfx && 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 "video-to-sfx" agent skill from https://github.com/sonilo-ai/skills/tree/main/video-to-sfx into .opencode/skills/video-to-sfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-to-sfx", 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.
video-to-sfxGenerate sound effects matched to a video using Sonilo — footsteps, impacts, ambience, foley — optionally scripted to specific timed segments, returning either the audio or a new video with the SFX…
Video To Sfx is an agent skill from sonilo-ai/skills. Generate sound effects matched to a video using Sonilo — footsteps, impacts, ambience, foley — optionally scripted to specific timed segments, returning either the audio or a new video with the SFX muxed in. Use when the user has footage that needs sound design. For SFX from a text description alone, use the text-to-sfx skill; for music, use video-to-music.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires Sonilo through either transport — the MCP server connected, or the sonilo CLI installed and signed in — plus credentials: a sonilo login sign-in, the…
It sits in Media & Creative, covering Music and audio generation. It works with Model Context Protocol. The repository describes itself as: Agent skills for Sonilo's licensed music, sound-effects, dubbing, and audio-ducking API. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1ce1bd8. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadWritemcp__sonilo__*From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pipnpmcurlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.sonilo.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SONILO_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Sonilo through either transport — the MCP server connected, or the `sonilo` CLI installed and signed in — plus credentials: a `sonilo login` sign-in, the hosted OAuth plugin, or SONILO_API_KEY. See the setup-api-key skill.
From compatibility in the SKILL.md frontmatter.
Video To Sfx loads about 2.3k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 930 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Write, mcp__sonilo__*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 sonilo-ai/skills at commit 1ce1bd8, republished under its MIT licence (© sonilo-ai). 930 words, ~2,255 tokens.
.claude/skills/video-to-sfx/SKILL.md (or your agent's skills folder).Hand Sonilo a video and it generates sound effects matching what it sees —
footsteps, impacts, ambience, UI sounds, whatever the scene calls for — or pin
specific sounds to specific moments with segments. Generation runs as an async
task on the backend; the tools poll internally and hand back the saved file.
Setup: See the setup-api-key skill.
⚠️ Cost: every tool below makes an API call that may incur charges. Only call it when explicitly requested.
Pick one at the start of the session and stay on it. Do not mix the two inside a single job, and do not announce the choice.
video_to_sfx and friends) — use them. This is the preferred path: it needs no shell, and it is the only one that survives a very long generation. If a call fails to authenticate — rather than failing on its inputs — this transport is not usable in this session: go to 2 instead of retrying it.sonilo account exits 0 — use the CLI commands below. Same API, same account, same credential file. Probe with sonilo account, not sonilo whoami: whoami exits 0 even when signed out, so it cannot tell the two states apart.api.sonilo.com with curl to work around it; both transports handle uploads, polling and retries that a bare request does not.video_to_sfx(
video_path="~/Desktop/action-scene.mp4",
prompt="Footsteps on gravel, distant traffic, a door slam"
)pip install sonilo)from sonilo import Sonilo
client = Sonilo() # reads SONILO_API_KEY
foley = client.video_to_sfx.generate(video="action-scene.mp4", prompt="Footsteps on gravel, distant traffic, a door slam")
foley.save("foley.wav")
# video_to_video_sfx: get the video back with the effects muxed in
video = client.video_to_video_sfx.generate(video="action-scene.mp4", segments=[{"start": 0, "end": 2, "prompt": "footsteps on gravel"}])
video.save("with_sfx.mp4")npm install sonilo)import { SoniloClient } from "sonilo";
const client = new SoniloClient(); // reads SONILO_API_KEY
const foley = await client.videoToSfx.generate({
video: "./action-scene.mp4",
prompt: "Footsteps on gravel, distant traffic, a door slam",
});
// video_to_video_sfx: get the video back with the effects muxed in
const video = await client.videoToVideoSfx.generate({
video: "./action-scene.mp4",
segments: [{ start: 0, end: 2, prompt: "footsteps on gravel" }],
});npm install -g sonilo-cli or pip install sonilo-cli)sonilo video-to-sfx --video action-scene.mp4 --output foley.wavAlways async under the hood — the CLI submits and polls for you. --format accepts wav|mp3|aac|flac.
# the muxed video, from the CLI
sonilo video-to-video-sfx --video clip.mp4 --prompt "footsteps, distant thunder" --output foley.mp4curl -X POST "https://api.sonilo.com/v1/video-to-sfx" \
-H "Authorization: Bearer $SONILO_API_KEY" \
-F "video=@action-scene.mp4" \
-F "prompt=Footsteps on gravel, distant traffic, a door slam"
# -> {"task_id": "..."} poll GET /v1/tasks/{task_id} until status is succeeded/failedEvery call is task-based: the endpoint returns {"task_id": ...} (HTTP 202), and the result is fetched from GET /v1/tasks/{task_id} once status is terminal. The MCP tools do this polling for you and return the saved path directly — you only see the task_id if the call times out (see task-recovery).
| Tool | Description |
|---|---|
video_to_sfx(video_path? | video_url?, prompt?, segments?, audio_format?, output_directory?) | Generate SFX matched to a video. Returns audio only (not the source video). |
video_to_video_sfx(video_path? | video_url?, prompt?, segments?, output_directory?) | Same, but returns a new .mp4 with the SFX muxed in. |
| Parameter | Type | Default | Notes |
|---|---|---|---|
prompt | string | — | Optional overall description (max 2000 chars) — omit it to let Sonilo interpret the video on its own. |
video_path | string | — | .mp4/.mov/.webm/.m4v/.gif (gif must be animated) — a narrower set than the music tools. Max 480s (8 min), subject to the account's upload-size cap. |
video_url | string | — | HTTPS/HTTP URL to a video. Exactly one of video_path/video_url. |
segments | list[dict] | — | Script SFX to specific time ranges: [{"start": float, "end": float, "prompt": str}, ...]. See rules below. Max 30 segments. |
audio_format | string | aac (.m4a) | wav, mp3, aac, or flac. video_to_sfx only (video-to-video always outputs .mp4). |
output_directory | string | SONILO_MCP_BASE_PATH | Absolute, or relative to the base path. |
segments rulesValidated by the backend before any charge — an invalid list is rejected with a 422/400 and nothing is billed:
start must be 0.end must equal the next segment's start.end must be greater than its start.prompt must be non-empty, max 200 chars.end must not exceed the video's actual duration.No prompt is required — the model reads the cut. Quality comes from a time-segmented action map: what is on screen, what it's made of, what it does, second by second. The footage is the source of truth.
Before a paid call: probe the exact duration and existing audio, respect the 480 s cap (over = 422 reject, never truncated), and get sign-off — failed runs auto-refund, but your own retry is a new charge.
prompt/segments unset to let Sonilo read the whole video and decide; use segments when you need specific sounds pinned to specific moments (e.g. a punch landing at 2.3s, a door slam at 5.0s).video_to_video_sfx instead of video_to_sfx.sfx_segments plus a ready-to-use whole-clip sfx_prompt (and a music brief too, unless you pass mode="sfx") — which beats guessing a prompt and rerolling. It is a paid call that generates nothing, so use it when the brief is genuinely unclear — not when the user already told you what they want.Every tool here is async on the backend already; a long generation can still exceed TIME_OUT_SECONDS. If it does, the error carries a task_id — the job keeps running (and is already charged). Call get_sfx_task(task_id) — get_generation_task(task_id) on the hosted server — later to retrieve the result; see task-recovery.
video_to_sfx: saved in the requested audio_format (.wav/.mp3/.flac, or .m4a for the aac default), named from the prompt (slugified) or sfx-<first 8 chars of the task id>.video_to_video_sfx: a single .mp4 with the SFX muxed in.Common errors: 401 invalid key, 402 insufficient balance / trial exhausted, 413 file too large, 422 invalid parameters or malformed segments, 429 rate limit. See the account skill.
© sonilo-ai, MIT. 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 video-to-sfx of sonilo-ai/skills.
Open the folder on GitHubat commit 1ce1bd8
Video To Sfx 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 |
|---|---|---|---|---|---|---|
| Video To Sfx this skillsonilo-ai/skills | 115 | — | ~2.3k | Automated safety check: Notes | MIT | |
| Musicguaardvark/guaardvark | 258 | — | ~710 | Automated safety check: Pass | MIT | |
| Scenario Audioscenario-labs/skills | 946 | — | ~3k | Automated safety check: Pass | MIT | |
| ShowtimeFavioVazquez/showtime | 220 | — | ~3k | Automated safety check: Pass | MIT | |
| BlockrunBlockRunAI/blockrun-mcp | 391 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Videoguaardvark/guaardvark | 258 | — | ~1.2k | Automated safety check: Pass | MIT |
guaardvark/guaardvark
Generate full songs with vocals or instrumentals (ACE-Step) and sound effects or ambience (Stable Audio Open) on the user's GPU through Guaardvark's Audio Foundry.
scenario-labs/skills
A skill your agent uses when generating or handling audio on Scenario via MCP.
FavioVazquez/showtime
A skill your agent uses when the user wants a video made, edited or finished: a launch or promo, product demo, explainer, trailer or teaser, tutorial or walkthrough, a screen recording turned into a…
BlockRunAI/blockrun-mcp
Pay-per-call access to AI models, real-time data, media generation and multi-chain RPC over x402 micropayments (USDC on Base or Solana), or a BlockRun account API key.
guaardvark/guaardvark
Generate video clips on the user's own GPU through Guaardvark: text-to-video, image-to-video, first+last frame animation, clips with their own soundtrack and dialogue (MiniMax H3), short looping…
glifxyz/glif-mcp-server
Make or edit audio and video with Glif, from a text brief or from a reference image, video or audio file.
sonilo-ai/skills
Generate a sound effect from a text description using Sonilo — a UI chime, a whoosh, an impact, ambience, a stylized cue — when there is no video to match.
sonilo-ai/skills
Score a video with original music using Sonilo — the model watches the cut and matches pacing, motion, and emotion, returning either the audio or a new video with the score muxed in.
sonilo-ai/skills
Check the Sonilo account's available services, rate limits, free-trial allowance, and usage/billing history.
sonilo-ai/skills
Duck a music bed under a voice track using Sonilo — automatically lowers the music wherever the voice speaks and lifts it back in the gaps.
sonilo-ai/skills
Play a local audio file through the system's default speakers using Sonilo's MCP server.
sonilo-ai/skills
Dub a video into one or more other languages using Sonilo, translating and re-voicing the speech into a new video per language.
Works with
Categories
Generate sound effects matched to a video using Sonilo — footsteps, impacts, ambience, foley — optionally scripted to specific timed segments, returning either the audio or a new video with the SFX…. Video To Sfx is an agent skill from sonilo-ai/skills. Generate sound effects matched to a video using Sonilo — footsteps, impacts, ambience, foley — optionally scripted to specific timed segments, returning either the audio or a new video with the SFX muxed in.
Video To Sfx fits situations like: the user has footage that needs sound design; tasks that involve Music and audio generation.
Run `npx skills add sonilo-ai/skills --skill video-to-sfx -a claude-code`. Or copy the skill folder (video-to-sfx in sonilo-ai/skills) into .claude/skills/video-to-sfx in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sonilo-ai/skills --skill video-to-sfx -a codex`. Or copy the skill folder (video-to-sfx in sonilo-ai/skills) into .agents/skills/video-to-sfx 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 sonilo-ai/skills --skill video-to-sfx -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/video-to-sfx, .gemini/skills/video-to-sfx, .github/skills/video-to-sfx and .opencode/skills/video-to-sfx in your project.
Going by SKILL.md and its folder, Video To Sfx needs the command-line tools its instructions call (pip, npm and curl) and credentials named SONILO_API_KEY. Our summary lists: Python 3; Node.js; A credential in SONILO_API_KEY. Its frontmatter pre-approves these tools: Bash, Read, Write, mcp__sonilo__*. Compatibility (from SKILL.md): Requires Sonilo through either transport — the MCP server connected, or the `sonilo` CLI installed and signed in — plus credentials: a `sonilo login` sign-in, the hosted OAuth plugin, or SONILO_API_KEY. See the setup-api-key skill..
SKILL.md names 1 domain. In commands or code: api.sonilo.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Video To Sfx is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9k 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 Video To Sfx: Music (guaardvark/guaardvark, 258 stars), Scenario Audio (scenario-labs/skills, 946 stars), Showtime (FavioVazquez/showtime, 220 stars) and Blockrun (BlockRunAI/blockrun-mcp, 391 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sonilo-ai (a GitHub organization) maintains it in sonilo-ai/skills, which has 115 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 9, 2026.
Source: sonilo-ai/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.