Kipt

media-use skill: music, voiceover, images and grades for HyperFrames videos

The media-use skill has your agent find or make music, voiceover, images, logos, avatars and grades for HyperFrames videos, with HeyGen or free local tools.

By the Kipt team · Updated 24 October 2026

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.md and a references/ 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 resolve for music, images and icons "fails and says so" when heygen is 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.md file. The sound effects reference says to include those credits wherever the video is published.
  • Host apps change the rules. If HEYGEN_API_BASE is 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.json in the project, and to ~/.media/preferences.json once 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=1 or DO_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

Questions

What is the media-use skill?

media-use is one of the core Agent Skills in HeyGen's open-source HyperFrames repo. It tells a coding agent how to get or make any media a HyperFrames video needs, such as music, sound effects, images, logos, voiceover, avatar video, transcripts, cutouts and colour grades, and how to mix placed audio. Everything lands as a local file in the project's assets folder.

Do I need a HeyGen account to use media-use?

No. The skill has a free column for every media type that needs no account, using tools such as local MusicGen, Openverse, Kokoro text to speech and Parakeet or whisper transcription. HeyGen is needed for its music catalog, image search, HeyGen voices, voice cloning and avatar videos, through the heygen CLI.

How do I install the media-use skill?

Run npx hyperframes skills update to install the HyperFrames core set, which includes media-use, or npx skills add https://github.com/heygen-com/hyperframes --skill media-use for this skill alone. In Claude Code, the hyperframes plugin bundles it with the other HyperFrames skills.

Does media-use send telemetry?

Yes. Its scripts print a one-time notice that they send usage telemetry about media type, resolution source and provider, never intent text, file names or paths. If you sign in to HeyGen, usage links to your account. You can opt out with HYPERFRAMES_NO_TELEMETRY=1 or DO_NOT_TRACK=1.

Why did skills.sh show a Warn for media-use?

On 22 October 2026 Socket flagged a low-severity anomaly in scripts/lib/media-fetch.mjs: its public-host check does not verify the address a hostname resolves to, so an internal address could slip past its SSRF guard. It noted no sign of malicious behavior. Snyk flagged medium indirect prompt injection risk because the workflow reads third-party captions and transcripts.

More in Skill directory

All guides

Keep your prompts and skills in one place, in your own GitHub. Install every skill with one command.

Get started

Kipt is an independent product, not affiliated with or endorsed by Anthropic, OpenAI, Cursor or GitHub. Claude, ChatGPT, Codex, Cursor and GitHub are trademarks of their owners.