Install
openclaw skills install @runshengdu/paper-to-videoTurn a research paper into a silent, general-audience explainer on a declarative HyperFrames video.
openclaw skills install @runshengdu/paper-to-videoCreate a silent visual explanation from one research paper. Author it as a clock-addressable HyperFrames composition: timeline.yaml owns global time, semantic colors, the font, and formula TeX; scene HTML owns graphics and local motion. Unless the user requests otherwise, select a duration between 2 and 5 minutes based on the approved scope; do not impose a shorter global limit.
Keep every paper-specific artifact in output/<paper_short_name>/ under the current working directory, including when that directory is this skill. Derive paper_short_name from the paper title, lowercase it, replace unsafe characters with hyphens, and keep it short. If that directory already belongs to another paper, ask the user for a different name or append an unambiguous suffix. Do not write generated artifacts into references/, scripts/, or assets/. The shared HyperFrames runtime lives at runtime/ under this skill.
Before Phase 2, obtain the video-text language if the user has not already provided it. Do not ask the user to choose subtitles or duration unless they state an additional requirement:
During Phase 2, choose and record a candidate font that supports the selected video-text language. Phase 3 must verify that font before scene HTML is written; if it is unavailable, choose an equivalent supported font and update the script's technical note.
Audio is always excluded. Titles, formula labels, axis labels, and short explanatory callouts are visual content rather than subtitles.
This skill has two explicit approval gates:
Do not write video-script.md before the user approves the analysis. Do not install a rendering environment, write timeline.yaml, write scene HTML, or render video before the user approves the script. After script approval, the agent may write timeline.yaml before a rendering runtime is available, but may not write scene HTML or render until the selected font and runtime pass the environment check. Feedback or a request to revise is not approval.
After a full video exists, clock-time notes such as 1:23 把公式改成 … are edits, not a new Phase 1. Follow references/clip-timeline.md.
Read references/paper-analysis.md, create paper-analysis.md, then ask the user to approve it or request changes and stop. That reference owns analysis structure, accessible technical explanation, and factual boundaries.
After explicit analysis approval, read references/video-script.md and the approved analysis. Create video-script.md by first deriving its complete subtitle narration from the analysis, then deriving the storyboard's on-screen evidence from that narration. Present both for approval and stop. That reference owns duration, public-language writing, visual handoffs, and subtitle continuity. The approved duration limit governs the timeline and final media check.
After explicit script approval:
timeline.yaml from the approved script, including its caption fields when subtitles are enabled. Choose a paper-specific colors palette; the starter hex values are schema filler, not a house look. This non-rendering planning work does not need a runtime.Follow the time-edit protocol in references/clip-timeline.md: resolve the clock time before touching files, edit only the hit target, then regenerate hosts and snapshot the named time. Use scripts/resolve_time.py when clips overlap, the time is on a boundary, or the hit is ambiguous.
runtime/ # shared HyperFrames, GSAP, KaTeX; not a paper artifact
output/<paper_short_name>/
├── paper-analysis.md
├── video-script.md
├── timeline.yaml
├── animation/
│ ├── index.html
│ ├── style.css
│ ├── timeline.css
│ ├── vendor/
│ └── scenes/
│ └── scene_*.html
├── review/
├── captions.<language>.srt # unless subtitles were declined
└── <paper_short_name>.mp4
The final MP4 must be 16:9, 1920x1080, 30 fps, within the user-approved duration, and contain no audio stream. When subtitles are enabled, they must be burned into the image; the MP4 must not contain a subtitle stream. It must contain no subtitle stream when subtitles were declined. The output directory must not retain a silent-intermediate MP4.