dynimage
Dynamic GitHub stat images for README embeds. Animated SVG on Edge. Raster PNG/WebP/AVIF on Node via Skia + Sharp. Drop one URL into an <img> tag — it stays current.
Cards
/api/<user>/commits.svg — edge — Commits in the last year
/api/<user>/commits.png — edge — Commits in the last year/api/<user>/streak.svg — nodejs — Contribution streak
/api/<user>/streak.png — nodejs — Contribution streak
/api/<user>/portrait.png — nodejs — Profile portrait
/api/<user>/portrait.webp — nodejs — Profile portrait
/api/<user>/portrait.avif — nodejs — Profile portrait/api/<user>/text.svg — edge — Text
/api/<user>/text.png — edge — Text/api/<user>/metric.svg — edge — Metric
/api/<user>/metric.png — edge — Metric/api/<user>/bar.svg — edge — Proportion bar
/api/<user>/bar.png — edge — Proportion bar/api/<user>/orbit.svg — edge — Orbit — sphere + icosahedron/api/<user>/typing.svg — edge — Typing speed (nitrotype)/api/<user>/syndicate.svg — edge — Recanon — services CTA/api/<user>/hero.svg — edge — Hero banner — sphere + GitHub + nitrotype/api/<user>/strip.svg — edge — Stats strip/api/<user>/prism.svg — edge — Prism banner — color-shift spectrum/api/<user>/nucleus.svg — edge — Nucleus — compact icosahedron + commits/api/<user>/commits-orbit.svg — edge — Commits + orbit/api/<user>/typing-orbit.svg — edge — Typing speed + orbitURL shape
/api/<user>/<card>.<format>?<query>
card commits | streak | portrait | text
format svg | png | webp | avif (per card; not all support all)
query theme=dark|light|ocean|ember|forest|rose
bg, accent, text, text-muted, gradient, stroke (hex without #)
w, h (override size)
For the full machine-readable card catalog (used by the editor):
GET /api/metaExamples
/api/moefingers/commits.svg
/api/moefingers/commits.png?theme=ocean
/api/moefingers/streak.svg?accent=fb923c
/api/moefingers/portrait.avif?theme=ember&w=900&h=400
/api/anything/text.svg?text=hello&size=48SVG ↔ raster
SVG output is animated (SMIL pulse rings, accent-sheen sweeps, CSS keyframe entrance) and respects prefers-color-scheme when no themeparam is given — one URL adapts to the viewer's reader. PNG/WebP/AVIF outputs are flat snapshots without animation.