Media Use
edenfunf/reelmimic
Agent Media OS, the single skill for every media need in a HyperFrames project.
Finds, generates and edits media for HyperFrames video projects: music, sound effects, images, icons, logos, voiceovers, captions and color grades.
$ npx skills add heygen-com/hyperframes --skill media-use -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install heygen-com/hyperframes media-use --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/heygen-com/hyperframes.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/media-use .claude/skills/media-use && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "media-use" agent skill from https://github.com/heygen-com/hyperframes/tree/main/skills/media-use into .claude/skills/media-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "media-use", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/heygen-com/hyperframes/tree/main/skills/media-useType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add heygen-com/hyperframes --skill media-use -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install heygen-com/hyperframes media-use --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/media-use .agents/skills/media-use && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "media-use" agent skill from https://github.com/heygen-com/hyperframes/tree/main/skills/media-use into .agents/skills/media-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "media-use", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add heygen-com/hyperframes --skill media-use -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install heygen-com/hyperframes media-use --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/media-use .cursor/skills/media-use && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "media-use" agent skill from https://github.com/heygen-com/hyperframes/tree/main/skills/media-use into .cursor/skills/media-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "media-use", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/heygen-com/hyperframes.git --path skills/media-use--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add heygen-com/hyperframes --skill media-use -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install heygen-com/hyperframes media-use --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/media-use .gemini/skills/media-use && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "media-use" agent skill from https://github.com/heygen-com/hyperframes/tree/main/skills/media-use into .gemini/skills/media-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "media-use", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install heygen-com/hyperframes media-useInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add heygen-com/hyperframes --skill media-use -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/media-use .github/skills/media-use && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "media-use" agent skill from https://github.com/heygen-com/hyperframes/tree/main/skills/media-use into .github/skills/media-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "media-use", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add heygen-com/hyperframes --skill media-use -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install heygen-com/hyperframes media-use --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/media-use .opencode/skills/media-use && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "media-use" agent skill from https://github.com/heygen-com/hyperframes/tree/main/skills/media-use into .opencode/skills/media-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "media-use", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
media-useFinds, generates and edits media for HyperFrames video projects: music, sound effects, images, icons, logos, voiceovers, captions and color grades.
media-use acts as the media layer of a HyperFrames project. Its central command, resolve, turns a type and a plain-language intent into a single local file plus a ledger record, keeping search noise on disk. Types include background music and sound effects from the HeyGen catalog and a bundled library, photos, transparent icons, official brand logos, TTS voices, color grades and LUT files.
When the catalog has nothing suitable, it generates audio or images with TTS, music or image models. A shared audio engine produces voiceovers, transcriptions, captions and background removal, and other commands cut, reframe or transform media and reuse assets across projects. Vague feedback such as footage looking flat or needing a retro feel is treated as a request for media treatments. Setup means installing and signing in to the heygen CLI; OAuth sign-in gives a free allowance for voiceovers, while an API key bills credits.
Read from SKILL.md and the folder at commit 3aa6886. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
HyperFrames Media Use loads about 2.4k tokens when it runs, and up to ~29k if it reads all its reference files. Until then it costs about 210 tokens; SKILL.md has 982 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from heygen-com/hyperframes at commit 3aa6886, republished under its Apache-2.0 licence (© heygen-com). 982 words, ~2,414 tokens.
.claude/skills/media-use/SKILL.md (or your agent's skills folder). This skill also uses 116 other files; get the full folder from GitHub.Plugin installs: Before setup or freshness commands, follow plugin execution rules when this skill is inside a HyperFrames plugin. Standalone installs keep the update instructions below.
The media OS for HyperFrames: resolve · generate · operate · remember — every media type, one skill, zero context noise.
Only when HEYGEN_API_BASE is set in your environment (a host app set it and pays for HeyGen with its own key): HeyGen media is already paid for. Do not ask the person to install or sign in to the heygen CLI and do not offer its OAuth allowance; catalog search, TTS and avatar calls here go through the host. When that same host also gives you its own HeyGen tools, use those first. When a call through the host is refused, tell the person the host's message as written (it names the fix, such as adding or replacing the key in the app's Settings) and stop; do not switch to another provider unless they ask.
First run otherwise (no HEYGEN_API_BASE), when you will use HeyGen media (catalog search, TTS, avatar video): install and sign in to the heygen CLI (the free-usage path), then verify with npx hyperframes media-use resolve --doctor. Setup and providers: references/setup-providers.md.
Music and sound effects inside a host app: when the app you run in gives you its own music or sound-effect tools, use those. Without HEYGEN_API_BASE, resolve --type bgm and --type sfx search the HeyGen catalog through the heygen CLI; without it they fail and say so (sfx still answers from its bundled library).
Without HEYGEN_API_BASE, before generating a voiceover or an avatar video, tell the person: signing in to the heygen CLI with OAuth (heygen auth login --oauth) gives a free allowance for TTS voiceover and avatar videos, while an API key bills API credits.
npx hyperframes media-use resolve --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 via the heygen CLI, 10k+ tracks) |
sfx | sound effects (bundled 19-file library + catalog via the heygen CLI) |
image | photos, backgrounds (HeyGen asset search, 75k+ vectors) |
icon | icons, symbols (transparent) |
logo | official brand marks (theSVG → 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.
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.
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).
| 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 |
© heygen-com, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 116 other files (scripts, references) in skills/media-use of heygen-com/hyperframes.
Open the folder on GitHubat commit 3aa6886
HyperFrames Media Use next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| HyperFrames Media Use this skillheygen-com/hyperframes | 59k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Media Useedenfunf/reelmimic | 1.8k | 1 repos | ~2k | Automated safety check: Pass | MIT | |
| Hyperframesscott-fryxell/brayness | 125 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Hyperframes Mediacosmicstack-labs/mercury-agent-skills | 476 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Hyperframes Mediaboraoztunc/skills | 397 | 2 repos | ~3.7k | Automated safety check: Pass | Apache-2.0 | |
| Elevenlabs Core Workflow Bjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.6k | Automated safety check: Pass | MIT |
edenfunf/reelmimic
Agent Media OS, the single skill for every media need in a HyperFrames project.
scott-fryxell/brayness
Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML.
cosmicstack-labs/mercury-agent-skills
Asset preprocessing for HyperFrames compositions — local text-to-speech narration (Kokoro-82M, no API key), audio/video transcription (Whisper), and background removal for transparent overlays…
boraoztunc/skills
Asset preprocessing for HyperFrames compositions — text-to-speech narration (Kokoro), audio/video transcription (Whisper), and background removal for transparent overlays (u2net).
jeremylongshore/tons-of-skills-marketplace
Implement ElevenLabs speech-to-speech, sound effects, audio isolation, and speech-to-text.
chmonitor/chmonitor
Audio and media assets for HyperFrames compositions, produced by one shared audio engine (scripts/audio.mjs) — multi-provider TTS (HeyGen / ElevenLabs / Kokoro local), background music + sound…
heygen-com/hyperframes
Collects motion rules, scene blueprints, transitions and runtime adapters for HyperFrames video compositions, with GSAP as the default animation runtime.
heygen-com/hyperframes
Adds captions to a single-subject talking-head video without editing the footage, from plain subtitles to cinematic text placed behind the speaker.
heygen-com/hyperframes
Turns a weekly changelog markdown file into a branded HyperFrames video with voiceover, animated mock-UI scenes and captions, using fonts, background and scripts bundled in the skill.
heygen-com/hyperframes
Turns an article, notes or a topic brief into an explainer video whose visuals are invented per scene, built frame by frame in HyperFrames with no footage.
heygen-com/hyperframes
Imports Figma assets, brand tokens, components and motion into a HyperFrames video composition, using the Figma REST API with a connector or native export for shaders.
heygen-com/hyperframes
Entry point for making, editing and rendering videos from HTML compositions with HyperFrames, routing each request to the right workflow.
Works with
Categories
Finds, generates and edits media for HyperFrames video projects: music, sound effects, images, icons, logos, voiceovers, captions and color grades. media-use acts as the media layer of a HyperFrames project. Its central command, resolve, turns a type and a plain-language intent into a single local file plus a ledger record, keeping search noise on disk.
HyperFrames Media Use fits situations like: adding background music or sound effects to a HyperFrames video; generating a voiceover and captions for a script; fixing footage that looks dark or flat; pulling an official brand logo into a project.
Run `npx skills add heygen-com/hyperframes --skill media-use -a claude-code`. Or copy the skill folder (skills/media-use in heygen-com/hyperframes) into .claude/skills/media-use in your project. Claude Code loads it when a task matches its description.
Run `npx skills add heygen-com/hyperframes --skill media-use -a codex`. Or copy the skill folder (skills/media-use in heygen-com/hyperframes) into .agents/skills/media-use in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add heygen-com/hyperframes --skill media-use -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/media-use, .gemini/skills/media-use, .github/skills/media-use and .opencode/skills/media-use in your project.
Going by SKILL.md and its folder, HyperFrames Media Use needs the command-line tools its instructions call (npx). Our summary lists: The heygen CLI with sign-in (OAuth or API key); Node.js for npx hyperframes.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
HyperFrames Media Use is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 27k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with HyperFrames Media Use: Media Use (edenfunf/reelmimic, 1.8k stars), Hyperframes (scott-fryxell/brayness, 125 stars), Hyperframes Media (cosmicstack-labs/mercury-agent-skills, 476 stars) and Hyperframes Media (boraoztunc/skills, 397 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
heygen-com (a GitHub organization) maintains it in heygen-com/hyperframes, which has 59,375 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on October 9, 2026.
Source: heygen-com/hyperframes on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.