본문으로 건너뛰기
cccskills
무료GitHub에 공개

media-use

Find, generate, and prepare media for HyperFrames projects, saving assets locally with records for reuse. Covers images, music, voiceovers, transcription, captions, background removal, media edits, and visual treatments such as color correction or retro styling.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Agent Media OS for a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Also use for vague feedback that real footage looks dark, flat, boring, should feel retro/camcorder/print/ASCII, needs privacy, or needs a media reveal. When the host app provides its own music or sound-effect tools, use those for music and sound effects; `resolve --type bgm` needs the heygen CLI, while `--type sfx` needs no account (Openverse, then a bundled library). When `HEYGEN_API_BASE` is set, HeyGen calls go through that host with no CLI sign-in.

설치 방법 보기

이럴 때 유용합니다

  • Find and save images, music, and sound effects
  • Produce voiceovers, transcripts, and captions
  • Correct dark footage or apply retro styling
  • Reuse media assets across projects

포함된 파일(113)

  • SKILL.md9.6 KB
  • .gitignore17 B
  • audio/assets/sfx/chime.mp326.7 KB
  • audio/assets/sfx/click-soft.mp311.4 KB
  • audio/assets/sfx/click.mp311.4 KB
  • audio/assets/sfx/CREDITS.md1.2 KB
  • audio/assets/sfx/error.mp350.6 KB
  • audio/assets/sfx/glitch-1.mp382.4 KB
  • audio/assets/sfx/glitch-2.mp3109.5 KB
  • audio/assets/sfx/glitch-3.mp396.8 KB
  • audio/assets/sfx/impact-bass-1.mp366.1 KB
  • audio/assets/sfx/impact-bass-2.mp381.0 KB
  • audio/assets/sfx/key-press.mp33.8 KB
  • audio/assets/sfx/manifest.json3.6 KB
  • audio/assets/sfx/notification.mp376.7 KB
  • audio/assets/sfx/ping.mp325.8 KB
  • audio/assets/sfx/pop.mp322.5 KB
  • audio/assets/sfx/riser.mp3313.5 KB
  • audio/assets/sfx/sparkle.mp356.3 KB
  • audio/assets/sfx/typing.mp326.2 KB
  • audio/assets/sfx/whoosh-cinematic.mp3173.3 KB
  • audio/assets/sfx/whoosh-short.mp318.0 KB
  • audio/assets/sfx/whoosh.mp318.0 KB
  • audio/references/bgm.md8.0 KB
  • audio/references/captions/authoring.md9.3 KB
  • audio/references/captions/motion.md5.5 KB
  • audio/references/captions/transcript-handling.md5.3 KB
  • audio/references/remove-background.md8.3 KB
  • audio/references/requirements.md4.2 KB
  • audio/references/sfx.md4.0 KB
  • audio/references/transcribe.md2.7 KB
  • audio/references/tts-to-captions.md1.7 KB
  • audio/references/tts.md13.7 KB
  • audio/scripts/audio.mjs13.2 KB
  • audio/scripts/audio.test.mjs5.9 KB
  • audio/scripts/gemini-pipeline.test.mjs4.8 KB
  • audio/scripts/heygen-tts.mjs4.3 KB
  • audio/scripts/heygen-tts.test.mjs1.4 KB
  • audio/scripts/heygen-voice.mjs3.8 KB
  • audio/scripts/heygen-voice.test.mjs8.3 KB
  • audio/scripts/lib/audio-meta.mjs1.1 KB
  • audio/scripts/lib/audio-meta.test.mjs4.5 KB
  • audio/scripts/lib/bgm-volume.mjs236 B
  • audio/scripts/lib/bgm.mjs11.3 KB
  • audio/scripts/lib/bgm.test.mjs2.6 KB
  • audio/scripts/lib/concurrency.mjs527 B
  • audio/scripts/lib/concurrency.test.mjs1.6 KB
  • audio/scripts/lib/gemini-auth_test.py4.3 KB
  • audio/scripts/lib/gemini-auth.mjs1.6 KB
  • audio/scripts/lib/gemini-auth.py1.9 KB
  • audio/scripts/lib/gemini-auth.test.mjs3.0 KB
  • audio/scripts/lib/gemini-tts.mjs4.6 KB
  • audio/scripts/lib/gemini-tts.test.mjs8.8 KB
  • audio/scripts/lib/heygen.mjs10.7 KB
  • audio/scripts/lib/heygen.test.mjs10.0 KB
  • audio/scripts/lib/host-audio.mjs1.4 KB
  • audio/scripts/lib/host-audio.test.mjs3.9 KB
  • audio/scripts/lib/main-module.mjs479 B
  • audio/scripts/lib/media-record.mjs4.1 KB
  • audio/scripts/lib/media-record.test.mjs7.7 KB
  • audio/scripts/lib/openverse.mjs4.9 KB
  • audio/scripts/lib/python.mjs3.2 KB
  • audio/scripts/lib/python.test.mjs5.2 KB
  • audio/scripts/lib/sfx.mjs7.2 KB
  • audio/scripts/lib/sfx.test.mjs11.6 KB
  • audio/scripts/lib/tts.cleanup.test.mjs6.6 KB
  • audio/scripts/lib/tts.mjs17.1 KB
  • audio/scripts/lib/tts.spawn.test.mjs5.1 KB
  • audio/scripts/lib/tts.test.mjs8.1 KB
  • audio/scripts/lyria-recipe.py4.9 KB
  • audio/scripts/wait-bgm.mjs5.7 KB
  • audio/scripts/wait-bgm.test.mjs3.3 KB
  • luts/index.json2.0 KB
  • luts/README.md1.1 KB
  • references/audio.md2.2 KB
  • references/grading.md6.8 KB
  • references/media-treatment-recipes.md35.0 KB
  • references/media-treatments.md13.8 KB
  • references/memory.md3.4 KB
  • references/meta.md6.3 KB
  • references/operations.md14.4 KB
  • references/resolve.md9.4 KB
  • references/setup-providers.md8.4 KB
  • references/telemetry-dashboard.md4.1 KB
  • scripts/audio-duck.mjs4.0 KB
  • scripts/compatibility.test.mjs3.7 KB
  • scripts/dither.mjs9.7 KB
  • scripts/dither.test.mjs4.6 KB
  • scripts/eval.mjs14.5 KB
  • scripts/lib/config-lock.mjs1.5 KB
  • scripts/lib/cutlist.mjs6.2 KB
  • scripts/lib/duck.mjs3.3 KB
  • scripts/lib/error-diffusion.mjs6.5 KB
  • scripts/lib/index-gen.mjs1.9 KB
  • scripts/lib/manifest.mjs9.2 KB
  • scripts/lib/media-fetch.mjs2.8 KB
  • scripts/lib/media-home.mjs730 B
  • scripts/lib/npx-sync.mjs2.3 KB
  • scripts/lib/parakeet-words.mjs1.1 KB
  • scripts/lib/prefs-store.mjs6.5 KB
  • scripts/lib/recipe-store.mjs12.7 KB
  • scripts/lib/telemetry.mjs7.2 KB
  • scripts/lib/telemetry.test.mjs2.2 KB
  • scripts/lib/transcriptCutFade.mjs911 B
  • scripts/lib/words.mjs728 B
  • scripts/prefs.mjs2.4 KB
  • scripts/recipe.mjs3.9 KB
  • scripts/resolve-plugin.test.mjs2.5 KB
  • scripts/resolve.mjs1.3 KB
  • scripts/transcribe.mjs7.3 KB
  • scripts/transcribe.test.mjs4.0 KB
  • scripts/transcript-cut.mjs10.0 KB
  • scripts/transcript-cut.test.mjs9.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Plugin installs: Before setup or freshness commands, follow plugin execution rules when this skill is inside a HyperFrames plugin. Standalone installs keep the update instructions below.

media-use

The media OS for HyperFrames: resolve · generate · operate · remember — every media type, one skill, zero context noise.

Only when HEYGEN_API_BASE is set in your environment (a host app set it and pays for HeyGen with its own key): HeyGen media is already paid for. Do not ask the person to install or sign in to the heygen CLI and do not offer its OAuth allowance; catalog search, TTS and avatar calls here go through the host. When that same host also gives you its own HeyGen tools, use those first. When a call through the host is refused, tell the person the host's message as written (it names the fix, such as adding or replacing the key in the app's Settings) and stop; do not switch to another provider unless they ask.

First run otherwise (no HEYGEN_API_BASE), when you will use HeyGen media (catalog search, TTS, avatar video): install and sign in to the heygen CLI (the free-usage path), then verify with npx hyperframes media-use resolve --doctor. Setup and providers: references/setup-providers.md.

Music and sound effects inside a host app: when the app you run in gives you its own music or sound-effect tools, use those. Without HEYGEN_API_BASE, resolve --type bgm searches the HeyGen catalog through the heygen CLI and fails without it, saying so. resolve --type sfx searches Openverse (CC0 and CC BY only, no account) and falls back to its bundled library offline; credit CC BY sounds as audio/references/sfx.md says.

Without HEYGEN_API_BASE, before generating a voiceover or an avatar video, tell the person: signing in to the heygen CLI with OAuth (heygen auth login --oauth) gives a free allowance for TTS voiceover and avatar videos, while an API key bills API credits.

Resolve — the one verb

npx hyperframes media-use resolve --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 via the heygen CLI, 10k+ tracks)
sfxsound effects (Openverse CC0 / CC BY, bundled 21-file library offline)
imagephotos, backgrounds (HeyGen asset search, 75k+ vectors)
iconicons, symbols (transparent)
logoofficial brand marks (theSVG → 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

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Create a 12-second title animation in HyperFrames, where sweeping leaves reveal two headlines. Customize typography, leaf counts, sweep speed, background color, and the breeze moving the leaves that remain on the text.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Create a nature-themed video opening
  • Reveal two headlines in sequence
  • Adjust leaf movement to suit a title
heygen-com/hyperframes6.7만2026년 10월 18일 업데이트

Plan subtitles as layers over a video, deciding which spoken phrases to omit, show normally, or emphasize behind the subject. The guidance preserves full-frame composition and limits large embedded words to occasional key moments.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Planning subtitles for a talking-head video
  • Choosing words to emphasize behind the subject
  • Centering a scene that carries subtitles
heygen-com/hyperframes6.7만2026년 10월 18일 업데이트

Turn a weekly Markdown changelog into a branded video project with animated interface examples, Annie narration, captions, and background music. The workflow selects key updates and builds a 45–60 second square video, with rendering performed on request.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Turn weekly release notes into a short video
  • Demonstrate product updates with animated interface examples
  • Prepare a branded update video with narration and captions
heygen-com/hyperframes6.7만2026년 10월 18일 업데이트

Add an eight-second HyperFrames headline animation where square tiles lift, tilt, and flip to reveal a second message. Customize both headlines and 18 settings covering tile size, sweep direction, timing, depth, bounce, and shadows.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Reveal a second headline through flipping tiles
  • Create an animated opening for a promotional video
  • Adjust tile depth and shadows to suit a design
heygen-com/hyperframes6.7만2026년 10월 18일 업데이트

Add a 3D card carousel to a HyperFrames video. Rounded cuboids enter from the right, rotate in sequence, pause on a featured card, and exit left, with 40 variables for content, geometry, lighting, and camera settings.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Presenting multiple cards in a 3D carousel
  • Pausing on a featured card
  • Replacing card content with JSON
heygen-com/hyperframes6.7만2026년 10월 18일 업데이트

Design scene transitions and animated text using matched movement direction and speed across cuts. The catalog provides concrete settings for zooms, blur, word-by-word transitions, staggered entrances, and repositioning groups of elements.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Connect scenes with matching motion
  • Transition between headlines word by word
  • Bring title elements in with staggered timing
heygen-com/hyperframes6.7만2026년 10월 18일 업데이트

heygen-com의 스킬 모두 보기

이 스킬의 문제 신고