Generate commercially-licensed music, sound effects, and dubbing from text or video — one API call, no clearance headaches.
Website · Docs · API Platform · X / Twitter · LinkedIn
Hand it a finished video, get back an original score matched to the cut — pacing, motion, and emotion drive the composition, and length matches the video exactly. No prompts, no manual syncing.
▶ Watch an example — an AI-generated trailer scored entirely by video_to_music.
- 🎵
text_to_music— generate a track from a text description (genre, mood, tempo, instrumentation) at an exact duration. - 🔊
video_to_sfx/text_to_sfx— sound effects matched to a video, or generated from a plain-text description. - 🎧
video_to_sound— music and SFX for the same clip in one call, mixed into a single soundtrack. - 🎬
video_to_video_*— the same music / SFX / sound generations, but you get a finished video back with the audio already muxed in. - 🗣️
dubbing— re-voice a video into other languages. - 🎚️
audio_ducking— automatically duck a music bed under a voice track.
Everything is licensed for commercial use.
| Package | Description | |
|---|---|---|
| sonilo-js | Official TypeScript/JavaScript client, CLI, and video-mixing toolkit | |
| sonilo-python | Official Python client (sync + async) and CLI | |
| sonilo-mcp | MCP server for Claude Code, Claude Desktop, and Codex | |
| sonilo-claude-plugin | Sonilo for Claude Code — OAuth-based, no API key to manage | |
| sonilo-codex-plugin | Sonilo for Codex — same hosted MCP, OAuth sign-in | |
| skills | Agent Skills for music, SFX, dubbing, and audio-ducking | |
| n8n-nodes-sonilo | n8n community node for music & SFX in your workflows | |
| godot | In-editor music & SFX generation for Godot 4.2+ |
Both SDK repos also ship a sonilo-cli command (pip install sonilo-cli / npm install -g sonilo-cli) and sonilo-video-kit for local ffmpeg mixing.
Grab an API key from the API Platform — every text/video generation endpoint has free runs to start, no card required.
pip install sonilo # Python
npm install sonilo # JS/TS
claude mcp add sonilo --env SONILO_API_KEY=sks_... -- uvx sonilo-mcp # agents