mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-01 19:42:03 +00:00
7adcb2322d8fd7de51d7556d3edf1c8f2f85e697
The repo has a ruleset requiring these checks: Build, Typecheck, Test: core, Test: engine, Test: runtime contract, regression. With paths-ignore, docs-only PRs would never report these checks, blocking merge forever. Fix: add a `changes` job using dorny/paths-filter that detects whether code files changed. Each job uses `if: needs.changes.outputs.code == 'true'` which causes GitHub to report the job as "skipped" (counts as passing) rather than "never started" (counts as pending). The regression summary job explicitly handles the no-code-changes case by checking the filter output before evaluating shard results. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Hyperframes
Write HTML. Render video. Built for agents.
Hyperframes is an open-source video rendering framework that lets you create, preview, and render HTML-based video compositions — with first-class support for AI agents via MCP.
Why Hyperframes?
- HTML-native — AI agents already speak HTML. No React required.
- Frame Adapter pattern — bring your own animation runtime (GSAP, Lottie, CSS, Three.js).
- Deterministic rendering — same input = identical output. Built for automated pipelines.
- AI-first design — not a bolted-on afterthought.
Quick Start
npx create-hyperframe my-video
cd my-video
npx hyperframes dev # preview in browser
npx hyperframes render # render to MP4
How It Works
Define your video as HTML with data attributes:
<div id="stage" data-composition-id="my-video"
data-start="0" data-width="1920" data-height="1080">
<video id="clip-1" data-start="0" data-duration="5"
data-track="0" src="intro.mp4" muted playsinline></video>
<img id="overlay" data-start="2" data-duration="3"
data-track="1" src="logo.png" />
<audio id="bg-music" data-start="0" data-duration="9"
data-track="2" data-volume="0.5" src="music.wav"></audio>
</div>
Preview instantly in the browser. Render to MP4 locally. Let AI agents compose videos using tools they already understand.
Contributing
See CONTRIBUTING.md for guidelines on how to contribute.
License
Languages
TypeScript
86%
JavaScript
9.3%
CSS
4.1%
Shell
0.3%
Python
0.2%