Hyperframes logo

Hyperframes

OrganizationPopular
heygen-com
hyperframes

Read first to make, edit, animate or render any video with HyperFrames (HTML rendered to video), including launch films, explainers, music videos, charts, maps, vertical clips, title cards, captions and overlays. Holds the render contract, the work loop and what each kind of video needs.

Overview

Publisherheygen-com
Repositoryhyperframes
Skill namehyperframes
Stars
73.3K
Forks
6.6K
Bundled files
76
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 76 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by heygen-com on GitHub. Read the source before you install it.

Installation

Install the Hyperframes AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/heygen-com/hyperframes/tree/main/skills/hyperframes
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/heygen-com/hyperframes.git /tmp/hyperframes
mkdir -p .claude/skills
cp -r /tmp/hyperframes/skills/hyperframes .claude/skills/hyperframes
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Hyperframes in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Hyperframes on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Hyperframes is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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

HyperFrames

HyperFrames renders HTML to video by seeking a paused timeline frame by frame, so every render is identical; the person edits the same files in the Studio preview. Use it unless another framework or a plain browser recording is asked for. Run the CLI as npx hyperframes <command> (/hyperframes-cli); at the start of a new video, npx hyperframes usage --json reports the person's remaining plan usage (say "unknown" when it is).

index.html is the root composition: it declares the video's variables and mounts one scene per sub-composition from compositions/. Media and fonts live in assets/. A new project: npx hyperframes init <dir>. A website as the subject: npx hyperframes capture <url> --json.

Build what was asked: no voiceover or captions and no new aspect ratio unless the request or the source calls for them; a film over ~15 s that tells something gets music and sound on its visible actions unless the person asked for silence (references/sound.md). A new video is 1920×1080 at 30 fps. A question, a hold or a loose idea gets an answer or a proposal, not an edit. Before hand-writing a named effect, transition, caption style, chart or card, search the registry (/hyperframes-registry). Any media (a presenter or avatar, footage, voice, music): /media-use, which says when HeyGen is needed and what is free. Show real things from their source (the product's screens, the brand's logo, a real place's imagery); draw only what has none.

Contract

npx hyperframes check --json reports most violations with a Fix: line.

  1. Every timed element has class="clip", data-start and data-duration in seconds, and shows over [start, start + duration): land an end state just before its end. data-track-index is only a Studio lane; paint order is z-index.
  2. The video's length is the root's data-duration: overrun is cut, an early end holds the last frame.
  3. Each composition builds one paused timeline and registers it after its tweens: window.__timelines["<data-composition-id>"] = tl.
  4. No Date.now(), unseeded Math.random(), network fetches, timers or repeat: -1. Everything visible is a function of timeline time.
  5. Never tween display, visibility or autoAlpha on a .clip; animate a child.
  6. No CSS transform on an element GSAP transforms; animate transforms, not left/top/width/height.
  7. Never play(), pause() or seek media. A <video> keeps its sound with data-has-audio="true", else it is muted; music, voice, replacement sound and J/L cuts are a separate <audio>.
  8. Every <audio> has an id or it is left out of the mix. No crossorigin on media. Time a <video> or its wrapper, never both.
  9. Only the bundled fonts (references/format.md) resolve by name; any other family needs @font-face to a file in assets/fonts/.
  10. Asset paths are root-relative (assets/...), in sub-compositions too.
  11. Grades, grain, blur and vignettes on footage go through npx hyperframes media-treatment (/media-use), never CSS filters.
  12. A scene file puts its styles, markup and scripts inside <template> and styles its root as #root. Intended overflow or overlap: data-layout-allow-overflow, data-layout-allow-overlap.

Keep it editable

Studio edits the tags you write.

  • One scene per sub-composition, short readable ids; the root holds only scene hosts, media and audio.
  • Timed elements are written in the HTML, not made by script, each with a stable id.
  • Copy, brand colours and swappable media are variables (data-var-text, data-var-src, var(--id)).
  • One kind per track: data-track-kind="graphics" on scene and overlay hosts, captions on the one host that holds every caption group.
  • Content stays inside the 90% action-safe box, captions and key text inside 80% title-safe; Studio draws the guides, never add them.

Work loop

  • An existing project: npx hyperframes timeline --json shows what plays when; before any change, npx hyperframes history --since mine --who <you> shows what the person changed since your last turn: build on it (/hyperframes-cli).
  • A new film over ~15 s that tells something: its type's file (below), then references/story.md: three storylines that are three different films, in words only; the person picks unless they asked for the file or no stops. Then SPEC.md (references/spec.md): every adjective as a number, the defaults banned by name, the shots by frame.
  • After your last edit: npx hyperframes check --json; fix every error, weigh every warning. A film: npx hyperframes snapshot --review and references/review.md, ending in REVIEW.md. A small edit: snapshot what you changed (--at, --range, --composition) and look before you reply.
  • Render when the person approves the Studio preview, asks for the file or asks for no stops, after your check and review pass; otherwise stop at the preview and wait.

The HyperFrames desktop app

Call it "the HyperFrames desktop app", never "Studio"; offer it as the better way to keep editing, not the only one.

  • Before the delivery render of a new video, open the Studio preview, even in no-questions mode, and say they can edit there. If preview printed "Keep editing by chatting with Framey", add that the Edit with Framey button opens the app.
  • After the delivery render, pass on its Framey line in your own words: offer to run the hyperframes open it names or give its download link; else say nothing (autonomous: the delivery note).
  • When any command says to run catch-up, run npx hyperframes catch-up [dir] before your next change; what it lists is their work, not a new request.

What to read

The requestRead
Launch, promo, featurereferences/types/launch.md
Explainer, tutorialreferences/types/explainer.md
Music videoreferences/types/music.md
Chart, numbersreferences/types/data.md
Vertical or social clipreferences/types/vertical.md
3D, simulation, generativereferences/types/3d.md
Character, mascot, story shortreferences/types/character.md
A real place or map; a website, PR or script; kinetic typereferences/film.md
Captions; cards over a talking headreferences/captions.md; references/overlays.md
Motion: eases, titles, cuts, punch-ins, speed, holdsreferences/motion.md
Scenes, attributes, media, lint; GSAP, Lottie, 3D, canvasreferences/format.md; references/runtimes.md

Decks: /slideshow. Remotion source: /remotion-to-hyperframes. Figma: /figma. Installing, refreshing or upgrading skills and the pinned CLI: references/skill-lifecycle.md.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

and 16 more files.

Frequently asked questions

What does the Hyperframes AI skill do?

Read first to make, edit, animate or render any video with HyperFrames (HTML rendered to video), including launch films, explainers, music videos, charts, maps, vertical clips, title cards, captions and overlays. Holds the render contract, the work loop and what each kind of video needs.

Why use Hyperframes on TypingMind?

Because you install it once and use it with any model. Hyperframes is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Hyperframes in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/heygen-com/hyperframes/tree/main/skills/hyperframes. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Hyperframes?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Hyperframes?

As many as you like. As long as a model supports skills, you can use Hyperframes with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Hyperframes AI skill free?

Yes. It is published on GitHub by heygen-com under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇