Layer Pixel Art

layerai/skills/skills/layer-pixel-art

by layerai315d06db6f76MIT4 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 8 days ago

Use when making pixel art with Layer: sprites, retro game characters, pixel icons, pixel tiles, or a sprite sheet and walk cycle. Also when generated pixel art comes back blurry, anti-aliased, or at the wrong grid size, and when packing separate frames into a sheet or cutting an existing sheet into frames. Keywords: pixel art, sprite, sprite sheet, spritesheet, 16-bit, 32x32, walk cycle, animation frames, palette, dithering, pack, split.

Instructions onlyDesign & Creative
AI-generated overview

Guides pixel art generation with Layer: grids, palettes, sprite frames, walk cycles, tiles and sprite-sheet packing.

What it does
This skill gives instructions for producing pixel art with Layer, covering how to specify grid size, palette and era, and which defaults such as anti-aliasing, blur and gradients to exclude in prompts. It describes a frame-by-frame workflow for sprites and walk cycles, using an approved first frame as a reference for later frames, and covers seamless tiles. It also explains using the pack_sprite_sheet and split_sprite_sheet utilities to assemble frames into a uniform sheet or cut an existing sheet into cells.
When to use it
Use it when creating pixel art such as sprites, retro game characters, pixel icons or tiles, or when generated pixel art comes back blurry, anti-aliased or at the wrong grid size. It also applies when packing separate frames into a sprite sheet or splitting an existing sheet into frames.
Requirements
Instructions only, with no bundled scripts. It assumes access to Layer generation tools and the layer skill for generation mechanics, plus the pack_sprite_sheet and split_sprite_sheet utilities; missing sibling skills should be installed by the user.

Layer Pixel Art

Overview

Pixel art is the generation task most likely to come back subtly wrong: a picture of pixel art, soft-edged and anti-aliased at an arbitrary grid, rather than pixel art. Getting it right is mostly about excluding the defaults.

Layer ships two deterministic sprite-sheet utilities alongside generation. pack_sprite_sheet assembles separate frame images into one uniform-cell sheet on a transparent background, and split_sprite_sheet cuts a sheet into its cells in reading order. These are named directly rather than discovered because they are first-party tools rather than models, with no competing alternative in the catalogue.

Generation mechanics are in the layer skill. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add layerai/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.

Name the grid and the palette

Both, every time, as numbers.

  • Grid: "32x32 sprite", "16x16 tile". A model given no grid produces something pixel-ish at no particular resolution, which cannot be cleaned up afterwards.
  • Palette: a count and a family. "Limited 16-colour palette, muted earth tones" constrains the output in a way "retro colours" does not.
  • Era, when the user has one in mind: 8-bit NES-era flat colour, 16-bit SNES-era with shading ramps, or modern high-resolution pixel art. These look nothing alike.

Exclude the defaults, in the prompt

The defects are predictable, so name them as exclusions: no anti-aliasing, no blur, no gradients, no soft shadows, hard-edged pixels only, one pixel per cell. Where the model declares negative_prompt, put them there instead. Also state the background: "isolated on transparent background" or "flat single-colour background", since a generated backdrop has to be cut out and pixel art does not survive a sloppy cut.

Sprite sheets and walk cycles

Do not ask one generation for a sheet of frames. Models produce a grid of loosely related drawings, and the character changes between cells, which is exactly what a sheet must not do.

The working sequence:

  1. Generate and approve one frame: the idle or contact pose, isolated on transparent.
  2. Generate each remaining frame separately, with the approved frame attached as reference_image, and describe only what changed: "same character, same palette, same 32x32 grid, left leg forward mid-stride, right arm back."
  3. Review the frames as a set and reroll the ones that drifted.
  4. pack_sprite_sheet to assemble them into a uniform-cell sheet. Its input schema is the authority on the argument shape, so read it rather than assuming the parameter name.

Every frame after the first references frame one, not the frame before it. Chaining each frame off the last one compounds drift, so by frame four the knight is a different knight.

When a trained pixel style is in play, attach it as reference_sets and omit base_model_id entirely, so the server picks a model that can apply it. Use the same set, the same weight, and the same reference frame on every frame of the cycle.

A four-frame cycle (contact, down, passing, up) reads as motion and is far more reliable than eight. Start there and add frames only if the motion needs them.

Going the other way, split_sprite_sheet cuts a user's existing sheet into individual frames, which is the way to edit one frame of a sheet without touching the others.

Tiles

A pixel tile that repeats seamlessly is a tiling problem before it is a pixel problem, so filter for the tileability capability and read layer-textures for how to specify scale and avoid visible repetition. Everything on this page about grid, palette, and hard edges still applies.

Worked example

"A 32x32 walk cycle for our knight sprite."

  1. Generate the contact pose. list_base_models with filter.use_case: "text_to_image", take the first result, then prompt: "32x32 pixel art sprite of an armoured knight, side view, contact pose with left foot forward, limited 16-colour palette, 16-bit era shading, hard-edged pixels, no anti-aliasing, no blur, no gradients, isolated on transparent background."
  2. Approve one. This frame is now the reference for everything else.
  3. Three more runs, one per remaining frame, each attaching the approved frame as reference_image and naming only the pose change.
  4. Check the four together for drift in palette, height, and armour detail. Reroll any that moved.
  5. pack_sprite_sheet with the four file_id values, which returns the sheet on a transparent background.

Common mistakes

  • Omitting the grid size, then trying to downsample a soft image into pixels.
  • Asking one generation for a whole sprite sheet.
  • Forgetting the anti-aliasing and blur exclusions, which are the defaults being excluded.
  • Generating frames independently with no reference frame, so the character drifts.
  • Generating an eight-frame cycle before a four-frame one works.
  • Accepting a generated background instead of asking for transparent.
  • Packing a sheet by hand when pack_sprite_sheet produces uniform cells deterministically.

Source and attribution

Source:layerai/skillsinskills/layer-pixel-artat commit315d06d

License: MIT

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal

More from layerai/skills

Layer Workflows

layerai

Use when running a saved Layer Blueprint workflow rather than a single generation: discovering what workflows a workspace has, reading a workflow's input schema, estimating and executing a run, polling its steps, or cancelling it. Also when a repeatable multi-step pipeline exists for a task, when the user names a workflow, or when a workflow input expects a style or a file. Keywords: workflow, blueprint, pipeline, app, multi-step, run, node graph.

Awaiting classification4updated 8 days ago

Layer Workflow Import

layerai

Rebuilds workflows from other tools as Layer Blueprint graphs and imports them via import_workflow.

AI & Agents4updated 8 days ago

Layer Video Timeline

layerai

Assembles existing clips, images and audio into one finished video timeline with transitions, overlays and captions.

Design & Creative4updated 8 days ago

Layer Video

layerai

Use when generating video with Layer: text-to-video, animating a still image, extending a clip, adding camera motion, generating native audio or lip sync, looping animations, or planning a multi-shot ad, trailer, or cutscene. Also when a video prompt produces the wrong motion or the shot drifts off the source image. Keywords: txt2vid, img2vid, image to video, camera motion, video effects, loop, seamless, trailer, cutscene, lipsync.

Awaiting classification4updated 8 days ago

Layer Textures

layerai

Guides generation of seamless, tileable textures with the Layer image model, covering scale, lighting and repeat checks.

Design & Creative4updated 8 days ago

Layer Reference Sets

layerai

Use when a look must hold across many Layer generations: training a custom style or LoRA on a studio's own artwork, curating the images that go into a reference set, choosing its training category, tuning reference-set weight on a run, or deciding whether to train at all rather than attach a style reference. Also when a trained style produces weak, inconsistent, or silently ignored results. Keywords: LoRA, custom model, trained style, reference set, consistency, on-model, art direction, dataset.

Awaiting classification4updated 8 days ago
Layer Pixel Art · skills/layer-pixel-art Agent Skill | SourceWeft