Skill Tracer
Skills › HyperFrames › media-use

media-use

skill · 63 lines · Apache-2.0 · skills/media-use/SKILL.md

The facts

Its description

Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull, or should be stylized or hidden.

The description the agent reads to decide when to use it.

From its settingsline 3

When it starts

The conversation is about getting or making media for a HyperFrames video: music, sound effects, images, icons, logos, voiceover, avatar video, transcripts, cutouts, or colour grades. It also fits when someone says footage looks dark, flat or dull, or wants a stylized look, or wants placed audio mixed.

Things a person might say (the model's guesses)

  • “Add some background music and a whoosh sound effect to my video”
  • “Generate a voiceover for this script and get word timings for captions”
  • “This footage looks flat and dark, can you give it a warmer retro look?”

A model's summary of when it is used.

A model's reading

Files it mentions

references/resolve.md, references/media-treatments.md, references/grading.md, references/audio.md (first 5 of 12 lines)

Files the text names, such as ones to read or write. Found by matching words, so treat them as pointers.

Found by matching wordsline 18 line 44 line 54 line 55 line 56

Stops for a person

2 lines stop to ask a person

Lines that stop and wait for a person before going on. Found by matching words, so treat them as pointers.

Found by matching wordsline 34 line 38

What leads to it

Other skills that hand off to this one, call it, require it or offer it instead, as a model read them.

A model's reading

Licence

Apache-2.0, from LICENSE

The terms its author shares it under, which let it be shown here.

From the repositorylicence text
Other files in this skill (74) Close

The text

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1---
2name: media-use
3description: Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull, or should be stylized or hidden.
4---
5
6**Plugin installs:** Inside a HyperFrames plugin, follow [plugin execution rules](../hyperframes/references/plugin-installation.md).
7
8**Usage beacon:** run `npx hyperframes events --skill=media-use` once as this skill starts. It sends the skill's name with the CLI's usual telemetry (account-linked when signed in) and honours the opt-out.
9
10# Media in HyperFrames
12Media lands as a local file in the project's `assets/` with a ledger record; renders never fetch. One verb finds or makes it:
14```bash
15npx hyperframes media-use resolve --type <type> --intent "<what you need>" --project <dir>
16```
18It 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`.

Plugin installs: Inside a HyperFrames plugin, follow plugin execution rules.

Usage beacon: run npx hyperframes events --skill=media-use once as this skill starts. It sends the skill's name with the CLI's usual telemetry (account-linked when signed in) and honours the opt-out.

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.

Raw lines 1 to 19
Reads a file references/resolve.md :18
20## Where it comes from
22| Need | Free | HyperFrames credits | Local or the person's own key (only when they ask) |
23| --- | --- | --- | --- |
24| Music (`bgm`) | HeyGen catalog of 10k+ tracks (signed in) | Generated track | Local MusicGen |
25| Sound effects (`sfx`) | HeyGen (signed in); Openverse (credit CC BY); bundled | | |
26| Images, icons | HeyGen asset search, 75k+ (signed in) | Generated images | Local FLUX (mflux), if installed |
27| Logos (`logo`) | theSVG, GitHub avatar, favicon; never redrawn | | |
28| Voiceover (`voice`) | Voice Turbo, Free plan: 3 min a month | Voice Turbo on a paid plan, other HeyGen voices, cloning | `npx hyperframes tts` (Kokoro on device) |
29| A presenter speaking | | Avatar video (`--type video`) | Local LTX for generic clips, if installed |
30| Transcripts | `npx hyperframes transcribe` (Parakeet or whisper) | | |
31| Cutouts | | Video: `--type cutout` | `npx hyperframes remove-background` |
32| Grades, LUTs, looks | `npx hyperframes media-treatment` | | |
34**Sign in.** Every time a request needs a HeyGen model or the catalog, run `npx hyperframes auth status` first. Not signed in: tell the person in one line that sign-in is free and gives the music catalog, asset search and 3 min of Voice Turbo a month on the Free plan, ask them to type an exclamation mark and `npx hyperframes auth login` in the prompt, and wait until they say it is done. Use local tools only when the person asks, not as a fallback.
36**Host apps.** Inside an app with its own media tools, use those first. When `HEYGEN_API_BASE` is set, the host pays: don't ask for a sign-in; relay a refused call's message as written and stop.
38**HeyGen.** `npx hyperframes media-use generate` makes images, shots, talking photos, voices and music on the sign-in alone. Helpers and direct recipes need the [`heygen` CLI](https://developers.heygen.com/cli); if it is missing, give the link and wait until they say it is installed. Direct `heygen` recipes bill that CLI's own login: use them only when that payer is selected.
40**Credits.** Plan for the best result: no cheaper or free swaps, no dropped items, unless asked to save cost. Don't volunteer prices, estimates or usage; `--plan` is for you. A credit limit the person sets: write it once to `.hyperframes/credit-limit.json` as `{"credits": N}`; every paid call then refuses what would go past it (`--max-credits` only tightens). A step that won't fit (a `--plan` over what is left, or a refused call): say what doesn't, ask before dropping or shrinking it. A refused call names a `billing` command: say why, ask them to run it, then retry.

Where it comes from

NeedFreeHyperFrames creditsLocal or the person's own key (only when they ask)
Music (bgm)HeyGen catalog of 10k+ tracks (signed in)Generated trackLocal MusicGen
Sound effects (sfx)HeyGen (signed in); Openverse (credit CC BY); bundled
Images, iconsHeyGen asset search, 75k+ (signed in)Generated imagesLocal FLUX (mflux), if installed
Logos (logo)theSVG, GitHub avatar, favicon; never redrawn
Voiceover (voice)Voice Turbo, Free plan: 3 min a monthVoice Turbo on a paid plan, other HeyGen voices, cloningnpx hyperframes tts (Kokoro on device)
A presenter speakingAvatar video (--type video)Local LTX for generic clips, if installed
Transcriptsnpx hyperframes transcribe (Parakeet or whisper)
CutoutsVideo: --type cutoutnpx hyperframes remove-background
Grades, LUTs, looksnpx hyperframes media-treatment

Sign in. Every time a request needs a HeyGen model or the catalog, run npx hyperframes auth status first. Not signed in: tell the person in one line that sign-in is free and gives the music catalog, asset search and 3 min of Voice Turbo a month on the Free plan, ask them to type an exclamation mark and npx hyperframes auth login in the prompt, and wait until they say it is done. Use local tools only when the person asks, not as a fallback.

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

HeyGen. npx hyperframes media-use generate makes images, shots, talking photos, voices and music on the sign-in alone. Helpers and direct recipes need the [heygen CLI](https://developers.heygen.com/cli); if it is missing, give the link and wait until they say it is installed. Direct heygen recipes bill that CLI's own login: use them only when that payer is selected.

Credits. Plan for the best result: no cheaper or free swaps, no dropped items, unless asked to save cost. Don't volunteer prices, estimates or usage; --plan is for you. A credit limit the person sets: write it once to .hyperframes/credit-limit.json as {"credits": N}; every paid call then refuses what would go past it (--max-credits only tightens). A step that won't fit (a --plan over what is left, or a refused call): say what doesn't, ask before dropping or shrinking it. A refused call names a billing command: say why, ask them to run it, then retry.

Raw lines 20 to 41
Involves a person and wait :34
Involves a person until they say :34
42## Looks on real footage
44Feedback that footage is dark, flat or dull, should feel retro or printed, needs a face hidden, or needs a reveal is media intent. Inspect the real `<img>`/`<video>`, pick one intent, and follow `references/media-treatments.md`; persist with `npx hyperframes media-treatment`, never a CSS, SVG or `.cube` stand-in.

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. Inspect the real <img>/<video>, pick one intent, and follow references/media-treatments.md; persist with npx hyperframes media-treatment, never a CSS, SVG or .cube stand-in.

Raw lines 42 to 45
46## Offer once, never add silently
48Scan a piece you build or review 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 fixes in one ask. No signal, no suggestion; respect "leave it".

Offer once, never add silently

Scan a piece you build or review 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 fixes in one ask. No signal, no suggestion; respect "leave it".

Raw lines 46 to 49
50## Where to look
52| Task | Read |
53| --- | --- |
54| Resolve, reuse, adopt, ingest, flags | `references/resolve.md` |
55| Grading, LUTs, `grade-compare` | `references/grading.md` |
56| Voiceover, music, sound effects, captions, transcription | `references/audio.md` |
57| Cut, reframe or transform media; direct `heygen` recipes | `references/operations.md` |
58| Treatments, realtime effects, overlays, reveals | `references/media-treatments.md` |
59| Install, sign-in, credentials, `--provider`, `--local-only`, RAM ladders | `references/setup-providers.md` |
60| `media-use generate`, HeyGen transcription, prices | `references/heygen.md` |
61| Fades, gain, ducking, automation, effects, buses on placed tracks | `references/mixing.md` |
62| Local commands: grade, cutout, loudness, beats | `references/local.md` |
63| Remembered preferences | `references/memory.md` |

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; direct heygen recipesreferences/operations.md
Treatments, realtime effects, overlays, revealsreferences/media-treatments.md
Install, sign-in, credentials, --provider, --local-only, RAM laddersreferences/setup-providers.md
media-use generate, HeyGen transcription, pricesreferences/heygen.md
Fades, gain, ducking, automation, effects, buses on placed tracksreferences/mixing.md
Local commands: grade, cutout, loudness, beatsreferences/local.md
Remembered preferencesreferences/memory.md
Raw lines 50 to 63
Reads a file references/resolve.md :54
Reads a file references/grading.md :55
Reads a file references/audio.md :56
Reads a file references/operations.md :57
Reads a file references/heygen.md :60
Reads a file references/mixing.md :61
Reads a file references/local.md :62
Reads a file references/memory.md :63

From heygen-com/hyperframes at a595755, 2026-11-07. Skills read by Claude Sonnet 5.5 on 2026-11-07. Summary and techniques by Claude Opus 5.5 on 2026-11-07.