media-use

Resolve, generate, and manage BGM, SFX, images, icons, logos, voiceovers, and color grades for HyperFrames video projects.

Updated Jul 22, 2026
One-click install
npx skills add https://github.com/Chau165/local_skill --skill media-use-chau165
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: media-use
Source: https://github.com/Chau165/local_skill/tree/main/codex/skills/media-use
Command: npx skills add https://github.com/Chau165/local_skill --skill media-use-chau165

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Video compositions often ship with placeholder boxes, emoji icons, or missing audio because sourcing real media is tedious. This Skill resolves every media type—music, sound effects, images, icons, brand logos, TTS voiceovers, and color grades—into frozen local files with ledger records, so HyperFrames projects use real assets instead of HTML/SVG stand-ins. ## Core Features & Use Cases - One-verb media resolution: Run resolve.mjs --type <bgm|sfx|image|icon|logo|voice|grade|lut> with a natural-language intent to fetch catalog assets (HeyGen 10k+ tracks, 75k+ vectors), reuse cached files, or generate missing assets, all recorded in a project ledger. - Color grading and media treatments: Apply preset or parametric LUT grades, source-aware treatment recipes (VHS, camcorder, halftone, ASCII, dither), and seek-safe animated effects through the hyperframes media-treatment CLI with before/after contact-sheet verification. - Audio engine and operations: Produce TTS voiceovers with word timestamps, duck background music under narration via GSAP keyframes, transcribe with Parakeet, and transform media with exact error-diffusion dithering for images and MP4 video. - Use Case: While building a product promo video, run one resolve command per asset to fetch licensed background music, transition SFX, and brand logos, then apply a restrained Product Polish grade to the footage and generate a TTS voiceover—all assets frozen locally and tracked in .media/manifest.jsonl. ## Quick Start Ask the agent to resolve background music, sound effects, images, or a voiceover for your HyperFrames project by describing the media you need in one sentence.

Frequently Asked Questions about media-use

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add background music and sound effects to a HyperFrames video?

Run resolve.mjs with --type bgm or --type sfx and a one-line intent description. The script searches the HeyGen catalog of 10k+ music tracks and a bundled SFX library, freezes the chosen file locally, and records it in the project media ledger.

How do I color grade video footage with LUTs?

Use resolve.mjs --type grade with an intent like "warm daylight" to get a preset payload, then apply it with hyperframes media-treatment. For reusable looks, resolve --type lut freezes a validated .cube file; never read the .cube body directly into context.

Does media-use work offline or without a HeyGen account?

Partially. LUT entries with params fallbacks, the bundled SFX library, and cached assets work with --local-only. Catalog search and TTS require the heygen CLI to be installed and signed in; run resolve.mjs --doctor to verify provider availability.

Can I generate TTS voiceovers with word-level timestamps for captions?

Yes. The audio engine takes an audio_request.json with text lines and produces audio_meta.json containing voice file paths, durations, and word timestamps for captions. HeyGen CLI auth unlocks the free TTS path, with an optional local Kokoro alternative.

Why does the dither script reject HDR or HLG video input?

The dither processor is an 8-bit SDR error-diffusion pipeline, so it rejects PQ (smpte2084) and HLG (arib-std-b67) sources rather than silently producing wrong output. Tone-map the footage to Rec.709 first, then run dither.mjs.

When should I use a media treatment recipe instead of a generic LUT?

Use a treatment recipe for named stylization like VHS, camcorder, halftone, ASCII, or film memory—these compose validated shader effects that a LUT cannot reproduce. Reserve plain LUTs for reusable color transforms, and never generate a .cube just to encode exposure or contrast adjustments.