Back to skills

Pixel2Motion

Turns a raster logo into a clean SVG, then choreographs a logo animation with an interactive HTML demo.

nolangz

Brand designers / Developers / Founders

Brand styleLicence: MITGitHub stars2.3k
GitHub card for nolangz/pixel2motion

Suggested prompts

Written by PicGens as starting points. Click one to copy it, then paste it to your agent once the skill is installed.

About this skill

Pixel2Motion takes a logo you only have as a PNG, JPG, WebP or screenshot and rebuilds it as a clean, minimal SVG that is ready to animate. Vector fitting is gated on measurable quality — edge smoothness and overlap with the source image — and the skill keeps the fitting evidence so you can review why a shape was accepted.

Once the vector is right, it choreographs a logo animation and produces an interactive HTML motion demo with video previews. Python helpers built on Pillow and NumPy analyse the image, and Chrome with Playwright captures frames deterministically and checks that motion stays continuous. The README documents the local Python setup rather than an agent install command, and also promotes a commercial hosted version.

What it makes

A smooth SVG logo, an SVG/HTML logo animation and a video preview.

Before you install: Python with Pillow, NumPy and Playwright (Chromium).

From the project README

Reproduced from nolangz/pixel2motion by nolangz under the MIT licence.

Pixel2Motion wordmark commercial service preview
www.pixel2motion.com
Better commercial Pixel2Motion services are coming online: polished logo-to-motion workflows, project-ready previews, and production support beyond the open-source skill.
中文:更完整的 Pixel2Motion 商业服务正在上线,面向更稳定的 logo-to-motion 交付、预览和项目支持。


Pixel2Motion - AI Logo Animation Skill

Raster logo → smooth minimal SVG → SVG logo animation → interactive HTML motion demo.

Commercial preview · Live interactive demo · Skill instructions · Companion skill: Pixel2SVG-HTML

Pixel2Motion is an open-source Codex and Claude skill for logo animation, SVG animation, and AI-assisted brand motion. It turns PNG, JPG, WebP, or screenshot logos into clean motion-ready SVG, then exports animated logo HTML, GIF/video previews, and motion QA evidence. Use it for animated logos, SVG logo reveals, logo motion design, pixel-to-vector reconstruction, and developer-friendly HTML animation workflows.

中文:Pixel2Motion 是一个把像素 logo 转成平滑 SVG,再生成品牌 motion、logo reveal、HTML 动效展示和视频预览的 Codex skill。它适合需要可审查矢量拟合、可复用 SVG 结构和可导出动图/透明视频的设计与开发场景。

Recommended review order: the motion gallery below, the commercial preview, the interactive demo, the fitting evidence, and then the implementation workflow.

Pixel-to-Motion Gallery

Each pairing shows the raster source next to the motion output, rendered from docs/index.html at the animation's default speed: Horizon 1900 ms, Continuum 2000 ms, Focus 1700 ms, N 2400 ms, and CueRecord at the page-default 0.65× custom timeline.

Horizon
Pixel source
Horizon pixel source logo
Motion output
Claude Horizon logo motion preview
Continuum
Pixel source
Continuum pixel source logo
Motion output
Claude Continuum logo motion preview
CueRecord
Pixel source
CueRecord pixel source logo
Motion output
Claude CueRecord logo motion preview
N
Pixel source
N pixel source logo
Motion output
Claude N logo motion preview
Focus
Pixel source
Focus pixel source logo
Motion output
Claude Focus logo motion preview

Commercial Preview

Pixel2Motion project preview

The full interactive showcase lives in docs/index.html and is published through GitHub Pages at nolangz.github.io/pixel2motion. A more polished commercial Pixel2Motion service is coming online at www.pixel2motion.com, with project-ready previews and production support beyond the open-source skill.

Fitting Evidence

Every animation is authored against a QA-verified static vector. The CueRecord fitting sequence, read left to right:

CueRecord overlay progress strip

The teal overlays are QA checkpoints, not the deliverable: the vector candidate is repeatedly compared against the raster source until mark scale, dot placement, wordmark baseline, and ink weight hold up — and only then is motion authored on top. The resulting clean semantic SVG, with mark, dot, and wordmark as separate addressable parts, becomes the final-frame contract for the animation.

Pixel2Motion optimizes IoU as a diagnostic, but smoothness and structure are the hard gates. A high-IoU jagged trace is rejected when a lower-complexity smooth vector explains the logo better. The static fitting methodology is documented in full in the companion Pixel2SVG-HTML project.

Deliverables

  • logo.svg: final static vector, structured for motion
  • motion.css: authored choreography targeting semantic SVG ids
  • logo_motion.html: dependency-free showcase HTML with replay, slow motion, speed control, QA hooks, and atomic motion studies
  • motion_spec.md: motion brief, principles applied, timeline, easing tokens, and QA notes
  • outputs/fit_iterations/*.png: geometry overlay evidence
  • outputs/motion_frames/*.png and outputs/motion_strip.png: deterministic motion QA evidence
  • outputs/final_render.png and outputs/html_render.png: static render checks

Workflow

  1. Read SKILL.md and the relevant reference files before fitting or choreographing.
  2. Write the motion brief in motion_spec.md: personality, usage context, part inventory, and choreography sketch.
  3. Fit and QA the static vector:
python3 scripts/render_overlay.py logo.svg source.png \
  --out outputs/fit_iterations/01_overlay.png \
  --render-out outputs/final_render.png \
  --report outputs/fit_metrics.json
  1. Audit complex curves when smoothness is a concern:
python3 scripts/svg_path_audit.py logo.svg \
  --out-svg outputs/bezier_segments.svg \
  --report outputs/bezier_audit.json
  1. Build the showcase HTML from the verified SVG and authored CSS:
python3 scripts/animate_svg_showcase.py logo.svg \
  --css motion.css \
  --out logo_motion.html \
  --title "Logo Motion" \
  --duration-hint 1500
  1. Capture deterministic motion frames:
python3 scripts/capture_motion_frames.py logo_motion.html \
  --times 0,300,700,1000,1250,1500 \
  --out outputs/motion_frames \
  --strip outputs/motion_strip.png \
  --compare-final outputs/final_render.png
  1. Probe risky motion windows when the animation uses draw-on, crossings, masks, or handoffs:
python3 scripts/probe_motion_continuity.py logo_motion.html \
  --times 500,700,900 \
  --probe "#draw-stroke:stroke-dashoffset,#pen-glint:offset-distance"

Requirements

  • Python 3.10+
  • Pillow and numpy for image analysis helpers
  • Chrome or Chromium for geometry and HTML rendering
  • Playwright for deterministic frame capture and motion continuity QA

Recommended local setup:

python3 -m venv .venv
.venv/bin/pip install pillow numpy playwright
.venv/bin/python -m playwright install chromium

If Chrome is not on the default path, set CHROME_BIN before running render checks:

export CHROME_BIN="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

Repository Layout

  • SKILL.md: Codex-facing pixel-to-vector-to-motion workflow
  • agents/openai.yaml: UI metadata for the skill
  • references/: animation principles, motion personality, reveal patterns, HTML delivery template, and fitting references
  • scripts/: helpers for tracing, rendering, overlays, path audits, showcase HTML generation, deterministic frame capture, and motion continuity probing
  • docs/: GitHub Pages demo, README preview images, GIFs, and fitting-process evidence

Publishing Checklist

  • Confirm SKILL.md, agents/openai.yaml, references/, scripts/, and docs/ are committed.
  • Keep generated logo deliverables, motion captures, local virtual environments, caches, and per-logo outputs/ out of git.
  • Enable GitHub Pages from branch main, folder /docs, after the first push.
  • Add a LICENSE file before publishing if this repository should grant reuse rights.
  • After creating the GitHub repository, add the remote and push:
git remote add origin git@github.com:<owner>/pixel2motion.git
git branch -M main
git push -u origin main

More From Nolanlai

Nolanlai's Creative Tools
www.nolanlai.com
More creative tools, experiments, and notes from Nolanlai.

Nolanlai WeChat QR code for Vibe-Creators invite
Vibe-Creators 交流
Vibe-Creators 群已满。扫码加我为好友,我邀请你进群。
The Vibe-Creators group is currently full. Scan the QR code to add me on WeChat, and I can invite you in.

Star History


Classic hand-drawn growth curve for Pixel2Motion GitHub stars.

How to install Pixel2Motion

  1. 1.Set up the Python helpers

    The README documents this local setup; add the repository folder to your agent’s skills directory as usual.

    python3 -m venv .venv && .venv/bin/pip install pillow numpy playwright && .venv/bin/python -m playwright install chromium

Licence and attribution

Pixel2Motion is created and maintained by nolangz and published at github.com/nolangz/pixel2motion under the MIT licence. The summary, suggested prompts and “About this skill” text are written by PicGens; the README section is reproduced under the project’s licence. The preview is GitHub’s own social card for the repository. PicGens is not affiliated with the author.

Related skills

All skills →
  • GitHub card for anthropics/skills

    Theme Factory

    Get every deck, doc and page in a project wearing the same palette and font pairing.

    anthropicsGitHub stars: 179k
  • GitHub card for Leonxlnx/taste-skill

    Taste Skill: Brand Kit

    Get studio-grade brand boards — guidelines, logo directions, palette and type — as images.

    LeonxlnxGitHub stars: 91k
  • Example output of the Design DNA agent skill

    Design DNA

    Get a reusable JSON of a design’s visual identity, and your own page built in that style.

    zanweiGitHub stars: 1.8k
  • GitHub card for anthropics/skills

    Canvas Design

    Get an original poster or art print drawn in code, plus the design philosophy behind it.

    anthropicsGitHub stars: 179k

Looking for prompts instead of a skill?

Browse real brand & logo prompts with the images they made, or give your agent the free PicGens template skill.