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

Больше skills от heygen-com

hyperframes-cli
heygen-com
Цикл разработки HyperFrames
developmenttestingapi
hyperframes-animation
heygen-com
Все знания об анимации для HyperFrames — атомарные правила движения, многофазные сценарии сцен, переходы между сценами, более широкие техники моушн-дизайна И семь адаптеров времени выполнения (GSAP по умолчанию, а также Lottie, Three.js, Anime.js, CSS-ключевые кадры, Web Animations API, TypeGPU). Используйте для любой задачи по движению или анимации: выберите 2–4 правила и скомпонуйте, или загрузите сценарий, или найдите API конкретной среды выполнения (например, easing в GSAP / плеер Lottie / микшер Three.js). Родной для HyperFrames: единая приостановленная временная шкала, безопасная для поиска,...
creativedevelopmentdesign
hyperframes-core
heygen-com
Контракт композиции HTML HyperFrames. Используется для структуры композиции, атрибутов данных, клипов, треков, субкомпозиций, переменных, воспроизведения медиа, детерминированных правил рендеринга и валидации минимально рендерируемых проектов.
developmentmediacreative
hyperframes-media
heygen-com
Предварительная обработка ассетов для композиций HyperFrames — мульти-провайдерный TTS (HeyGen / ElevenLabs / Kokoro локально), мульти-провайдерный BGM (Google Lyria / локальный MusicGen), транскрипция Whisper, удаление фона и создание субтитров. Используется для npx hyperframes tts, bgm, transcribe, remove-background, выбора голоса/провайдера, подсказок музыкального настроения, субтитров / подписей / текстов песен / караоке / посимвольного стилизации.
mediaaudiovideo
hyperframes-registry
heygen-com
Установка и подключение блоков и компонентов реестра в композиции HyperFrames. Используется при выполнении hyperframes add, установке блока или компонента, подключении установленного элемента в index.html или работе с hyperframes.json. Охватывает команду add, места установки, подключение подкомпозиций блоков, слияние фрагментов компонентов, обнаружение реестра и создание нового блока или компонента для передачи в основной репозиторий (идея → заготовка → проверка → PR).
developmentapicode-review
general-video
heygen-com
Используется как запасной вариант для авторской компоновки видео в формате HTML с помощью HyperFrames, когда не подходит ни один специализированный рабочий процесс. Охватывает длинные или многосценные работы, брендовые/имиджевые ролики, монтажи, титры, анимированные постеры в длинном формате, статичные циклы и свободные композиции любой длины и формата. Не предназначен для маркетинговых промо продуктов (product-launch-video), захвата видео с веб-сайтов (website-to-video), тематических объяснялок (faceless-explainer), видео для GitHub PR (pr-to-video), субтитрования существующих материалов...
videocreativemedia
motion-graphics
heygen-com
Используйте, когда пользователю нужна короткая, дизайн-ориентированная моушн-графика, где движение является сообщением: кинетическая типографика, счётчик статистики или чисел, попадание в диаграмму/визуализацию данных, лого-стингер, бренд-лок-ап, нижняя треть, коллаут, социальный оверлей, анимированный заголовок/твит/новостной элемент, моушн-постер или быстрый захват страницы. Обычно длительностью до 10 секунд и до ~30 секунд, без повествовательной дуги, закадрового голоса или живого актёра. Может быть отрендерено в MP4 или прозрачный оверлей. Не подходит для более длинных, многосценных, нарративных или бренд-роликов...
creativevideodesign
hyperframes-read-first
heygen-com
Начните здесь для любого запроса на создание, генерацию, редактирование, анимацию или рендеринг видео, анимации, моушн-графики, объясняющего видео, титров, наложений, видео с субтитрами, рекламы продукта, видео для сайта, PR- или changelog-видео, дата-монтажа, моушн-постера или HTML-композиции HyperFrames. Используйте перед другими навыками работы с видео или анимацией, если пользователь хочет, чтобы HyperFrames создал или отрендерил готовое MP4/веб-видео, выбрал рабочий процесс или направил между product-launch-video, faceless-explainer, website-to-video,...
creativevideomedia