# Media Use > Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Also use for vague feedback that real footage looks dark, flat, boring, should feel retro/camcorder/print/ASCII, needs privacy, or needs a media reveal. Source: https://skillsagentes.com/skills/heygen-com/hyperframes/media-use Repository: https://github.com/heygen-com/hyperframes Author: heygen-com License: Apache-2.0 Updated: hace 4 días Context cost: 158 tok installed, 2k tok once triggered, 517k tok with every bundled file Bundle: 152 files, 2.0 MB Permissions requested: none declared ## Install ```bash npx -y skills add heygen-com/hyperframes --skill media-use --agent claude-code ``` ## What it does - Resolves BGM, SFX, images, icons, brand logos, voices, color grades, or LUTs into a frozen local file or paste-ready block via one `resolve` verb - Generates via TTS / music / image models when the catalog misses an asset - Produces voiceover, transcription, captions, and background removal via a shared audio engine - Operates on media (cut / reframe / transform) and reuses assets across projects - Runs a proactive media opportunity pass, surfacing one grounded suggestion per project ## Use it when - Any media need in a HyperFrames project: BGM, SFX, image, icon, logo, voice, color grade, or LUT - Vague feedback that footage looks dark, flat, boring, or should feel retro/camcorder/print/ASCII - Footage needs privacy handling or a media reveal/transition treatment - Building or reviewing a composition and checking for missing voiceover, icons, music, or grading ## What triggers it - "Resuélveme una música de fondo para este vídeo" - "Este metraje se ve muy plano y oscuro, arréglalo" - "Necesito el logo oficial de esta marca, no lo dibujes a mano" - "Añade voz en off a este guion sin narración" - "Quiero que esta transición de escena tenga un efecto retro/cámara" ## Before you install - Requiere instalar y autenticarse en la CLI `heygen` (ruta de uso gratuito) y verificar con `node /scripts/resolve.mjs --doctor`. - Needs on PATH: node, pip - Environment: CANDIDATE_CAP, CODEX_HOME, DO_NOT_TRACK, HEYGEN_AUTH_COMMAND, HEYGEN_CAPTURE_PATH, HEYGEN_CONFIG_DIR, HEYGEN_DISCOVERY_MODE, HEYGEN_INSTALL_COMMAND, HEYGEN_MIN_VERSION, HEYGEN_UPDATE_COMMAND, HEYGEN_VIDEO_MODE, HEYGEN_VIDEO_RESPONSE, HF_GRADING_JSON, HYPERFRAMES_ANALYZE_TIMEOUT_MS, HYPERFRAMES_MEDIA_USE_SFX_DIR, HYPERFRAMES_NO_TELEMETRY, HYPERFRAMES_PARAKEET, INGEST_TYPES, JSON, MAX_FREEZE_BYTES, MAX_SIZE, MEDIA_USE_TELEMETRY_HOST, MIN_NODE_VERSION, PREFERENCE_KEYS, SIMPLE_ICONS_CDN, SVGL_API ## Files - .gitignore — 17 B - SKILL.md — 8 KB - audio/assets/sfx/CREDITS.md — 1 KB - audio/assets/sfx/chime.mp3 — 27 KB - audio/assets/sfx/click-soft.mp3 — 11 KB - audio/assets/sfx/click.mp3 — 11 KB - audio/assets/sfx/error.mp3 — 51 KB - audio/assets/sfx/glitch-1.mp3 — 82 KB - audio/assets/sfx/glitch-2.mp3 — 110 KB - audio/assets/sfx/glitch-3.mp3 — 97 KB - audio/assets/sfx/impact-bass-1.mp3 — 66 KB - audio/assets/sfx/impact-bass-2.mp3 — 81 KB - audio/assets/sfx/key-press.mp3 — 4 KB - audio/assets/sfx/manifest.json — 4 KB - audio/assets/sfx/notification.mp3 — 77 KB - audio/assets/sfx/ping.mp3 — 26 KB - audio/assets/sfx/pop.mp3 — 23 KB - audio/assets/sfx/riser.mp3 — 314 KB - audio/assets/sfx/sparkle.mp3 — 56 KB - audio/assets/sfx/typing.mp3 — 26 KB - audio/assets/sfx/whoosh-cinematic.mp3 — 173 KB - audio/assets/sfx/whoosh-short.mp3 — 18 KB - audio/assets/sfx/whoosh.mp3 — 18 KB - audio/references/bgm.md — 8 KB - audio/references/captions/authoring.md — 9 KB - audio/references/captions/motion.md — 6 KB - audio/references/captions/transcript-handling.md — 5 KB - audio/references/remove-background.md — 8 KB - audio/references/requirements.md — 4 KB - audio/references/sfx.md — 3 KB - audio/references/transcribe.md — 3 KB - audio/references/tts-to-captions.md — 1 KB - audio/references/tts.md — 9 KB - audio/scripts/audio.mjs — 13 KB - audio/scripts/audio.test.mjs — 2 KB - audio/scripts/heygen-tts.mjs — 4 KB - audio/scripts/lib/bgm.mjs — 11 KB - audio/scripts/lib/bgm.test.mjs — 1 KB - audio/scripts/lib/concurrency.mjs — 527 B - audio/scripts/lib/concurrency.test.mjs — 2 KB - audio/scripts/lib/heygen.mjs — 7 KB - audio/scripts/lib/heygen.test.mjs — 3 KB - audio/scripts/lib/python.mjs — 3 KB - audio/scripts/lib/python.test.mjs — 3 KB - audio/scripts/lib/sfx.mjs — 5 KB - audio/scripts/lib/sfx.test.mjs — 3 KB - audio/scripts/lib/tts.mjs — 16 KB - audio/scripts/lib/tts.spawn.test.mjs — 5 KB - audio/scripts/lib/tts.test.mjs — 6 KB - audio/scripts/lyria-recipe.py — 4 KB - audio/scripts/wait-bgm.mjs — 5 KB - luts/README.md — 1 KB - luts/index.json — 2 KB - references/audio.md — 2 KB - references/grading.md — 7 KB - references/media-treatment-recipes.md — 35 KB - references/media-treatments.md — 14 KB - references/memory.md — 3 KB - references/meta.md — 7 KB - references/operations.md — 14 KB - references/resolve.md — 9 KB - references/setup-providers.md — 7 KB - references/telemetry-dashboard.md — 4 KB - scripts/audio-duck.mjs — 4 KB - scripts/dither.mjs — 10 KB - scripts/dither.test.mjs — 5 KB - scripts/eval.mjs — 15 KB - scripts/lib/adopt.mjs — 4 KB - scripts/lib/adopt.test.mjs — 3 KB - scripts/lib/bgm-provider.mjs — 650 B - scripts/lib/brand-provider.mjs — 2 KB - scripts/lib/bundled-sfx-provider.mjs — 3 KB - scripts/lib/bundled-sfx-provider.test.mjs — 3 KB - scripts/lib/cache.mjs — 5 KB - scripts/lib/candidates.mjs — 4 KB - scripts/lib/candidates.test.mjs — 6 KB - scripts/lib/codex-provider.mjs — 7 KB - scripts/lib/codex-provider.test.mjs — 1 KB - scripts/lib/coverage.test.mjs — 6 KB - scripts/lib/cube-build.mjs — 6 KB - scripts/lib/cube-build.test.mjs — 3 KB - scripts/lib/cube-validate.mjs — 6 KB - scripts/lib/cube-validate.test.mjs — 3 KB - scripts/lib/cutlist.mjs — 6 KB - scripts/lib/cutlist.test.mjs — 4 KB - scripts/lib/duck.mjs — 3 KB - scripts/lib/duck.test.mjs — 3 KB - scripts/lib/error-diffusion.mjs — 6 KB - scripts/lib/error-diffusion.test.mjs — 3 KB - scripts/lib/freeze.mjs — 3 KB - scripts/lib/freeze.test.mjs — 2 KB - scripts/lib/grade-analyzer.mjs — 9 KB - scripts/lib/grade-analyzer.test.mjs — 8 KB - scripts/lib/heygen-cli.mjs — 7 KB - scripts/lib/heygen-cli.test.mjs — 10 KB - scripts/lib/heygen-search.mjs — 2 KB - scripts/lib/heygen-search.test.mjs — 2 KB - scripts/lib/heygen-video-provider.mjs — 4 KB - scripts/lib/heygen-video-provider.test.mjs — 12 KB - scripts/lib/image-provider.mjs — 1 KB - scripts/lib/index-gen.mjs — 2 KB - scripts/lib/local-models.mjs — 13 KB - scripts/lib/local-models.test.mjs — 6 KB - scripts/lib/local-run.mjs — 2 KB - scripts/lib/local-run.test.mjs — 2 KB - scripts/lib/logo-provider.mjs — 7 KB - scripts/lib/logo-provider.test.mjs — 6 KB - scripts/lib/ltx-video-provider.mjs — 2 KB - scripts/lib/ltx-video-provider.test.mjs — 4 KB - scripts/lib/lut-preset-provider.mjs — 8 KB - scripts/lib/lut-preset-provider.test.mjs — 6 KB - scripts/lib/manifest.mjs — 7 KB - scripts/lib/manifest.test.mjs — 12 KB - scripts/lib/match.mjs — 1 KB - scripts/lib/mflux-provider.mjs — 3 KB - scripts/lib/misses.mjs — 1 KB - scripts/lib/misses.test.mjs — 3 KB - scripts/lib/npx-sync.mjs — 1 KB - scripts/lib/npx-sync.test.mjs — 2 KB - scripts/lib/parakeet-words.mjs — 1 KB - scripts/lib/parakeet-words.test.mjs — 1 KB - scripts/lib/prefs-store.mjs — 6 KB - scripts/lib/prefs-store.test.mjs — 7 KB - scripts/lib/probe.mjs — 1 KB - scripts/lib/probe.test.mjs — 2 KB - scripts/lib/providers.mjs — 327 B - scripts/lib/recipe-store.mjs — 13 KB - scripts/lib/recipe-store.test.mjs — 13 KB - scripts/lib/registry.mjs — 9 KB - scripts/lib/registry.test.mjs — 10 KB - scripts/lib/search.mjs — 906 B - scripts/lib/search.test.mjs — 1 KB - scripts/lib/sfx-provider.mjs — 700 B - scripts/lib/specs.mjs — 3 KB - scripts/lib/specs.test.mjs — 3 KB - scripts/lib/stats.mjs — 4 KB - scripts/lib/stats.test.mjs — 5 KB - scripts/lib/telemetry.mjs — 8 KB - scripts/lib/telemetry.test.mjs — 13 KB - scripts/lib/tts-local-provider.mjs — 4 KB - scripts/lib/tts-local-provider.test.mjs — 3 KB - scripts/lib/usage.mjs — 2 KB - scripts/lib/usage.test.mjs — 2 KB - scripts/lib/voice-provider.mjs — 2 KB - scripts/lib/voice-provider.test.mjs — 2 KB - scripts/lib/words.mjs — 764 B - scripts/prefs.mjs — 2 KB - scripts/recipe.mjs — 4 KB - scripts/resolve.mjs — 43 KB - scripts/resolve.test.mjs — 36 KB - scripts/transcribe.mjs — 7 KB - scripts/transcript-cut.mjs — 7 KB ## SKILL.md Reproduced verbatim from heygen-com/hyperframes under Apache-2.0. This section is the upstream document and is in English. # media-use The media OS for HyperFrames: resolve · generate · operate · remember — every media type, one skill, zero context noise. First run: install and sign in to the `heygen` CLI (the free-usage path), then verify with `node /scripts/resolve.mjs --doctor`. Setup and providers: `references/setup-providers.md`. ## Resolve — the one verb ```bash node /scripts/resolve.mjs --type --intent "" --project ``` Returns one line: `resolved (, )`. All search noise stays on disk. | Type | One-line intent | | ------- | ----------------------------------------------------------------------------------- | | `bgm` | background music (HeyGen catalog, 10k+ tracks) | | `sfx` | sound effects (bundled 19-file library + catalog) | | `image` | photos, backgrounds (HeyGen asset search, 75k+ vectors) | | `icon` | icons, symbols (transparent) | | `logo` | official brand marks (svgl → simple-icons → 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`. ## Treat broad visual feedback as media intent 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 ``/`