Source: heygen-com/hyperframes · Maintainer: HeyGen · License: Apache-2.0 · Checked: 24 October 2026
What is the media-use skill?
media-use is the HyperFrames skill for media: it tells a coding agent how to find or make music, sound effects, images, icons, logos, voiceover, avatar video, transcripts, cutouts and colour grades for a video, and how to mix the audio it places. It is for people building videos with the HyperFrames skill who want the agent to source real assets instead of leaving placeholders.
It lives in heygen-com/hyperframes, HeyGen's open-source framework for rendering HTML to MP4. The description reads: "Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio."
Its skills.sh page listed about 1.09 million installs (snapshot, 24 October 2026), ninth on the all-time leaderboard. The README lists it in the core set with /hyperframes, /hyperframes-cli and /hyperframes-registry.
What does it do?
The SKILL.md is built around one command. Media "lands as a local file in the project's assets/ with a ledger record; renders never fetch." The agent asks for what it needs by type and intent:
npx hyperframes media-use resolve --type <type> --intent "<what you need>" --project <dir>
The result is one line naming the asset id, path, type and metadata. Before making something new, the agent lists reusable assets with --candidates and judges the fit.
Two ways to get each thing. The skill sets out a paid and a free route side by side:
| Need | HeyGen | Free, no account |
|---|---|---|
| Music | Catalog of 10k+ tracks | Local MusicGen |
| Sound effects | Openverse; 21 bundled offline | |
| Images, icons | Asset search, 75k+ | Local FLUX (mflux), if installed |
| Logos | theSVG, GitHub avatar, favicon; never redrawn | |
| Voiceover | HeyGen voices, voice cloning | npx hyperframes tts (Kokoro on device) |
| A presenter speaking | Avatar video | Local LTX for generic clips, if installed |
| Transcripts | npx hyperframes transcribe (Parakeet or whisper) |
|
| Cutouts | heygen background-removal |
npx hyperframes remove-background |
| Grades, LUTs, looks | npx hyperframes media-treatment |
HeyGen setup. For the paid column the agent uses the heygen CLI, signed in with heygen auth login --oauth. The skill says the OAuth session "carries a free allowance on subscription credits," while an API key bills API credits. When a request needs HeyGen and the CLI is missing, the agent explains how to get it, then offers the free path or waits.
Looks on real footage. Feedback that footage is "dark, flat or dull," should feel retro, or needs a face hidden is treated as media intent. The agent inspects the real element, picks one treatment from npx hyperframes media-treatment --capabilities --json, and persists it with the CLI. CSS or SVG stand-ins for supported effects are not allowed.
Offer once. When building or reviewing, the agent scans once for gaps (on-screen text with no voiceover, emoji used as icons, placeholder images, silent cuts, 10 seconds or more with no music, a colour cast) and offers fixes in one ask. "No signal, no suggestion; respect 'leave it'."
What's in the folder:
SKILL.mdand areferences/folder for resolve flags, grading, audio, operations, treatments, provider setup, mixing, local commands and remembered preferences.audio/: references and scripts for music, sound effects, text to speech, transcription and HeyGen voices.scripts/: Node scripts for resolving, transcript cuts, audio ducking, dithering, preferences and recipes.luts/: colour lookup tables with an index.
How do you install it?
media-use is meant to sit beside the main HyperFrames skill, and the README installs them together.
Claude Code plugin. Bundles every published HyperFrames skill:
claude plugin marketplace add heygen-com/hyperframes
claude plugin install hyperframes@hyperframes
Plugin skills are namespaced, so it appears as /hyperframes:media-use. See Claude Code's plugin docs for how marketplaces work.
The core set as standalone skills, from the current main branch:
npx hyperframes skills update
Just this skill, with the command from skills.sh:
npx skills add https://github.com/heygen-com/hyperframes --skill media-use
Standalone installs go into the usual Claude Code skill folders. Codex and Cursor read the same format; see Codex skills and Cursor skills.
Free local voiceover needs Python 3.10 or later with pip install kokoro-onnx soundfile, per the skill. Local models for music, images and video are opt-in installs described in references/setup-providers.md. Check what works with npx hyperframes media-use resolve --doctor.
How do you use it?
You rarely call it directly. The HyperFrames skill hands "any media (a presenter or avatar, footage, voice, music)" to /media-use, so asking for a video with sound or a voiceover is enough. You can name it when the job is only about media.
Example prompts (suggestions, not quotes from the repo):
Add calm background music to the promo in ./launch and duck it under the voiceover.Write and record a 30-second voiceover for this explainer using the free local voice.Replace the emoji in scene 2 with real icons, and use our actual logo from the GitHub org avatar.The office footage in scene 3 looks flat and dull. Give it a warmer grade.Use only free local tools for this video, no HeyGen.
For the last one, the skill documents a --local-only flag that skips every network provider. --provider <name> pins one generator when you name it.
Tips and limits
From the skill and its audits, not from testing:
- Paid calls need a yes. "Confirm before a paid call you chose to make (an avatar video counts); one the person asked for just runs."
- Without HeyGen, some searches fail. The skill says
resolvefor music, images and icons "fails and says so" whenheygenis missing, so expect the agent to offer local generators instead. - Credit what you use. Only CC0 and CC BY sound effects are used, and each CC BY sound is listed in a
CREDITS.mdfile. The sound effects reference says to include those credits wherever the video is published. - Host apps change the rules. If
HEYGEN_API_BASEis set, the host app pays for HeyGen and the agent should not ask you to sign in. - It remembers choices. Confirmed answers such as aspect ratio or voice are saved to
.media/preferences.jsonin the project, and to~/.media/preferences.jsononce confirmed in two projects. - Telemetry is on by default. The scripts send media type, source and provider, linked to your HeyGen account if you sign in. Opt out with
HYPERFRAMES_NO_TELEMETRY=1orDO_NOT_TRACK=1.
Security audits. On skills.sh, Gen Agent Trust Hub showed Pass. Socket showed Warn on 22 October 2026, for one low-severity anomaly: the public-host check in scripts/lib/media-fetch.mjs "does not verify DNS resolution or the actual connected address," and Socket found "No evidence of intentional malicious behavior." Snyk showed Warn on 22 October 2026, rating medium risk for indirect prompt injection because the workflow ingests third-party captions, subtitles and transcripts.
Under Apache-2.0 you can copy and modify the skill if you keep the license and notices.
Save it in your Kipt library
In Kipt, open Skills and paste the GitHub folder link into the import box. Kipt reads the SKILL.md and its subfolders, and because the repo holds several skills it shows a list, so you can take the main hyperframes skill alongside. Your copies sit in your own private GitHub repo and install into Claude Code or Codex with one command:
npx skills add https://github.com/<you>/<repo>.git --all -g
Kipt is not affiliated with HeyGen or the HyperFrames project.
Similar skills
- HyperFrames skill: the main skill that sends media work here.
- HyperFrames slideshow skill: live decks on the same framework.
- Remotion skill: React-based video, with its own approach to audio and assets.
- Slack GIF creator skill: Anthropic's skill for small animated GIFs rather than full videos.