Install
openclaw skills install @vargai/video-asset-sourcesFind B-roll, stock footage, music, sound effects, motion blocks, lower thirds, transitions, fonts, icons, logos, LUTs and HDRIs that an AI agent can really fetch and legally put in a video. A decision procedure over 97 databases, each tested on 2026-11-03: which ones answer an agent at all, which query works, which license holds, and when to generate instead. Includes 37 tested no-key queries, the traps (easy APIs you cannot use commercially, popular lists that break a license), and a credits file for every asset. Use for "find b-roll", "stock footage for this", "royalty free music", "free sound effects", "whoosh sound", "free video assets", "pexels api", "freesound", "which database should I use", "can I use this clip commercially", or whenever an edit needs a file it does not have. Not for references to study rather than use (find-references) or for the edit itself (edit-footage-with-code).
openclaw skills install @vargai/video-asset-sourcesOf 97 databases we tested, 14 have no route an agent can use and 7 more need a login. Several of the most recommended ones fail in ways that are not visible: the download works and the license does not. So route before you search, and record the license of every file.
python3 <skill>/scripts/record_asset.py --file assets/whoosh.mp3 --source-url <url> --license CC0 --license-url <url>. Paste the credits into the video's description when the license wants one.Timeouts: 15 s for most APIs. 40 s for Openverse, then move on: 13 of 19 timed searches failed even at 40-60 s.
| Need | First | Then | Generate when |
|---|---|---|---|
| Generic B-roll | Pexels API with a key. No key: Mixkit, then Coverr | Pixabay API | The shot names a product, person or place, or 2 queries found nothing matching the line |
| Real-world or archival | Wikimedia Commons. Space and Earth: NASA | Internet Archive, license filter on | Never for a claim of fact. Label a reconstruction, or use a graphic |
| Music bed | A subscription the person holds (Epidemic Sound MCP). No plan: Incompetech if a credit is fine, Mixkit if not | Generated bed: varg mureka_9_5 | Exact length and structure, or no credit line possible |
| Sound effect | Freesound filtered to CC0 | Mixkit, Kenney for UI ticks, HyperFrames' bundled files | A signature sound (ElevenLabs), or a hit that must land on a frame across re-renders |
| Motion block, lower third, transition | HTML project: HyperFrames registry. Remotion: video-shotcraft, remotion-bits, @remotion/transitions | LottieFiles, Herk Edit Kit's draft cards, varg How-To | It must carry your data or brand. Write it, seek-safe. Before any transition: would a hard cut work? |
| Do not know the effect's name | motion-prompt, 192 names | ||
| Reference for pacing | Refs MCP (launch-heavy). Measure with PySceneDetect or hyperframes measure | For a talking head, measure 3 videos your audience watches | |
| Reference for look | FILMGRAB by film title, Motionographer | A person pulls frames from ShotDeck or Frameset | |
| Font | Fontsource | Google Fonts, Fontshare | Never |
| LUT or grade | hyperframes media-treatment, or ffmpeg curves | Lutify.me free, slaycamera/luts, G'MIC | You have a reference frame: a LUT from your own grade has clean rights |
| HDRI, texture, 3D | Poly Haven (CC0) | ambientCG, then 3D Asset Server across 26 sites | Rarely |
| Logo | The brand's press kit | Simple Icons, then SVGL | Never for a real brand. CC0 on a collection is not permission for the trademark |
| Icon | Lucide | Iconify, pinned to one set, license read |
Exact queries: references/tested-queries.md. Every source with its route, license and score: references/all-sources.md.
| Looks fine | Why it is not |
|---|---|
| BBC Sound Effects | A keyless API over 33,066 clips, but RemArc bars commercial use, and an agent never sees that license |
| Freesound, unfiltered | Mixes CC0 with NC and Sampling+. Always filter |
| Internet Archive | About 81% of "ocean" results carry no license URL, and results include broadcast TV |
| Coverr results | user-ai-* and *premium* ids mixed in: 11 of 61 on one page |
| Mixkit | A second, Restricted license sits beside the free one, so check each item |
| unDraw | Its license bars automated search and download, and copied "17 assets" lists tell you to hand it to Claude |
| MusicGen, local | facebook/musicgen-small is CC-BY-NC-4.0, and HyperFrames' free music route can fall back to it |
| video-talkcraft | Listed as free on X, but PolyForm Noncommercial |
| Openverse | The most-saved source on X and HyperFrames' default for SFX, but unreliable when tested. Never a hard dependency |
| Iconify | One API, mixed licenses: 53 of 276 sets are CC BY, 6 GPL, 2 non-commercial |
Also check products, not only videos: Remotion needs a paid company license above 3 employees. GSAP's terms bar visual no-code builders that compete with Webflow, while using it in a video is fine. React Bits bars reselling components.
The full list of 36, with evidence: references/traps.md.
curl -s 'https://api.varg.ai/v2/skills/search?q=QUERY&limit=5'. (Disclosure: varg makes this skill and that catalog. Rank it by what it returns.)The free keys change the answer for B-roll. Ask the person only when the job needs it:
| Key | Unlocks | Where |
|---|---|---|
PEXELS_API_KEY | B-roll search with orientation filters | https://www.pexels.com/api/ |
PIXABAY_API_KEY | B-roll fallback | https://pixabay.com/api/docs/ |
FREESOUND_API_KEY | License filter in an API, with durations | https://freesound.org/apiv2/apply |