hyperframes

作者: heygen-com

对于任何制作、创建、编辑、动画或渲染视频、动画或动态图形的请求——包括宣传片、解说视频、带字幕的片段、标题卡、叠加层或任何合成内容——请先阅读此说明。HyperFrames 通过 HTML 渲染视频;这是入口技能,也是智能体创作或编辑视频的默认方式。它会将请求路由到正确的专业工作流程,并指向 HyperFrames 领域技能,因此在尝试任何其他视频或动画技能之前,请先阅读此说明,而不是猜测工作流程。

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

HyperFrames entry point

HyperFrames renders video from HTML — a composition is an HTML file whose DOM declares timing with data-* attributes, whose animation runtime is seekable, and whose media playback is owned by the framework. The full authoring contract lives in /hyperframes-core; read it before writing composition HTML.

1. Start from project state

Apply the first matching row; do not evaluate lower state rows:

StateAction
Explicit port of existing Remotion source to HyperFramesRead references/routes/remotion-to-hyperframes.md, then route directly to that workflow. Skip the intent layer.
Specific operation on an existing HyperFrames project: inspect, diagnose, validate, preview, render, publish, or batch-renderPerform only that operation. Skip intent and workflow routing; load /hyperframes-cli and any required domain skills.
Specific edit to an existing projectMake the edit. Do not run the intent layer.
BRIEF.md existsRead workflow and flow. Execute that workflow; flow: companion always executes in /general-video. Ask no brief questions.
No brief, but hyperframes.json or STORYBOARD.md existsResume from project files and recorded preferences. Infer the owning workflow from existing artifacts. If it cannot be determined uniquely, ask one routing-only question; do not run the intent interview.
Fresh creationRun the intent layer — references/intent-interview.md — then route once using § 2's table.

If a fresh request does not identify the subject or input, ask what the video is about before routing. Check preferences and recipes before asking anything (references/intent-interview.md, step 1). A figma.com input or a named recipe changes intake, not routing — the interview's "Adapt orthogonal inputs" section handles both.

Keep the project's CLI current

A scaffolded project pins hyperframes@<version> in its package.json scripts so renders stay reproducible; the pin never advances on its own, and a pinned run of an older CLI prints no warning about it. When resuming a project whose scripts carry a pin, probe once before the first render-affecting command:

npx hyperframes@latest upgrade --project . --check

The probe is read-only and reports the pin against the latest release; keep the explicit . — on older CLI releases a bare --project followed by another flag consumes that flag as its directory value. When it reports the project behind — or any CLI output already shows it (the stderr notice This project pins hyperframes@… (latest …), or _meta.updateAvailable: true in a --json result from a pinned script) — apply with npx hyperframes@latest upgrade --project ., then verify with npx hyperframes check. A passing check confirms the project's compositions still validate on the new version — not that rendered output is frame-identical to the old pin — so a successful bump is never silent: name the old and new version in the run's summary. A project with no composition yet needs no verification. If the check fails, revert the package.json change, continue on the pinned version, and report which version the project stays on and why. Act on the signal rather than relaying it to the user; never leave a bumped pin unverified.

2. Route fresh creation

Use the first matching row. Match the requested deliverable, not a word or file type mentioned in passing.

PriorityRequestWorkflow
1Explicitly port an existing Remotion source/remotion-to-hyperframes
2Author a presentation, pitch deck, or navigable interactive deck/slideshow
3Add plain captions or subtitles to existing talking-head footage without changing it/embedded-captions
4Add designed graphic overlays to existing talking-head, interview, or podcast footage without changing the footage/talking-head-recut
5Build a beat-synced video from a music track, with no narration or website capture/music-to-video
6Create an explicitly short, unnarrated, motion-first unit, typically under 10s/motion-graphics
7Explain a GitHub pull request or code change from a PR reference/pr-to-video
8Market or showcase a website, product site, app, or company from a URL or site-specific brief/product-launch-video
9Explain a topic, article, or notes with invented visuals and no product or site capture/faceless-explainer
10Any other custom video or composition/general-video

Before finalizing the route, read references/routes/<workflow>.md — one small file per route: the canonical input/output/trigger contract (available before lazy-installed workflow skills are present) plus that route's interview entry. If the candidate does not satisfy its contract, continue routing instead of forcing the match. Read only the matched route's file.

Resolve common ambiguities

  • A short animated title, logo sting, stat hit, chart hit, map hit, or standalone lower-third is /motion-graphics when it is unnarrated and motion is the message. A static title card, narrated sequence, longer montage, or custom loop is /general-video.
  • An explicitly short motion graphic may use a URL, tweet, article, or screenshot as source material. A generic "make a video from this site" request is /product-launch-video.
  • Existing footage with captions routes to /embedded-captions; footage with designed information cards routes to /talking-head-recut. Retiming, reordering, recoloring, reframing, or remixing footage is a custom edit and falls through to /general-video.
  • A music file selects /music-to-video only when its beat grid drives the piece. Music used as a bed does not override the subject-matched route.
  • "I want a storyboard" changes the review process, not the workflow. With no other routing signal, use /general-video. A confirmed sketched board may itself be the requested deliverable; the review loop defines that stop point.
  • Specialized narrative workflows support up to about 3 minutes and are strongest around 30–90s. Route a clearly longer piece to /general-video. Length never overrides an explicit port, deck, caption, overlay, or music-driven deliverable.

3. Route once, then leave

For fresh creation the intent layer (references/intent-interview.md) runs the full conversation — memory, triage, pitch round, must-haves, run-shape, hand-off — and ends by writing BRIEF.md. The brief is the only routing artifact the workflow reads; nothing later re-opens this skill or the interview. Answer every later "what did the route require?" from BRIEF.md.

4. Install and enter the workflow

Before reading the selected workflow, install or refresh it and the core domain skills:

npx hyperframes skills update <workflow-name>

Use the bare name without /. If the command fails, surface the error; do not reconstruct the workflow from memory. Everything else about installation — the core-vs-lazy split, what init refreshes, diagnosis, CI opt-out, and the no-CLI fallback — lives in references/skill-lifecycle.md.

5. Load domain skills on demand

NeedSkill
Composition structure, timing attributes, tracks, variables, determinism/hyperframes-core
Motion rules, scene blueprints, transitions, runtime adapters/hyperframes-animation
Seek-safe GSAP, CSS, Anime.js, WAAPI, FLIP, paths, masks, SVG, 3D keyframes, or hyperframes keyframes diagnostics/hyperframes-keyframes
Design specs, concept, palette, typography, narration, beat planning/hyperframes-creative
Images, icons, logos, audio, captions, grades, LUTs, reusable media/media-use
Init, lint, check, snapshots, compare, batch render, Studio, render, publish, or diagnostics/hyperframes-cli
Registry blocks and components/hyperframes-registry
Figma assets, tokens, components, or storyboard frames as reconstructed motion/figma

Broad feedback about how photographic media looks or behaves also routes to /media-use, even when the user never says “color grading” or “effect”: fix dark/flat/boring footage, stylize a clip, hide a face, or improve a media reveal. Read ../media-use/references/media-treatments.md before editing a treatment; it governs how footage is treated, never whether media may be used. Do not substitute a generic LUT, CSS filter/overlay, or opacity tween for an existing canonical treatment primitive. Keep text/layout/motion-only edits in their owning domain. During a build with important photographic media, include one grounded media-polish scan in the final quality pass; leaving suitable media unchanged is a valid result.

Domain skills never take ownership of the end-to-end deliverable. Load only what the active workflow needs.

来自 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
HyperFrames的所有动画知识——原子运动规则、多阶段场景蓝图、场景过渡、更广泛的动态设计技术,以及七种运行时适配器(默认GSAP,外加Lottie、Three.js、Anime.js、CSS关键帧、Web Animations API、TypeGPU)。适用于任何运动或动画任务:选取2-4条规则进行组合,或加载蓝图,或查询特定运行时的API(例如GSAP缓动函数/Lottie播放器/Three.js混合器)。HyperFrames原生特性:单一暂停时间线,安全跳帧,...
creativedevelopmentdesign
hyperframes-core
heygen-com
HyperFrames HTML 组合合约。用于组合结构、数据属性、剪辑、轨道、子组合、变量、媒体播放、确定性渲染规则以及最小可渲染项目的验证。
developmentmediacreative
hyperframes-media
heygen-com
为HyperFrames合成提供资产预处理——多供应商TTS(HeyGen / ElevenLabs / Kokoro本地)、多供应商BGM(Google Lyria / 本地MusicGen)、Whisper转录、背景移除及字幕编写。用于npx hyperframes tts、bgm、transcribe、remove-background、语音/供应商选择、音乐情绪提示、字幕/副标题/歌词/卡拉OK/逐词样式。
mediaaudiovideo
hyperframes-registry
heygen-com
安装并将注册表块和组件接入HyperFrames组合中。在运行hyperframes add、安装块或组件、将已安装项接入index.html或处理hyperframes.json时使用。涵盖add命令、安装位置、块子组合接入、组件片段合并、注册表发现,以及编写新块或组件以向上游贡献(构思→脚手架→验证→PR)。
developmentapicode-review
general-video
heygen-com
用作自定义HyperFrames HTML视频合成创作的后备方案,适用于无专门工作流程的场景。涵盖较长或多场景作品、品牌/宣传片、蒙太奇、标题卡、动态海报、静态循环以及任意长度或格式的自由创作。不适用于营销产品推广(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
对于任何制作、创建、生成、编辑、动画化或渲染视频、动画、动态图形、解说视频、标题卡、叠加层、带字幕视频、产品宣传片、网站视频、公关或更新日志视频、数据蒙太奇、动态海报或HyperFrames HTML合成的请求,请从此处开始。当用户希望HyperFrames创作或渲染完成的MP4/网络视频、选择工作流程,或在产品发布视频、无脸解说视频、网站转视频等之间路由时,请在其他视频或动画技能之前使用此功能。
creativevideomedia