Loudness Standards: Why -14 LUFS?
Prevent platform compressors from squashing your sound with -14 LUFS integrated and -1 dBFS true peak QA.
Organize vector SVG logos, 2x captures, and 22 built-in CC0 sound effects in shared/brands/ for your agent.
The agent can only use your brand if it has your brand. MotionMind keeps it in one place per brand, shared/brands/<brand>/, and keeps sound effects in a catalogue that records where every sound came from. Both exist so the video shows your real logo and plays sounds you're allowed to use.
shared/brands/demo/
├── brand.json name, domain, palette, colour roles
├── logos/ SVG logos (copied into every version)
├── fonts/ .woff2 / .ttf (copied into every version)
└── captures/ product screenshots at 2×
brand.json holds what the agent can't guess. This is the demo brand that ships with MotionMind:
{
"brand": "Demo Coffee",
"domain": "demo.example",
"palette": {
"night": "#0B0F17",
"brand_blue": "#3F6BFF",
"signal_yellow": "#FFEA00",
"paper": "#F4F5F2"
},
"color_logic": {
"blue": "product and the main action",
"yellow": "key words and the CTA only"
},
"fonts": {},
"logo": "logos/demo-logo.svg"
}
The colour roles matter as much as the colours: here, yellow is only for key words and the CTA. The agent reads them when it locks the palette in TASTE.md, and QA checks that the logo comes from logos/ (never redrawn) and the colours from brand.json.
motionmind init copies logos/ and fonts/ into every new version's src/assets/brand/. A version never reads shared/ while rendering, so changing the brand folder later never changes a video you've already rendered. Screenshots in captures/ are copied in by the agent when a scene uses them; they must be real, current, and free of private data.
MotionMind ships 22 sounds, all CC0: free for commercial use with no attribution. Clicks, pops, alerts, a glitch and three chimes come from Kenney's Interface Sounds; whooshes, risers, impacts and the sparkle chime are synthesised by MotionMind. This clip has sound.
motionmind sfx list # every sound: id · length · licence · file
motionmind sfx list --query whoosh # search
motionmind sfx list --unlicensed # what must not ship in commercial work
Point MotionMind at a folder with one sub-folder per category, and scan it:
export MOTIONMIND_SFX=~/sfx # one sub-folder per category: Whooshes/, Clicks/, …
motionmind sfx scan # writes ~/sfx/catalog.json
scan adds a catalogue entry per file. New entries have an empty licence, and --unlicensed lists them until you fill in source and license. Sounds without a licence stay out of commercial videos. Instead of the variable, you can set sfx_library in motionmind.config.json, or use ~/.motionmind/sfx.
{
"id": "whooshes/air",
"file": "Whooshes/air.wav",
"category": "Whooshes",
"duration_s": 0.6,
"source": "",
"license": "",
"tags": [],
"notes": ""
}
A good mix puts a sound on each moment that matters and leaves the rest to the music. The demo above uses three: a pop when the cup appears, a soft whoosh as the headline rises, a chime on the CTA. It measures −13.5 LUFS. The agent copies each sound it uses into the version's src/assets/sfx/, so a later change to the library never alters a rendered video:
<audio id="sfx-pop" class="clip" src="assets/sfx/pop.ogg"
data-start="0.05" data-duration="0.29" data-volume="0.25" data-track-index="11"></audio>
<audio id="sfx-whoosh" class="clip" src="assets/sfx/whoosh-soft.ogg"
data-start="1.1" data-duration="0.8" data-volume="0.2" data-track-index="12"></audio>
<audio id="sfx-chime" class="clip" src="assets/sfx/success.ogg"
data-start="2.58" data-duration="0.54" data-volume="0.25" data-track-index="13"></audio>
The skill's starting levels:
| Event | Sound | Level (data-volume) |
|---|---|---|
| Scene change | soft whoosh, starting 0.1 s before the cut | 0.18–0.25 |
| A word or line appears | a tiny tick or pop, not on every word | 0.06–0.1 |
| Tap or click | click | 0.25–0.35 |
| Result, success | a bright pop or chime | 0.2–0.3 |
| Logo, CTA | the music bell, or one pop | — |
Trim each sound with data-duration, and don't let a tail run into the next cue. Silence is a choice too.
Prevent platform compressors from squashing your sound with -14 LUFS integrated and -1 dBFS true peak QA.
Use motionmind music to create beat-synced background tracks with dynamic sections and auto-ducking.
Understand how MotionMind equips AI agents with a studio-grade video production process and versioned records.
Open your terminal, launch motionmind ui, and brief your AI agent.