make-video
Make videos drawn with code: motion graphics, launch and explainer videos, animated shorts, animated charts and data, logo…
Find, preview, cut and credit archival B-roll from the Internet Archive (archive.org) for a Helios video — public-domain, CC BY and CC BY-SA film plus Prelinger Archives. Use when a Helios composition needs real footage as a plate, cutaway, masked fill or texture. Not for
Claude Code
$ npx -y skills add BintzGavin/helios --skill archive-broll --agent claude-code
Codex
$ npx skills add BintzGavin/helios --skill archive-broll -a codex -y
Cursor
$ npx skills add BintzGavin/helios --skill archive-broll -a cursor -y
Gemini CLI
$ npx skills add BintzGavin/helios --skill archive-broll -a gemini-cli -y
GitHub Copilot
$ npx skills add BintzGavin/helios --skill archive-broll -a github-copilot -y
OpenCode
$ npx skills add BintzGavin/helios --skill archive-broll -a opencode -y
Windsurf
$ npx skills add BintzGavin/helios --skill archive-broll -a windsurf -y
name: archive-broll description: Find, preview, cut and credit archival B-roll from the Internet Archive (archive.org) for a Helios video — public-domain, CC BY and CC BY-SA film plus Prelinger Archives. Use when a Helios composition needs real footage as a plate, cutaway, masked fill or texture. Not for generating footage or editing the user's own camera video.
The [Internet Archive](https://archive.org/developers/) holds millions of films: Prelinger Archives (industrial, educational, advertising), NASA, newsreels, home movies and Creative Commons uploads. No API key is needed. [`scripts/archive-broll.mjs`](scripts/archive-broll.mjs) (Node 18+, ffmpeg for `clip`) wraps three endpoints:
| Command | Endpoint | Does | |---|---|---| | `search` | `advancedsearch.php` | Lists movie items with reusable rights | | `inspect` | `metadata/<id>` | Picks the best MP4, saves thumbnails named by second offset | | `clip` | `download/<id>/<file>` | Cuts only the seconds you need over HTTP, writes credits |
node <this-skill>/scripts/archive-broll.mjs search "factory assembly line" --rows 12 node <this-skill>/scripts/archive-broll.mjs search "city traffic" --collection prelinger --years 1945-1965 node <this-skill>/scripts/archive-broll.mjs search 'title:(rocket launch)' --collection nasa --json
Terms use Archive search syntax (`title:(...)`, `subject:(...)`, `AND`, `OR`); results are ranked by relevance (`--sort downloads` for popularity). Every result carries a rights label:
| Label | Meaning | |---|---| | `public-domain` | Public-domain mark or CC0. Credit anyway. | | `cc-by` | Credit required. | | `cc-by-sa` | Credit required, and the finished video must use the same license. Tell the user before using it in a commercial video. | | `collection-policy` | No item license; the collection publishes a rights statement (Prelinger Archives). Credit the collection and link the statement. |
Non-commercial, no-derivatives and unknown-rights items are left out. `--include-unknown` shows unknown items; use one only after the user confirms they hold the rights. Labels come from uploader metadata: they're a filter, not legal advice. Flag anything that looks like a commercial film, TV show or trademark-heavy footage even when it's labelled public domain.
node <this-skill>/scripts/archive-broll.mjs inspect <identifier> --out videos/<slug>/broll --thumbs 16
Writes `item.json` and thumbnails named by offset (`00450s.jpg` = 7:30 in). Open them with your image tool and pick start times. `--large` grabs sharper 640 px frames with ffmpeg when the archive's 160 px thumbnails aren't enough.
node <this-skill>/scripts/archive-broll.mjs clip <identifier> --start 450 --duration 3 \ --out videos/<slug>/broll --name traffic-01.mp4
Output is H.264, no audio (`--audio` keeps it), short keyframe interval so per-frame seeking stays cheap; `--width 1920` upscales. Cut about 0.5 s extra on each side for transitions. Each clip appends to `CREDITS.md` and `credits.json` in the output folder.
The renderer seeks every `<video>` to `(t - data-helios-offset) + data-helios-seek` before each frame and waits for it.
DOM page: place it and style it.
<video id="plate" src="broll/traffic-01.mp4" muted playsinline preload="auto"
data-helios-offset="4.0" data-helios-seek="0.5"></video>Canvas page: keep the same hidden `<video>` (`style="display:none"`), and wait for its seek inside `renderAt` before drawing:
const plate = document.getElementById('plate');
const settled = (v) => (v.seeking || v.readyState < 2)
? new Promise((r) => { v.addEventListener('seeked', r, { once: true }); v.addEventListener('canplay', r, { once: true }); })
: null;
window.renderAt = async (t) => {
await ready;
if (t >= 4.0) { await settled(plate); ctx.drawImage(plate, 0, 0, W, H); }
// ...
};Make the footage belong to the look: grade it with an SVG colour matrix, `mix-blend-mode`, or by drawing it into the style's plates (duotone, halftone, ink density). Most archive film is 4:3 SD from the 1940s–70s: masks, frames and collage suit it better than full-bleed. Check a sheet to confirm the clip moves between frames.
Keep `CREDITS.md` with the video, and put credits in the end card, description or project docs as the license requires (always for CC BY and CC BY-SA). List the clips and their rights when you hand over.
Programmatic video creation with web technologies you already know. CSS animations just work.
Make videos drawn with code: motion graphics, launch and explainer videos, animated shorts, animated charts and data, logo…
Core API for Helios video engine. Use when creating compositions, managing timeline state, controlling playback, or subscribing…
Story-first motion design philosophy for animated video: motion must earn its place; arc (establish, complicate, resolve); show…
End-to-end production plan template for feeling-first cinematic product promos: brief interrogation, 45s beat structure (cold…
Opt-in library of established visual styles for code-drawn Helios videos: style cards (colour rules, type, motion grammar, a…
Patterns for using Helios with Vanilla Canvas API. Use when building high-performance 2D/3D animations without frameworks.
Overlay doctrine for captions in HyperFrames videos — the caption MODEL (drop / rail / embed) and the rule that captions are an…
AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction for video production. Use when…
This skill should be used when a Seedance 2.0 prompt contains generic AI filler, hollow superlatives, vague cinematic language,…