Type a sentence or drop a photo. Get a video of it being drawn.

inkline is a Claude skill. It turns a prompt, a portrait or an SVG into a hand-drawn video: marker, pencil or chalk in frame, stroke by stroke, then a colour wash. Rendered on your machine from HTML and JavaScript.

> /plugin marketplace add SunFloat/inkline

Then /plugin install inkline@inkline and ask: draw my photo on a whiteboard

laying out the paper…
00:00.00 strokes

Say what to draw.

Every clip below came out of the skill exactly as shown. Portraits are public-domain paintings; the fox is an SVG Claude wrote from one sentence.

Draw this portrait in charcoal.

Photo in. Vincent van Gogh, Self-Portrait, 1887. Public domain.

Draw a fox sitting, whiteboard style.

Prompt in. Claude wrote the line art as SVG; inkline drew it.

Ink and watercolour, slowly.

Photo in. Albrecht Dürer, Young Hare, 1502. Public domain.

Ten media on the shelf.

Each style is a JSON file: paper, tool, line, shading, colour wash and sound. Pick one and the board above redraws in it.

Plus gold, and any style you write yourself.

Try it on your photo.

This page runs the same engine as the skill. Drop a picture and watch the board draw it.

  • Nothing is uploaded. The trace and the drawing happen in this tab.
  • Faces work best: sharp, well lit, a calm background.
  • The skill adds face-aware detail, sound, and the MP4.

Ask for a style. Or invent one.

Say "just do it" and inkline picks for you. Want a say? Claude asks a short round of questions, and a custom look is saved as a style you can reuse.

StyleWhich drawing style?
  1. Graphite (Recommended)HB pencil on drawing paper, crosshatched, soft colour wash
  2. CharcoalBold, smudgy, dramatic, on grey paper
  3. Ink & washSepia pen lines, then watercolour blooms in
  4. BallpointBlue pen in a ruled school notebook

.inkline/styles/brand.json

{
  "name": "brand",
  "extends": "fineliner",
  "label": "Brand blue",
  "ink":   { "color": "#1f4fd8", "width": 1.8 },
  "paper": { "color": "#fffdf7" },
  "trace": { "hatch": "hatch", "hatchDensity": 0.45 },
  "pen":   { "tool": "marker" },
  "sound": { "kind": "marker" }
}

A drawing, rendered like a film.

The video is an HTML page with a canvas whose every frame is a pure function of time. Headless Chrome seeks it frame by frame; ffmpeg stitches the frames and a synthesised pencil track.

In
A prompt, a photo (PNG, JPG, WebP, AVIF), an SVG, or a URL.
Out
MP4 or WebM in 1080p or any size you set, a poster PNG and an optional GIF. 9:16, 4:5, 1:1 and 16:9.
Faces first
On macOS and Windows, Chrome's face detection makes the pencil start at the eyes and draw the face finer.
Deterministic
Same input, style and seed give the same frames. Pages render in parallel and are joined losslessly.
Sound
Pencil, pen, marker or chalk, synthesised from the speed of every stroke. No audio files.
Local
No server, no account, no upload. Node 18, a Chrome you already have, and a one-time setup you approve.

Put it on your wall.

Pick the way you install skills. Before the first video Claude tells you what the render engine needs and installs it only after you say yes.

Claude Code plugin

Recommended. Updates with the plugin.

/plugin marketplace add SunFloat/inkline
/plugin install inkline@inkline

Skills CLI

Works with Claude Code and other agents that read skills.

npx skills add SunFloat/inkline

By hand

Copy the skill folder into your skills directory.

git clone https://github.com/SunFloat/inkline
cp -r inkline/skills/inkline ~/.claude/skills/