Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
heygen-com avatar

Media Use

  • 211k installs
  • 39.5k repo stars
  • Updated August 5, 2026
  • heygen-com/hyperframes

media-use is a Claude Code skill that provides comprehensive media asset management, generation, and operations for HyperFrames projects.

About

Media OS for HyperFrames projects: resolves, generates, operates on, and remembers media assets (audio, images, icons, logos, voice). Provides a single `resolve` command for BGM, SFX, images, icons, logos, and voice. Includes integrated audio engine for voiceover, transcription, captions, and background removal. Use for any media need in a HyperFrames project.

  • Resolve and generate media assets (BGM, SFX, images, icons, logos, voice) with single verb
  • Automatic reuse from project and global cache before fetching new assets
  • Integrated audio engine for voiceover, transcription, captions, and background removal

Media Use by the numbers

  • 210,774 all-time installs (skills.sh)
  • +38,403 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #45 of 1,335 Generative Media skills by installs in the Skillselion catalog
  • Security screen: CRITICAL risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

media-use capabilities & compatibility

Capabilities
resolve media · generate audio · generate images · transcribe · background remove
Use cases
image generation · video generation
npx skills add https://github.com/heygen-com/hyperframes --skill media-use

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs211k
repo stars39.5k
Security audit1 / 3 scanners passed
Last updatedAugust 5, 2026
Repositoryheygen-com/hyperframes

How do agents fetch and cache media assets locally?

Media OS for HyperFrames projects: resolves, generates, operates on, and remembers media assets (audio, images, icons, logos, voice). Provides a single `resolve` command for BGM, SFX, images, icons,

Who is it for?

Managing and generating all media types (audio, images, icons, logos, voice) for HyperFrames projects with automatic asset reuse

Skip if: Standalone stock-photo browsing, non-HyperFrames projects, or workflows that already ship all required media assets.

When should I use this skill?

A developer needs any audio, image, icon, voiceover, caption, or media-asset for a HyperFrames composition

What you get

Frozen local media file path, ledger manifest record, and cached asset across project and global stores.

  • Frozen local media files
  • Manifest records
  • Transcriptions

By the numbers

  • 6 media types: bgm, sfx, image, icon, logo, voice
  • Free local providers: Kokoro (voice), mflux (image), LTX (video)
  • Global cache at ~/.media for reuse across projects

Files

SKILL.mdMarkdownGitHub ↗

media-use

Resolve media needs into frozen local files. One verb, four types, zero context noise.

When to use

Call resolve whenever a composition needs media — background music, sound effects, images, or icons. media-use searches the HeyGen catalog, downloads the best match, freezes it locally, and registers it in a manifest. The agent gets back one line; all search noise stays on disk.

Resolve

node <SKILL_DIR>/scripts/resolve.mjs --type <type> --intent "<description>" --project <dir>

Returns one line: resolved <id> → <path> (<type>, <metadata>)

Types

TypeWhat it findsProvider
bgmBackground musicHeyGen audio catalog (10k+ tracks)
sfxSound effectsBundled 19-file library + HeyGen catalog
imagePhotos, backgroundsHeyGen asset search (75k+ vectors)
iconIcons, logosHeyGen asset search (type=icon)

Examples

# Background music
node <SKILL_DIR>/scripts/resolve.mjs --type bgm --intent "upbeat tech launch" --project .
# → resolved bgm_001 → .media/audio/bgm/bgm_001.mp3 (bgm, 25s)

# Sound effect
node <SKILL_DIR>/scripts/resolve.mjs --type sfx --intent "whoosh" --project .
# → resolved sfx_001 → .media/audio/sfx/sfx_001.mp3 (sfx, 0.57s)

# Image
node <SKILL_DIR>/scripts/resolve.mjs --type image --intent "gradient tech background" --project .
# → resolved image_001 → .media/images/image_001.jpg (image)

# Icon
node <SKILL_DIR>/scripts/resolve.mjs --type icon --intent "rocket" --project .
# → resolved icon_001 → .media/images/icon_001.png (icon, transparent)

Flags

FlagDescription
--type, -tMedia type: bgm, sfx, image, icon
--intent, -iWhat you need (natural language)
--entity, -eEntity name for cache matching (optional)
--project, -pProject directory (default: .)
--adoptBulk-import existing assets/ into manifest
--jsonOutput JSON instead of one-line result

How it works

1. Check project .media/manifest.jsonl for exact-prompt match 2. Scan existing assets/ directory for unregistered files matching the need 3. Check global cache ~/.media/ for reusable asset 4. Search via provider (HeyGen audio catalog, HeyGen asset search) 5. Freeze file to .media/<type>/, register in manifest, regenerate index.md

The agent gets back one line. Candidates, scores, provenance stay on disk.

Adopt existing projects

Most HyperFrames projects already have assets in assets/. media-use adopts them:

node <SKILL_DIR>/scripts/resolve.mjs --adopt --project .
# → adopted 9 assets from assets/
#   bgm_001 → assets/bgm/mango-fizz.mp3 (bgm, 146.6s)
#   image_001 → assets/images/avatar.jpg (image, 400×400)

ffprobe extracts real duration and dimensions. During resolve, unregistered files in assets/ matching the intent are adopted on the fly.

Reading the inventory

After resolve or adopt, read .media/index.md for the full inventory:

# .media · 4 assets

id         type   dur   dims       path                          description
bgm_001    bgm    25s   —          .media/audio/bgm/bgm_001.mp3  upbeat tech launch
sfx_001    sfx    0.6s  —          .media/audio/sfx/sfx_001.mp3  whoosh
image_001  image  —     1920×1080  .media/images/image_001.jpg   gradient tech background
icon_001   icon   —     200×200    .media/images/icon_001.png    rocket

Cross-project reuse

Assets are cached automatically on resolve. Subsequent resolves for the same prompt hit the global cache at ~/.media/ — no re-download, no provider call. Promote an asset explicitly with organize --promote <id> to make it reusable across all projects.

Files

  • .media/manifest.jsonl — machine SSOT, one JSON record per line
  • .media/index.md — agent-readable table (id, type, dur, dims, path, description)
  • ~/.media/ — global cross-project reuse cache (content-addressed, SHA-256)

CLI tools used

ToolPurposeRequired?
ffprobeProbe duration, dimensions, codec on adoptYes
heygenAudio catalog, asset searchFor providers

Install the heygen CLI (single static binary, no runtime) and authenticate:

curl -fsSL https://static.heygen.ai/cli/install.sh | bash   # installs latest to ~/.local/bin
heygen update                                               # if already installed: needs >= v0.1.6
export HEYGEN_API_KEY=<your-key>                            # or: heygen auth login --key <key>

Requires heygen >= v0.1.6 — the providers tag requests with the allowlisted --headers 'X-HeyGen-Client-Source: media-use' flag, added in v0.1.6. asset search is a pre-launch command hidden from heygen --help, but it runs. Without a heygen on PATH (or a valid key) the providers print a one-line diagnostic to stderr and resolve falls through to "no provider could resolve".

Related skills

How it compares

Use media-use inside HyperFrames builds for catalog-to-disk resolution; use a general stock-media API integration when not composing with HyperFrames.

FAQ

What media types does media-use resolve?

media-use resolves four types: background music (BGM), sound effects (SFX), images, and icons. Each type uses the same resolve verb with a --type flag and natural-language intent string.

How does media-use keep agent context small?

media-use runs resolve.mjs to search the HeyGen catalog and freeze matches locally. The agent receives one file path per resolve call while catalog search results and intermediates stay on disk.

Is Media Use safe to install?

skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.