8 min read
media-use
Generated source view for the actual executable
engineering/media-useskill. The durable routing article is Media Generation Skills. Source: skills/engineering/media-use/SKILL.md
Runtime Source
| Field | Value |
|---|---|
| Category | engineering |
| Origin | unknown |
| Slug | media-use |
| Source slug | media-use |
| Family | Media Generation Skills |
| Source | skills/engineering/media-use/SKILL.md |
Bundled Resources
These files are part of the executable skill folder and must be preserved with the skill source.
| File | Role |
|---|---|
.gitignore |
Bundled resource |
audio/assets/sfx/CREDITS.md |
Bundled resource |
audio/assets/sfx/chime.mp3 |
Bundled resource |
audio/assets/sfx/click-soft.mp3 |
Bundled resource |
audio/assets/sfx/click.mp3 |
Bundled resource |
audio/assets/sfx/error.mp3 |
Bundled resource |
audio/assets/sfx/glitch-1.mp3 |
Bundled resource |
audio/assets/sfx/glitch-2.mp3 |
Bundled resource |
audio/assets/sfx/glitch-3.mp3 |
Bundled resource |
audio/assets/sfx/impact-bass-1.mp3 |
Bundled resource |
audio/assets/sfx/impact-bass-2.mp3 |
Bundled resource |
audio/assets/sfx/key-press.mp3 |
Bundled resource |
audio/assets/sfx/manifest.json |
Bundled resource |
audio/assets/sfx/notification.mp3 |
Bundled resource |
audio/assets/sfx/ping.mp3 |
Bundled resource |
audio/assets/sfx/pop.mp3 |
Bundled resource |
audio/assets/sfx/riser.mp3 |
Bundled resource |
audio/assets/sfx/sparkle.mp3 |
Bundled resource |
audio/assets/sfx/typing.mp3 |
Bundled resource |
audio/assets/sfx/whoosh-cinematic.mp3 |
Bundled resource |
audio/assets/sfx/whoosh-short.mp3 |
Bundled resource |
audio/assets/sfx/whoosh.mp3 |
Bundled resource |
audio/references/bgm.md |
Bundled resource |
audio/references/captions/authoring.md |
Bundled resource |
audio/references/captions/motion.md |
Bundled resource |
audio/references/captions/transcript-handling.md |
Bundled resource |
audio/references/remove-background.md |
Bundled resource |
audio/references/requirements.md |
Bundled resource |
audio/references/sfx.md |
Bundled resource |
audio/references/transcribe.md |
Bundled resource |
audio/references/tts-to-captions.md |
Bundled resource |
audio/references/tts.md |
Bundled resource |
audio/scripts/audio.mjs |
Executable helper |
audio/scripts/audio.test.mjs |
Executable helper |
audio/scripts/carve.mjs |
Executable helper |
audio/scripts/carve.test.mjs |
Executable helper |
audio/scripts/extract-audio-data.py |
Executable helper |
audio/scripts/gemini-pipeline.test.mjs |
Executable helper |
audio/scripts/heygen-tts.mjs |
Executable helper |
audio/scripts/heygen-tts.test.mjs |
Executable helper |
audio/scripts/heygen-voice.mjs |
Executable helper |
audio/scripts/heygen-voice.test.mjs |
Executable helper |
audio/scripts/lib/audio-meta.mjs |
Executable helper |
audio/scripts/lib/audio-meta.test.mjs |
Executable helper |
audio/scripts/lib/bgm-volume.mjs |
Executable helper |
audio/scripts/lib/bgm.mjs |
Executable helper |
audio/scripts/lib/bgm.test.mjs |
Executable helper |
audio/scripts/lib/concurrency.mjs |
Executable helper |
audio/scripts/lib/concurrency.test.mjs |
Executable helper |
audio/scripts/lib/gemini-auth.mjs |
Executable helper |
audio/scripts/lib/gemini-auth.py |
Executable helper |
audio/scripts/lib/gemini-auth.test.mjs |
Executable helper |
audio/scripts/lib/gemini-auth_test.py |
Executable helper |
audio/scripts/lib/gemini-tts.mjs |
Executable helper |
audio/scripts/lib/gemini-tts.test.mjs |
Executable helper |
audio/scripts/lib/heygen.mjs |
Executable helper |
audio/scripts/lib/heygen.test.mjs |
Executable helper |
audio/scripts/lib/main-module.mjs |
Executable helper |
audio/scripts/lib/media-record.mjs |
Executable helper |
audio/scripts/lib/media-record.test.mjs |
Executable helper |
audio/scripts/lib/openverse.mjs |
Executable helper |
audio/scripts/lib/python.mjs |
Executable helper |
audio/scripts/lib/python.test.mjs |
Executable helper |
audio/scripts/lib/sfx.mjs |
Executable helper |
audio/scripts/lib/sfx.test.mjs |
Executable helper |
audio/scripts/lib/tts.cleanup.test.mjs |
Executable helper |
audio/scripts/lib/tts.mjs |
Executable helper |
audio/scripts/lib/tts.spawn.test.mjs |
Executable helper |
audio/scripts/lib/tts.test.mjs |
Executable helper |
audio/scripts/lyria-recipe.py |
Executable helper |
audio/scripts/wait-bgm.mjs |
Executable helper |
audio/scripts/wait-bgm.test.mjs |
Executable helper |
luts/README.md |
Bundled resource |
luts/index.json |
Bundled resource |
references/audio.md |
Progressive reference |
references/grading.md |
Progressive reference |
references/local.md |
Progressive reference |
references/media-treatment-recipes.md |
Progressive reference |
references/media-treatments.md |
Progressive reference |
references/memory.md |
Progressive reference |
references/meta.md |
Progressive reference |
references/mixing.md |
Progressive reference |
references/operations.md |
Progressive reference |
references/resolve.md |
Progressive reference |
references/setup-providers.md |
Progressive reference |
references/telemetry-dashboard.md |
Progressive reference |
scripts/audio-duck.mjs |
Executable helper |
scripts/compatibility.test.mjs |
Executable helper |
scripts/dither.mjs |
Executable helper |
scripts/dither.test.mjs |
Executable helper |
scripts/eval.mjs |
Executable helper |
scripts/lib/config-lock.mjs |
Executable helper |
scripts/lib/cutlist.mjs |
Executable helper |
scripts/lib/duck.mjs |
Executable helper |
scripts/lib/error-diffusion.mjs |
Executable helper |
scripts/lib/index-gen.mjs |
Executable helper |
scripts/lib/manifest.mjs |
Executable helper |
scripts/lib/media-fetch.mjs |
Executable helper |
scripts/lib/media-home.mjs |
Executable helper |
scripts/lib/npx-sync.mjs |
Executable helper |
scripts/lib/parakeet-words.mjs |
Executable helper |
scripts/lib/prefs-store.mjs |
Executable helper |
scripts/lib/recipe-store.mjs |
Executable helper |
scripts/lib/telemetry.mjs |
Executable helper |
scripts/lib/telemetry.test.mjs |
Executable helper |
scripts/lib/transcriptCutFade.mjs |
Executable helper |
scripts/lib/words.mjs |
Executable helper |
scripts/prefs.mjs |
Executable helper |
scripts/recipe.mjs |
Executable helper |
scripts/resolve-plugin.test.mjs |
Executable helper |
scripts/resolve.mjs |
Executable helper |
scripts/transcribe.mjs |
Executable helper |
scripts/transcribe.test.mjs |
Executable helper |
scripts/transcript-cut.mjs |
Executable helper |
scripts/transcript-cut.test.mjs |
Executable helper |
Description
Use to get or make media for a HyperFrames video: music, sound effects, images, icons, logos, voiceover, avatars, generated video, transcripts, cutouts and colour grades, with HeyGen or free local tools. Also fixes dark or flat footage.
Skill Source
---
name: media-use
description: >-
Use to get or make media for a HyperFrames video: music, sound effects, images, icons, logos,
voiceover, avatars, generated video, transcripts, cutouts and colour grades, with HeyGen or free
local tools. Also fixes dark or flat footage.
---
**Plugin installs:** Before setup or freshness commands, follow [plugin execution rules](../hyperframes/references/plugin-installation.md) when this skill is inside a HyperFrames plugin.
# Media in HyperFrames
Media lands as a local file in `<repo>/assets/` with a ledger record; renders never fetch. One verb finds or makes it:
```bash
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
| Need | HeyGen (best quality) | Free, no account |
| --- | --- | --- |
| Music (`bgm`) | Catalog of 10k+ tracks | Local MusicGen (`audio/references/bgm.md`) |
| Sound effects (`sfx`) | | Openverse; 21 bundled offline |
| Images, icons | Asset search, 75k+ | Local FLUX (mflux), if installed |
| Logos (`logo`) | | theSVG, GitHub avatar, favicon; never redrawn |
| Voiceover (`voice`) | HeyGen voices, voice cloning | `npx hyperframes tts` (Kokoro on device; Python 3.10+ with `pip install kokoro-onnx soundfile`) |
| A presenter speaking | Avatar video (`--type 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` |
**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](https://developers.heygen.com/cli), then sign in with `npx hyperframes auth login`. HyperFrames supplies its credential to the helper; it does not read the separate HeyGen CLI login. An explicit API key bills API credits, and the server decides OAuth eligibility and charges. Check setup with `npx hyperframes media-use resolve --doctor`. If a required provider is missing or signed out, give the install link and HyperFrames sign-in command, then offer the free path or wait.
**Direct HeyGen recipes.** Commands such as `heygen video-agent create`, `heygen video create`, `heygen voice clone create`, `heygen lipsync`, `heygen video-translate` and `heygen ai-clipping` in `references/operations.md` use the HeyGen CLI's own credential and HeyGen/API billing. They do not inherit HyperFrames OAuth or its subscription. Use only when that separate payer is selected.
**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
| Task | Read |
| --- | --- |
| Resolve, reuse, adopt, ingest, flags | `references/resolve.md` |
| Grading, LUTs, `grade-compare` | `references/grading.md` |
| Voiceover, music, sound effects, captions, transcription | `references/audio.md` |
| Cut, reframe or transform media; HeyGen recipes | `references/operations.md` |
| Treatments, realtime effects, overlays, reveals | `references/media-treatments.md` |
| Install, sign-in, providers, RAM ladders | `references/setup-providers.md` |
| Fades, gain, ducking, automation, effects, buses on placed tracks | `references/mixing.md` |
| Local commands: grade, cutout, loudness, beats | `references/local.md` |
| Remembered preferences | `references/memory.md` |
Timeline
- 2026-11-02 | Generated a browseable source page from the actual executable skill file. Source: skills/engineering/media-use/SKILL.md