AI and creative tools

Animated sprite
generation

Generate consistent animated sprite sheets from a single anchor frame. Full strips, not frame-by-frame — with normalization for game-ready output.

Core workflow

The key insight: generate full animation strips from a single anchor frame, not frame-by-frame. This keeps characters consistent across all frames.

1

Start from a shipped seed frame

Anchor the model to an actual production sprite, not a loose concept. This locks in palette, proportions, line weight, and shading direction.

2

Build a reference canvas

Upscale the sprite with nearest-neighbor and place it into a larger transparent canvas (1024x1024) with reserved frame slots. The larger canvas gives the model room to generate multi-frame sequences.

3

Generate full strips, not individual frames

Frame-by-frame generation causes character drift. Request the entire animation strip in one prompt for much better consistency.

Generate a [N]-frame [animation_type] animation strip of this character.
Keep the character consistent across all frames.
Arrange frames left-to-right in a single row.
Maintain the same art style, proportions, and color palette.
4

Normalize into game-ready frames

Post-process the raw strip: detect individual sprite components, compute a shared scale using the anchor image, optionally lock frame 1 to the exact shipped idle frame, and export to standard frame size (e.g., 64x64) with transparency padding.

5

Handle complex poses

When one pose is taller than another (e.g., sword-up attack vs. neutral), use one global scale for the entire strip. Let pose differences show as extra height inside the frame. Never scale individual frames independently — that causes size inconsistency.

Model comparison for sprites

Each model has different strengths for sprite generation. Community reports suggest NB2 outperforms GPT Image 1.5 for sprite sheet consistency.

Model Strength Weakness
GPT Image 1.5 Good anchor-based editing, edit API supports canvas workflow Frame size consistency varies
Nano Banana 2 Better consistency across frames, cheaper, faster May struggle with complex directions
Retro Diffusion Pro Purpose-built for pixel art (uses Gemini) More specialized, less flexible

Tip: Limiting output to max 9 objects per request reduces hallucinations across all models.

Tips and tricks

Practical advice from real sprite generation workflows.

Isometric sprites

Still an open challenge with no established best practice. Expect trial and error — results vary across models.

Consistency ceiling

Limit strips to 4-8 frames per generation for best results. More frames increase the chance of character drift between the first and last frames.

Video-to-sprite alternative

Generate an animation video of the character, then slice frames and use OpenCV for realignment and framing. A different path to the same result.

ChatGPT shortcut

Ask DALL-E for a spritesheet, then ask Data Analysis to "slice this sprite sheet and make a gif" with frame dimensions. Quick way to prototype animations.

Verification checklist

Run through these checks before marking a sprite sheet as production-ready.

1

Anchor frame matches shipped production sprite exactly

The seed frame should be pixel-identical to the original asset.

2

All frames share the same global scale

No individual frame scaling. Pose height differences show within the frame bounds.

3

Frame 1 is locked to the original idle sprite

The first frame in every strip should match the anchor exactly.

4

Preview in-engine before marking as production-ready

Static images can look fine but animate poorly. Test the full loop.

5

Check for palette drift between first and last frames

Colors should stay consistent across the entire strip. Sample and compare.

Install the skill

1 Clone the repository

git clone https://github.com/jamditis/claude-skills-journalism.git

2 Copy skill to Claude skills directory

cp -r animated-sprite-gen ~/.claude/skills/

3 Start generating

Ask Claude to generate animated sprite sheets, compare models for pixel art, or normalize a raw strip into game-ready frames.

Based on @chongdashu's guide to generating animated game sprites (Mar 2026)

Adapted by Joe Amditis at the Center for Cooperative Media

Part of Claude Skills for Journalism • MIT License