All skills

Anime Cel

Make Japanese TV-anime style videos (MP4) with code — cel-shaded characters with tapered line art, big detailed eyes, hair clumps with a specular b…

Claude skills4 min read

By edenfunf/reelmimic, MIT licence. Shared here with credit.

anime-cel

Modern TV-anime look drawn entirely by code: characters with confident tapered line art (heavier on the shadow side), flat cel colour + one hard-edged shadow tone + a rim highlight, large layered eyes, hair built from pointed locks with an "angel ring" highlight; line-free painted backgrounds; anime staging effects. Every frame is a pure function of t.

Read GUIDE.md in full before building anything. Model sheets in docs/: faces-hina.jpg, faces-ren.jpg (19 expressions each), turns.jpg (front → 3/4 → profile), bodies.jpg, motion.jpg (stances, walk, run), hands.jpg, sets.jpg, fx.jpg, and demo-sheet.jpg (the demo film).

Workflow

  1. Scaffold bash .claude/skills/anime-cel/scripts/new_project.sh <project-dir> (--keep-demo keeps the example). It copies template/, unhooks the demo, runs npm install, checks node/ffmpeg/Chrome.
  2. Storyboard each shot with its reads (what the viewer must understand, in order, with times) and the anime staging you will use (establishing pan, cut on action, focus-line BG for the emotional beat, impact frame, reaction close-up…). Set duration in src/config.js.
  3. Build one file per shot in src/scenes/ (IIFE ending in shots([[t0, fn]]), add its <script> to studio.html). A shot paints the whole frame: setTOD() → SET.<set>(cam, t) (opens the camera) → characters → camEnd() → screen effects → transition. Captions go in window.overlayHook with subtitle().
  4. Look at it (from the project dir), open every image with Read:
    node render.mjs --sheet=0.5,1.5,2.5,3.5 --cols=4 --w=480 --out=out/check/a.jpg    # key frames
    node render.mjs --strip=3.8:4.5 --cols=6 --w=320 --out=out/check/s.jpg             # every frame of an action
    node render.mjs --stills=4.4 --out=out/check/st                                    # full-res PNG to judge faces
    node render.mjs --loop=faces_hina --sheet=0 --cols=1 --w=1920 --out=out/check/f.jpg  # model sheets (faces_ren, turns, bodies, motion, hands, sets, fx, close_hina, close_ren)
    
  5. Render node render.mjs --frames --workers=4 && node render.mjs --encode --out=out/video.mp4 [--audio=...].

Free, for your email

Unlock the full skill and get it by email

The rest opens right here, and a copy comes to your inbox too. One email unlocks every guide and every skill. Use your real address.

Unlocks: API summary · Rules that matter most · Engine gotchas

No spam. Reply "unsubscribe" any time and I delete your address.