media-use

Agent Media OS — resolve any media need (BGM, SFX, image, icon) into a frozen local file + ledger record. One verb (`resolve`) handles the full cascade — project cache, global cache, HeyGen catalog search, freeze, register. Keeps search noise on disk, hands the agent a path. Use when a composition needs background music, sound effects, images, or icons.

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

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 <SKILL_DIR>/scripts/resolve.mjs --doctor. Setup and providers: references/setup-providers.md.

Resolve — the one verb

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

Returns one line: resolved <id> → <path> (<type>, <metadata>). All search noise stays on disk.

TypeOne-line intent
bgmbackground music (HeyGen catalog, 10k+ tracks)
sfxsound effects (bundled 19-file library + catalog)
imagephotos, backgrounds (HeyGen asset search, 75k+ vectors)
iconicons, symbols (transparent)
logoofficial brand marks (svgl → simple-icons → GitHub avatar → favicon; never redrawn)
voiceTTS voiceover (HeyGen free-usage path; optional local Kokoro)
grademeasured correction candidate; broad polish/stylization follows Media Treatments
lutuser-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 <img>/<video>, choose one primary intent, then use deterministic persistence and verification. Use a matching recipe as an optional tested seed, or inspect hyperframes media-treatment --capabilities --json, then request one relevant family/effect with --capability <id> and assemble a custom treatment from canonical controls. Never load --all for ordinary authoring. A treatment may compose correction, a preset, finishing, compatible shader effects, supported keyframes, and optional Registry overlays. Add only source-justified bounded tuning and compatible parts, never effects merely to make the result look more sophisticated. Persist the final combined payload with hyperframes media-treatment.

Use one progressively escalating workflow. For video, inspect one labeled early/middle/late contact sheet rather than reading frames separately. Apply one candidate and inspect one after-sheet for ordinary correction or polish. Escalate to individual frames or moving draft evidence only when the result is ambiguous, temporal, stylized, LUT-based, HDR/LOG-sensitive, private, or brand-critical.

For ordinary correction or polish, persist the final treatment's preset/adjustment JSON. Do not generate a .cube LUT merely to encode exposure, shadows, contrast, or warmth. Use a LUT only when the user supplies one or the selected treatment explicitly owns one. resolve --type grade --for ... --analyze is measurement evidence, not permission to replace the chosen treatment with a generated LUT. Do not recreate supported vignette, grain, blur, pixelate, color, or treatment effects with CSS/SVG overlays; that bypasses Studio controls and the canonical preview/render shader path.

Be proactive — run a media opportunity pass

The human usually can't tell which media would lift the piece. You can. When you build or review a composition, do one grounded scan and then ask once — don't silently add, and don't nag per asset.

Surface an opportunity only when a concrete signal is present:

Signal detectedOffer
On-screen text / a script with no voiceoverTTS voiceover (audio engine)
Emoji or a <div> styled as an iconresolve real icons
Image that is a placeholder, tiny, or upscaled-lookinga better image (and/or upscale — see references/operations.md)
Hard scene cuts / transitions with no soundtransition sfx
A piece over ~10s with no music bedbgm
Footage that reads under/over-exposed or color-casta corrective grade (inspect it with hyperframes media-treatment --selector '#hero' --analyze --json)
Photographic media that feels visually flat or off-topicone specific source-appropriate preset or custom treatment, with the intended target named
A meaningful media entrance/reveal that feels staticone supported seek-safe treatment animation; preserve color unless the request also justifies a preset

Rules that keep this a help, not nagware: grounded, not generic (no signal → no suggestion); opinionated + concrete (propose the specific fix with defaults chosen — the human approves all / some / none); once per project (one consolidated ask; respect "leave it"); surface, never silently mutate (color grades especially: propose and preview — a gray-world "correction" ruins an intentional sunset or neon look).

Where to look — read only the file your task needs

TaskRead
resolve / reuse / adopt / ingest, flags, cascade, inventoryreferences/resolve.md
color grading, LUTs, smart grade (--for), grade-comparereferences/grading.md
voiceover / TTS, music, SFX, captions, transcription (audio engine)references/audio.md
cut / reframe / transform existing media, exact error diffusion, HEVCreferences/operations.md
source-aware creative treatments, realtime effects, overlays, revealsreferences/media-treatments.md
install + auth, provider table, RAM ladders, --local-only, --providerreferences/setup-providers.md
remembered preferences + frozen recipes (user memory)references/memory.md
ownership matrix, usage stats, telemetry, privacy (maintainer-facing)references/meta.md

Plus de skills de heygen-com

hyperframes-cli
heygen-com
HyperFrames CLI dev loop — `npx hyperframes` for scaffolding (init), validation (lint, inspect), preview, render, and environment troubleshooting (doctor, browser, info, upgrade). Use when running any of these commands or troubleshooting the HyperFrames build/render environment. For asset preprocessing commands (`tts`, `transcribe`, `remove-background`), invoke the `hyperframes-media` skill instead.
developmenttestingapi
hyperframes-animation
heygen-com
Toutes les connaissances en animation pour HyperFrames — règles de mouvement atomique, plans de scène multiphases, transitions de scène, techniques de conception de mouvement plus larges, ET les sept adaptateurs d'exécution (GSAP par défaut, plus Lottie, Three.js, Anime.js, keyframes CSS, Web Animations API, TypeGPU). Utilisez pour toute tâche de mouvement ou d'animation : choisissez 2 à 4 règles et composez, ou chargez un plan, ou recherchez une API spécifique à l'exécution (par exemple, les easing de GSAP / le lecteur Lottie / le mixer Three.js). Natif HyperFrames : timeline unique en pause, sûr pour la recherche,...
creativedevelopmentdesign
hyperframes-core
heygen-com
Contrat de composition HTML HyperFrames. Utilisé pour la structure de composition, les attributs de données, les clips, les pistes, les sous-compositions, les variables, la lecture multimédia, les règles de rendu déterministes et la validation de projets minimalement rendus.
developmentmediacreative
hyperframes-media
heygen-com
Prétraitement des actifs pour les compositions HyperFrames — TTS multi-fournisseur (HeyGen / ElevenLabs / Kokoro local), BGM multi-fournisseur (Google Lyria / MusicGen local), transcription Whisper, suppression d’arrière-plan, et création de sous-titres. Utiliser pour npx hyperframes tts, bgm, transcribe, remove-background, sélection voix/fournisseur, suggestion d’ambiance musicale, sous-titres / légendes / paroles / karaoké / style mot par mot.
mediaaudiovideo
hyperframes-registry
heygen-com
Installer et câbler les blocs et composants du registre dans des compositions HyperFrames. À utiliser lors de l’exécution de hyperframes add, de l’installation d’un bloc ou d’un composant, du câblage d’un élément installé dans index.html, ou du travail avec hyperframes.json. Couvre la commande add, les emplacements d’installation, le câblage de sous-composition de blocs, la fusion d’extraits de composants, la découverte du registre, et la création d’un nouveau bloc ou composant à contribuer en amont (idée → échafaudage → validation → PR).
developmentapicode-review
general-video
heygen-com
Utiliser comme solution de repli pour la composition vidéo HTML personnalisée HyperFrames lorsqu'aucun workflow spécialisé ne convient. Couvre les pièces longues ou multi-scènes, les bandes-annonces de marque ou de promotion, les montages, les cartes de titre, les affiches animées de longue durée, les boucles statiques et les compositions libres de toute longueur ou format. Ne convient pas aux promotions de produits commercialisés (product-launch-video), à la capture vidéo générale de site web (website-to-video), aux vidéos explicatives de sujets (faceless-explainer), aux vidéos de PR GitHub (pr-to-video), au sous-titrage de séquences existantes...
videocreativemedia
motion-graphics
heygen-com
Utiliser lorsque l'utilisateur souhaite un court motion design où le mouvement est le message : typographie cinétique, compteur de statistiques ou de nombres, animation de graphique/données, logo sting, habillage de marque, tiers inférieur, callout, superposition sociale, titre/tweet/actualité animé, motion poster, ou mise en évidence rapide d'une page capturée. Généralement moins de 10 secondes et jusqu'à environ 30 secondes, sans arc narratif, voix off ou sujet en prise de vue réelle. Peut être rendu en MP4 ou superposition transparente. Pas pour les pièces plus longues, multi-scènes, narrées ou de type reel de marque...
creativevideodesign
hyperframes-read-first
heygen-com
Commencez ici pour toute demande de réalisation, création, génération, édition, animation ou rendu d’une vidéo, animation, motion design, vidéo explicative, carte de titre, incrustation, vidéo sous-titrée, promotion produit, vidéo pour site web, vidéo RP ou de changelog, montage de données, motion poster ou composition HTML HyperFrames. À utiliser avant les autres compétences vidéo ou d’animation lorsque l’utilisateur souhaite qu’HyperFrames crée ou rende une vidéo MP4/web finale, choisisse un workflow, ou oriente entre product-launch-video, faceless-explainer, website-to-video,...
creativevideomedia