mcpField
M
media-use

media-use

github.com/heygen-comCreative & media74.7k1.2M installsUpdated today
Repository

About media-use

A HyperFrames skill for finding, creating, importing, and treating media assets in video projects. It describes HeyGen and free local or offline options, with guidance for choosing assets and applying footage treatments.

Key features

  1. 01Resolve and reuse project assets
  2. 02Ingest media into local assets
  3. 03Choose HeyGen or free providers
  4. 04Generate voice, music, and visuals
  5. 05Apply footage treatments

Use cases

  1. 01Find a logo or image for a composition
  2. 02Create voiceover or background music
  3. 03Treat footage with grading or effects

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/heygen-com/hyperframes --skill media-use

After installing, type/media-usein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

.gitignore
audio/assets/sfx/
CREDITS.md
manifest.json
audio/references/
requirements.md
bgm.md
remove-background.md
sfx.md
transcribe.md
tts-to-captions.md
tts.md
audio/references/captions/
transcript-handling.md
motion.md
authoring.md
audio/scripts/
audio.test.mjs
audio.mjs
gemini-pipeline.test.mjs
heygen-tts.test.mjs
carve.mjs
heygen-tts.mjs
heygen-voice.mjs
heygen-voice.test.mjs
carve.test.mjs
extract-audio-data.py
audio/scripts/lib/
audio-meta.mjs
audio-meta.test.mjs
bgm-volume.mjs
concurrency.test.mjs
concurrency.mjs
bgm.test.mjs
gemini-tts.mjs

Details

From the project README

Plugin installs: Before setup or freshness commands, follow plugin execution rules when this skill is inside a HyperFrames plugin.

Media in HyperFrames

Media lands as a local file in the project's assets/ with a ledger record; renders never fetch. One verb finds or makes it:

npx hyperframes media-use resolve --type <type> --intent "<what you need>" --project <dir>

It prints one line, resolved <id> → <path> (<type>, <metadata>). List reusable assets first with --candidates and judge the fit yourself; reuse, ingest (--from) and adopt are in references/resolve.md.

Two ways to get it

NeedHeyGen (best quality)Free, no account
Music (bgm)Catalog of 10k+ tracksLocal MusicGen (audio/references/bgm.md)
Sound effects (sfx)Openverse; 21 bundled offline
Images, iconsAsset search, 75k+Local FLUX (mflux), if installed
Logos (logo)theSVG, GitHub avatar, favicon; never redrawn
Voiceover (voice)HeyGen voices, voice cloningnpx hyperframes tts (Kokoro on device; Python 3.10+ with pip install kokoro-onnx soundfile)
A presenter speakingAvatar video (--type video)Local LTX for generic clips, if installed
Transcriptsnpx hyperframes transcribe (Parakeet or whisper)
Cutoutsheygen background-removalnpx hyperframes remove-background
Grades, LUTs, looksnpx hyperframes media-treatment

Host apps. Inside an app that gives you its own media tools, use those first. When HEYGEN_API_BASE is set, the host pays for HeyGen: don't ask for the heygen CLI or a sign-in, and when a call is refused, relay the host's message as written and stop.

HeyGen. Install the heygen CLI and sign in with heygen auth login --oauth: the OAuth session carries a free allowance on subscription credits; an API key (--api-key) bills API credits. Check setup with npx hyperframes media-use resolve --doctor. When a request needs HeyGen (a presenter or avatar, a HeyGen voice, catalog music) and heygen is missing or signed out, tell the person how to get it: the install link, heygen auth login --oauth for the free allowance, or an API key for credits. Then offer the free path or wait. Beyond resolve, the same CLI makes text-to-video (heygen video-agent create), avatar videos with a recorded track (heygen video create), cloned voices (heygen voice clone create), dubbing (heygen lipsync), translated videos (heygen video-translate) and short clips from a long video (heygen ai-clipping): recipes in references/operations.md.

Free. Every tool in the free column needs no account; local models are opt-in installs (references/setup-providers.md). Without heygen, resolve for music, images and icons fails and says so; credit CC BY sounds (audio/references/sfx.md). --local-only skips every network provider.

Cost. Confirm before a paid call you chose to make (an avatar video counts); one the person asked for just runs. --provider <name> pins one generator when the person names it.

Looks on real footage

Feedback that footage is dark, flat or dull, should feel retro or printed, needs a face hidden, or needs a reveal is media intent: read references/media-treatments.md. Inspect the real <img>/<video>, pick one intent, start from npx hyperframes media-treatment --capabilities --json, then --capability <id>; never --all. Persist the final treatment with npx hyperframes media-treatment; no CSS or SVG stand-ins for supported effects, and no generated .cube just to encode exposure or warmth.

Offer once, never add silently

When you build or review a piece, scan once for concrete gaps (on-screen text with no voiceover, emoji standing in for icons, placeholder images, silent cuts, 10 s+ with no music, a colour cast) and offer the specific fixes in one ask. No signal, no suggestion; respect "leave it".

Where to look

TaskRead
Resolve, reuse, adopt, ingest, flagsreferences/resolve.md
Grading, LUTs, grade-comparereferences/grading.md
Voiceover, music, sound effects, captions, transcriptionreferences/audio.md
Cut, reframe or transform media; HeyGen recipesreferences/operations.md
Treatments, realtime effects, overlays, revealsreferences/media-treatments.md
Install, sign-in, providers, RAM laddersreferences/setup-providers.md
Fades, gain, ducking, automation, effects, buses on placed tracksreferences/mixing.md
Local commands: grade, cutout, loudness, beatsreferences/local.md
Remembered preferencesreferences/memory.md

Comments

Markdown supported