peepshow/ how-to/ webp-animated-to-text

Reel #H-10 Animated WebP → frames → any LLM

peepshow how-to / webp-animated-to-text

Send animated WebP to LLMs — every frame, not just the first

Animated WebP is the new GIF — smaller, higher quality, widely deployed by modern websites. Vision APIs read it as a still. peepshow unrolls every frame into a JPEG sequence any LLM accepts.

Steps

  1. Install peepshow
    npm install -g peepshow
  2. Run on the WebP
    peepshow ./loop.webp
  3. Hand frames to your LLM
    peepshow ./loop.webp --emit json > run.json

Why it works

WebP is everywhere now — most static images from modern sites are served as WebP, and animated WebPs increasingly replace GIFs. LLM vision APIs accept static WebP but flatten animated WebP. peepshow detects the format and treats it as a motion source.

When it helps

  • Scraped web assets where animations are served as WebP.
  • Modern product screenshots / explainers exported as animated WebP.
  • Asset pipelines that have already migrated GIF → animated WebP.

Pitfalls

  • Static WebPs extract one frame — same as opening the WebP directly.
  • Very small animated WebPs (32×32) may need `--resize 256` for the model to read detail.

Works with these LLMs