media-use

Agent skill for Claude Code, Codex & Cursor from heygen-com/hyperframes · updated

Video & media Official

How to install media-use

$ npx skills add https://github.com/heygen-com/hyperframes --skill media-use
Advertisement

What media-use does

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.

SKILL.md

View source

Plugin installs: Before setup or freshness commands, follow plugin execution rules when this skill is inside a HyperFrames plugin.

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.

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 and sign in with heygen auth login --oauth: the OAuth session carries a free allowance on subscription credits; an API key (--api-key) bills API credits. Check setup with npx hyperframes media-use resolve --doctor. When a request needs HeyGen (a presenter or avatar, a HeyGen voice, catalog music) and heygen is missing or signed out, tell the person how to get it: the install link, heygen auth login --oauth for the free allowance, or an API key for credits. Then offer the free path or wait. Beyond resolve, the same CLI makes text-to-video (heygen video-agent create), avatar videos with a recorded track (heygen video create), cloned voices (heygen voice clone create), dubbing (heygen lipsync), translated videos (heygen video-translate) and short clips from a long video (heygen ai-clipping): recipes in references/operations.md.

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
Advertisement

More in Video & media

slack-gif-creatorKnowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack."anthropics/skillsad-creativeWhen the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, or full ad variations — for any paid advertising platform. Also use when the user mentions 'ad copy variations,' 'ad creative,' 'generate headlines,' 'RSA headlines,' 'bulk ad copy,' 'creative testing,' 'write me some ads,' 'Facebook ad copy,' 'Google ad headlines,' 'LinkedIn ad text,' 'static ads,' 'ad templates,' 'iMessage ad,' 'ChatGPT ad,' 'creative strategy,' 'creative roadmap,' 'creative retro,' 'hook writing,' 'creative review page,' 'motion video ad,' 'faceless video ad,' 'UGC ad,' 'greenscreen ad,' 'TikTok/Reels ad format,' 'Meta ad format tier list,' or 'creative format taxonomy.' Use it to produce or iterate ad copy at scale. Copy avoids AI tells like 'it's not X, it's Y' reveals. For campaign strategy and targeting, see ads. For landing page copy, see copywriting. Test hypotheses must be falsifiable, naming the metric, the comparison, and the expected direction.coreyhaines31/marketingskillsimageWhen the user wants to create, generate, edit, or optimize images for marketing — blog heroes, social graphics, product mockups, profile banners, listing visuals, or brand assets. Also use when the user mentions 'AI image generation,' 'generate an image,' 'create a graphic,' 'product mockup,' 'hero image,' 'social media graphic,' 'banner image,' 'cover photo,' 'profile banner,' 'listing screenshot,' 'Flux,' 'Flux Kontext,' 'Midjourney,' 'DALL-E,' 'GPT Image,' 'ChatGPT Images,' 'Ideogram,' 'Gemini image,' 'Nano Banana,' 'Recraft,' 'Stable Diffusion,' 'Canva,' 'Figma,' 'image optimization,' 'compress images,' 'WebP,' or 'OG image.' Use this for general-purpose marketing image creation and optimization. For paid ad image creative and platform-specific ad specs, see ad-creative. For video production, see video.coreyhaines31/marketingskillsvideoWhen the user wants to create, generate, or produce video content using AI tools or programmatic frameworks. Also use when the user mentions 'video production,' 'AI video,' 'Remotion,' 'Hyperframes,' 'HeyGen,' 'Synthesia,' 'Veo,' 'Sora,' 'Runway,' 'Kling,' 'Seedance,' 'Hailuo,' 'MiniMax,' 'Pika,' 'Hunyuan,' 'Wan,' 'video generation,' 'AI avatar,' 'talking head video,' 'programmatic video,' 'video template,' 'explainer video,' 'product demo video,' 'record a product demo,' 'feature demo video,' 'in-app demo,' 'video pipeline,' 'copy this edit,' 'match this video style,' 'reverse-engineer this video,' 'edit like this reference,' or 'make me a video.' Use this for video creation, generation, and production workflows. For video content strategy and what to post, see social. For paid video ad creative, see ad-creative.coreyhaines31/marketingskillsanimateBuild an animation from scratch, making the decisions in the order that determines whether it feels right — should it animate at all, what purpose, which tool, which properties, which curve and duration, how it interrupts, how it exits. Writes the implementation. Use when asked to animate something, add motion, make a component feel alive, or build a transition. For critiquing existing motion use review-animations; for auditing a whole codebase use improve-animations.emilkowalski/skills