Live: https://motionpromptgallery.com
Motion graphics made with frontier AI models, next to the prompts that made them. Covers Claude Opus 5.5, Kimi K3, Claude Fable 5 and GPT-6 Astra.
Built with Next.js 15 (App Router, output: 'export'), React 19, Tailwind CSS 3 and Geist. The build is fully static, so out/ can go on any static host (Vercel, Netlify, Cloudflare Pages, S3).
npm install
npm run dev # http://localhost:3000
npm run build # static site in out/ (prebuild generates public/data/)
npm start # serve out/ locally
npm run screenshots # headless Chromium screenshots of out/ into screenshots/data/items.json: every entry. Fields: id, title, slug, model, type (prompt|skill), creatorName, handle, postUrl, postedAt, stack, prompt, code, tags, video, poster, aspectRatio, sourceNote, and optionalfeatured.featured: a rank (1 = first card) for pieces that lead the homepage. The default "Featured" order is featured pieces by rank, then pieces with video, then stills, newest first within each. Featured pieces must have a video.data/removed-duplicates.json: entries taken out before launch (repeated prompts and non-motion comparison posts), kept verbatim with the reason so they can be restored.public/videos/*.mp4andpublic/posters/*: media referenced byvideoandposter.data/leads.md: pieces we found but couldn't add yet (no verbatim prompt, unreadable source, and so on).
npm run add-item -- path/to/new.json # an object or an array
npm run add-item -- path/to/new.csv --dry-run # validate first (see data/example-new-items.csv)
npm run validate # check the whole datasetThe script normalizes model names, generates slugs and ids, probes aspect ratios with ffprobe, rejects duplicates, and checks that media files exist.
Editorial rule: only add real pieces. Each one needs the real source URL and the creator's actual prompt text (or a skill name and link). Every piece belongs to its creator.
- The contact address lives in
lib/site.ts(contactEmail). It's used by the footer's "request removal" and "submit a piece" mailto links. - The public site URL defaults to https://motionpromptgallery.com (
DEFAULT_SITE_URLinlib/site.ts). It drivesmetadataBase, canonical andog:url, the absoluteog:image/twitter:imageURLs,sitemap.xmlandrobots.txt. - The default share card is
public/og.png(1200x630, regenerate withnode scripts/make-og.mjs). Entry pages use their own poster, falling back toog.png.
The code is open source under the MIT License.
The gallery content (prompts, code samples, videos and posters) is not covered by that license. Every piece belongs to the creator credited on its entry, with a link to the original post. Creators can request removal at mikenevermis@gmail.com, or by opening an issue.
Found a motion piece made with one of these models, with its prompt published? Open a PR that adds it to data/items.json (use npm run add-item) with the real source URL and the creator's verbatim prompt.