
Media Use
FreeStreamline media handling in HyperFrames projects.
Free · Opens the source repo
What Media Use does
Media Use is designed to be the comprehensive media operating system for HyperFrames projects, allowing users to resolve, generate, operate, and remember various types of media with a single skill. By utilizing the resolve command, users can easily retrieve background music, sound effects, images, icons, logos, voiceovers, and color grades, all while maintaining a clear record of their media assets. This skill is particularly useful for developers and designers who need to manage multiple media types efficiently without the clutter of unnecessary context noise.
The skill supports a variety of media types, including over 10,000 tracks of background music and 75,000 vector images, making it a robust tool for any media project. Users can generate assets on-the-fly using text-to-speech (TTS) or image models when existing catalog items do not meet their needs. Additionally, Media Use provides functionalities for producing voiceovers, transcriptions, and captions, all through a shared audio engine, which simplifies the workflow for projects requiring audio enhancements.
For those looking to improve visual media, Media Use also offers capabilities to operate on media, such as cutting, reframing, and transforming assets. The skill encourages a proactive approach to media opportunities, suggesting improvements based on specific signals detected within the media composition. This feature helps users elevate their projects by identifying areas where additional media can enhance the overall presentation.
In summary, Media Use is an essential tool for developers and designers working with HyperFrames, providing a streamlined process for managing and enhancing media assets across projects. Its comprehensive capabilities ensure that users can focus on creative tasks without getting bogged down by the complexities of media management.
When to use it
Use Media Use when working on HyperFrames projects that require efficient handling of various media types, including audio and visual assets.
When not to use it
This skill may not be suitable for projects that do not involve media management or for users who require extensive custom media creation beyond the provided assets.
What you can build with it
Adding Background Music to a Video
Easily resolve and add background music to enhance the emotional impact of your video projects.
Generating Voiceovers for Presentations
Use TTS capabilities to generate voiceovers for slideshows or video presentations quickly.
Improving Visual Media Quality
Apply color grading and other treatments to improve the visual quality of your media assets.
How to install Media Use
View source1. Install with the skills CLI
npx skills add heygen-com/hyperframes/media-use --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by heygen-commedia-use
The media OS for HyperFrames: resolve · generate · operate · remember — every media type, one skill, zero context noise.
First run: install and sign in to the heygen CLI (the free-usage path), then verify with node <SKILL_DIR>/scripts/resolve.mjs --doctor. Setup and providers: references/setup-providers.md.
Resolve — the one verb
node <SKILL_DIR>/scripts/resolve.mjs --type <type> --intent "<description>" --project <dir>
Returns one line: resolved <id> → <path> (<type>, <metadata>). All search noise stays on disk.
| Type | One-line intent |
|---|---|
bgm | background music (HeyGen catalog, 10k+ tracks) |
sfx | sound effects (bundled 19-file library + catalog) |
image | photos, backgrounds (HeyGen asset search, 75k+ vectors) |
icon | icons, symbols (transparent) |
logo | official brand marks (svgl → simple-icons → GitHub avatar → favicon; never redrawn) |
voice | TTS voiceover (HeyGen free-usage path; optional local Kokoro) |
grade | measured correction candidate; broad polish/stylization follows Media Treatments |
lut | user-provided or explicitly chosen reusable validated .cube file |
Before resolving fresh, list reusable candidates with --candidates and judge fit yourself — reuse rules, all flags, ingest (--from), and adopt are in references/resolve.md.
Treat broad visual feedback as media intent
When a user explicitly asks to fix, polish, stylize, obscure, emphasize, or
reveal photographic media, read references/media-treatments.md even if they
do not name color grading or an effect. Inspect the real <img>/<video>,
choose one primary intent, then use deterministic persistence and verification.
Use a matching recipe as an optional tested seed, or inspect
hyperframes media-treatment --capabilities --json, then request one relevant
family/effect with --capability <id> and assemble a custom treatment from
canonical controls. Never load --all for ordinary authoring. A treatment may
compose correction, a preset, finishing, compatible shader effects, supported
keyframes, and optional Registry overlays. Add only source-justified bounded
tuning and compatible parts, never effects merely to make the result look more
sophisticated. Persist the final combined payload with
hyperframes media-treatment.
Use one progressively escalating workflow. For video, inspect one labeled early/middle/late contact sheet rather than reading frames separately. Apply one candidate and inspect one after-sheet for ordinary correction or polish. Escalate to individual frames or moving draft evidence only when the result is ambiguous, temporal, stylized, LUT-based, HDR/LOG-sensitive, private, or brand-critical.
For ordinary correction or polish, persist the final treatment's
preset/adjustment JSON.
Do not generate a .cube LUT merely to encode exposure, shadows, contrast, or
warmth. Use a LUT only when the user supplies one or the selected treatment
explicitly owns one. resolve --type grade --for ... --analyze is measurement
evidence, not permission to replace the chosen treatment with a generated LUT.
Do not recreate supported vignette, grain, blur, pixelate, color, or treatment
effects with CSS/SVG overlays; that bypasses Studio controls and the canonical
preview/render shader path.
Be proactive — run a media opportunity pass
The human usually can't tell which media would lift the piece. You can. When you build or review a composition, do one grounded scan and then ask once — don't silently add, and don't nag per asset.
Surface an opportunity only when a concrete signal is present:
| Signal detected | Offer |
|---|---|
| On-screen text / a script with no voiceover | TTS voiceover (audio engine) |
Emoji or a <div> styled as an icon | resolve real icons |
| Image that is a placeholder, tiny, or upscaled-looking | a better image (and/or upscale — see references/operations.md) |
| Hard scene cuts / transitions with no sound | transition sfx |
| A piece over ~10s with no music bed | bgm |
| Footage that reads under/over-exposed or color-cast | a corrective grade (inspect it with hyperframes media-treatment --selector '#hero' --analyze --json) |
| Photographic media that feels visually flat or off-topic | one specific source-appropriate preset or custom treatment, with the intended target named |
| A meaningful media entrance/reveal that feels static | one supported seek-safe treatment animation; preserve color unless the request also justifies a preset |
Rules that keep this a help, not nagware: grounded, not generic (no signal → no suggestion); opinionated + concrete (propose the specific fix with defaults chosen — the human approves all / some / none); once per project (one consolidated ask; respect "leave it"); surface, never silently mutate (color grades especially: propose and preview — a gray-world "correction" ruins an intentional sunset or neon look).
Where to look — read only the file your task needs
| Task | Read |
|---|---|
| resolve / reuse / adopt / ingest, flags, cascade, inventory | references/resolve.md |
color grading, LUTs, smart grade (--for), grade-compare | references/grading.md |
| voiceover / TTS, music, SFX, captions, transcription (audio engine) | references/audio.md |
| cut / reframe / transform existing media, exact error diffusion, HEVC | references/operations.md |
| source-aware creative treatments, realtime effects, overlays, reveals | references/media-treatments.md |
install + auth, provider table, RAM ladders, --local-only, --provider | references/setup-providers.md |
| remembered preferences + frozen recipes (user memory) | references/memory.md |
| ownership matrix, usage stats, telemetry, privacy (maintainer-facing) | references/meta.md |
Frequently asked questions about Media Use
Similar skills
HyperFrames
Create HTML-based video content with ease.
Gemini Omni Flash API
Generative video editing and creation with AI.
Talking Head Recut
Enhance videos with dynamic graphic overlays.
Product Launch Video
Create promotional videos from product details effortlessly.
HyperFrames Creative
Design direction for HyperFrames video projects.
Embedded Captions
Add captions to videos without editing footage.
