Reference

CLI reference

Every command and flag, including gallery, edit, history, tools, the PixelLab unzoom, pixelate, vfx, font, estimate-skeleton, and skeleton-preview utilities, automation, and exit behavior.

pixelkiln <command> [options]

Unknown commands, positional arguments, and flags are errors. The only positional words accepted are a command's own subcommands (refine approve, workspace add <manifest>, and the like), estimate-skeleton's one image path, and skeleton-preview's keypoints file or asset id. Repeated --style, --only, --claims, and --output-role values accumulate; comma-separated values work too. This strict parsing prevents a misspelled filter from widening a paid run.

The manifest's top-level provider is the default; each style may select a different provider. plan, doctor, and pipeline commands route the resolved work accordingly. The experimental retrodiffusion adapter supports still-image map/pixflux, tiles sheets, and animation GIF/spritesheet work. The experimental comfyui adapter runs committed API-format map and ordered still-frame workflows on a self-hosted server. The experimental scenario adapter runs hosted still models, with reference-image edits, Compute Unit preflight, and durable asset recovery.

Which command:

I want toRun
see what a run would do and cost, spending nothingpixelkiln plan
generate everything the manifest still needspixelkiln gen --budget 40
hold every generated file to the style's paletteset "enforcePalette": true on the style, then pixelkiln fetch
draw a character in 8 directions, then its poses and loopsa character style with state and animation assets; one pixelkiln gen runs the waves
rotate your own sprite into 8 directions"reference": "refs/bot-south.png" on the base; mode: pro-flash does it for 1 generation at 64px
get the east-facing loop without paying for it"bot.walk.east": { "mirror": "bot.walk.west" }
declare one loop for several directions, mirroring the rest"animation": { "of": "bot", "directions": ["south", "west", "north"] }; --only bot.walk selects the whole family
make a bust portrait, or re-clothe a loop from an outfit image"portrait": { "of": "mira", "size": 64 }, "outfit": { "of": "mira.walk", "reference": "refs/armor.png" }
generate one asset, or one stylepixelkiln gen --only anvil --budget 2, pixelkiln gen --style neon --budget 20
finish a run that was interruptedpixelkiln plan, then the next: command it prints (poll, pick, or fetch)
choose among candidates the provider returnedpixelkiln pick
get back a generated file I deleted or lostpixelkiln restore
bring back the generation a regeneration replacedpixelkiln history, then pixelkiln restore --only anvil --generation 1
look at everything the project has madepixelkiln gallery
change prompts and sizes, or regenerate, from the browserpixelkiln gallery --edit --budget 10
touch a sprite up by hand and keep the editpixelkiln edit --only anvil
stop tracking a hand editpixelkiln edit detach --only anvil
build a sprite sheetpixelkiln pack --style base
place sprites on a sheet at declared cellspixelkiln mount --style base
export a tileset for Tiled or Godotpixelkiln export --style ground --format tiled
get a sheet Phaser, Unity, or Godot loads as animationspixelkiln pack --style hero --format aseprite or --format godot
check the art against the style's palette and gridpixelkiln audit --style base
produce the palette-clean, grid-true final artpixelkiln refine then pixelkiln refine approve --from <record> --reviewer "Name"
claim art already on my provider accountpixelkiln adopt
find paid work on the account that no lockfile claimspixelkiln salvage
accept reworded prompts without regeneratingpixelkiln accept
drop lock entries the manifest no longer declarespixelkiln prune
check the project before committing or in CIpixelkiln doctor, pixelkiln plan --check
see the account balancepixelkiln balance
shrink upscaled outside art to its native grid before using it as a referencepixelkiln unzoom --from refs/knight-512.png --out refs/knight.png
turn a photo, painting, or render into pixel artpixelkiln pixelate --from renders/lodge.png --out art/lodge.png
make a normal map so an engine can light a sprite or a loop strippixelkiln normal-map --from art/hero-walk.png --frames 6
make a pixel-art effect (spell, hit, explosion, aura), freepixelkiln vfx --preset explosion --out fx/explosion
generate a pixel font (.ttf plus glyph atlas)pixelkiln font --description "warm orange arcade font" --out fonts/arcade
start an animate-skeleton keypoints file from an imagepixelkiln estimate-skeleton poses/hero.png --out poses/hero-swing.json
see a keypoints file's poses over the source before payingpixelkiln skeleton-preview hero-swing
work across several projectspixelkiln workspace add ../other/pixelkiln.manifest.json, then --workspace on gallery and salvage

Every command takes --manifest <file> when the manifest is not in the working directory. Commands that spend take --budget; commands that replace a file you changed take --force.

Everyday pipeline

Reconciliation and lifecycle

Local quality and derived output

PixelLab utilities

Three commands call PixelLab on loose files rather than manifest assets. None reads the manifest or touches the lockfile; all three load PIXELLAB_API_KEY from the environment or a .env.local/.env beside --manifest or in the working directory, the same as every other command. A fourth, skeleton-preview, is their local companion and calls nothing.

Utility commands