Generate sprites, animations and tilesets from Claude
- The SpriteForge MCP connector runs SpriteForge's generator from Claude. Sprites, sets, animations, AI edits, Wang, terrain and platformer tilesets, and blended maps, 8 to 64 px.
- Quote, then generate. Claude plans the job, tells you the exact price, and spends nothing until you say go. Failed generations are refunded.
- It lands where you work. Results go into your SpriteForge library, and in Claude Code straight into your game's folder as PNGs.
SpriteForge's generator doesn't paint an image and shrink it. A Claude model writes each sprite as a grid of palette letters at its final size, one letter per pixel, so the result is real pixel art on a fixed grid. The signed-in connector brings that generator into claude.ai and Claude Code: you describe what your game needs, and Claude does the planning, the prompting and the downloading.
It works with your SpriteForge account and spends your SpriteForge credits. If you only want to edit pixel art by hand, the free SpriteForge Editor needs no account at all.
Set it up
In claude.ai and the Claude desktop app
Open Settings, then Connectors, choose Add custom connector and paste the URL. Claude asks you to sign in to SpriteForge the first time it uses it.
https://www.spriteforge.tech/mcpIn Claude Code
Install the plugin, then run /mcp once and sign in to SpriteForge:
/plugin marketplace add OndrejKnizat/spriteforge-claude-plugin/plugin install spriteforge@spriteforgeThe plugin brings the connector, a skill that teaches Claude the flow below, and a command: /spriteforge:generate a slime enemy with a bounce animation. Sign-in goes through SpriteForge's own sign-in page (OAuth), and the connector only ever sees your own projects and sprites.
No account yet? Signing up gives a one-time $1 credit, added the first time you open the studio while signed in. If your balance is short, Claude gives you that link.
What it can make
Claude picks the type from what you ask for. The nine types, and what each needs:
singleOne sprite, item, icon or character. Width and height up to 64 px each.phasedOne sprite drawn in 2 or 3 staged passes, silhouette first. The strongest choice for humanoids and creatures where anatomy matters.setUp to 8 matching sprites on one shared palette: "a potion, a scroll and a key".animation1 to 8 frames of a motion you describe, from scratch or from a sprite in your library, which becomes the loop's rest pose.editAn AI change to a library sprite ("give him a red scarf"), optionally limited to some pixels. The previous version stays in the sprite's history.wangA 16-tile autotiling ground (grass, sand, snow): one seamless fill drawn, every edge and corner derived from it.terrainTop-down wall, transition and floor tiles.platformer49 side-view ground tiles with slopes: a surface (grass) over an earth fill.multiterrainA small map of 2 to 6 terrains blending into each other, up to about 160,000 pixels (16×12 tiles at 24 px fits).
Quote, then generate
Spending is confirmed by default. Every generation goes through the same four steps, each a tool on the connector:
- Plan. Claude chooses the type, size, project, quality tier and any reference sprites, and writes a concrete prompt.
get_generation_optionsgives it every tier's price and usual time. - Quote.
quote_generationtakes the same arguments and returns the exact price, your balance and the usual time. Claude tells you in a line what it will make and what it costs, and waits. - Generate. After your OK,
generatestarts the job withmax_centsset to the quoted price, so it can never cost more than you agreed to, and arequest_id, so a retried call can't start or charge a second job. - Collect.
get_jobwaits for the result, 25 seconds per call by default, and Claude calls it again until the job is done. When it's done, the sprite is already in your library, and Claude gets a preview and download links.
If part of a multi-sprite job fails, you get what was drawn and the rest is refunded; a failed generation is refunded in full, automatically.
Tired of saying yes? Tell Claude "don't ask about prices" or give it a budget ("spend up to $2"). It still quotes each job and keeps max_cents at the quote, stays inside your budget across the task, and tells you what it spent at the end. Separately, Claude's apps may ask you to approve each tool call; allowing generate permanently there removes that prompt too.
What it costs
There is no subscription. Each generation has a fixed price, paid from credit packs that start at $5; see pricing. The price depends on the tier and the canvas size, per drawing call. Today's prices for the three recommended tiers:
| Tier | 16 px | 32 px | 64 px |
|---|---|---|---|
| Haiku | $0.03 | $0.07 | $0.12 |
| Sonnet | $0.12 | $0.41 | $0.72 |
| Opus | $0.24 | $0.81 | $1.62 |
Per drawing call, October 2026. get_generation_options always has the current table, and the quote is what you pay.
Multi-call types multiply it: a set of six is six calls, an animation is one call per frame plus a planning pass, and terrain is three. Each reference sprite adds a small surcharge. Without instructions, Claude picks Sonnet for most sprites up to 32 px, Opus for 48-64 px canvases, detailed characters and final assets, and Haiku for small, simple icons when cost matters (it is cheap but slow). Each also has a Low and a High variant: the same model thinking less or more.
A worked example: a meadow level in Claude Code
Here is the whole loop for a small top-down level, in a game project open in Claude Code with both plugins installed. Your prompts and Claude's choices will differ in the details; the prices are today's.
1. Ask for the art
Make the art for a small top-down meadow level with SpriteForge: a 16px grass tileset that autotiles, and a 16px green slime enemy. Quote it first.Claude reads the tier table and your project's style, then quotes two jobs: a 16-tile 16×16 Wang set at Sonnet for $0.12 (about 20 seconds), and a 16×16 sprite at Sonnet for $0.12. You say go. It starts both with generate and follows them with get_job.
2. Animate the slime
Now give the slime a 4-frame bounce.This one is an animation of the slime that's now in your library, so it keeps the slime's exact look and size: 4 frames plus a planning pass, quoted at $0.56, usually under two minutes. It is saved onto the slime as a named animation rather than as a new sprite. The level so far: $0.80, inside the $1 sign-up credit.
3. Bring it into the project
Download the tileset as a 4x4 sheet and the slime's bounce as a sprite sheet into assets/.Each result comes with download links that need no sign-in for 24 hours: png_url for one frame at 1× with real transparency, and sheet_url for every frame of an animation or tileset in one PNG, one row by default, with cols setting the layout. Claude Code saves them with plain curl:
curl -sSf -o 'assets/sprites/slime_bounce.png' '<sheet_url>'4. Put it in the game
Paint a meadow with grass patches using the Wang tileset, and place three slimes playing the bounce.The Wang set is a dual-grid autotile: each tile is drawn where four map cells meet, and its number adds 1, 2, 4 and 8 for the north-west, north-east, south-west and south-east corners that are grass, so tile 15 is the solid fill. That is all Claude Code needs to write the lookup for your engine. The bounce sheet slices into equal frames like any sprite sheet.
The video on the home page shows the end of this road at a larger scale: a snow tileset, trees and a yeti with three animations, made in SpriteForge, then dropped into a live Unity game with one Claude Code prompt.
5. Touch it up
If a pixel bothers you, open_sprite_in_editor opens a library sprite in SpriteForge's editor (a card in claude.ai, an edit link elsewhere), open_tileset_editor does the same for a tileset, and save_to_library keeps the edit, with the old version in the sprite's history. In Claude Code, the SpriteForge Editor plugin opens the downloaded PNGs in a pane beside the conversation instead.
Projects, references and your library
- Projects keep a game consistent. Each has a style line, a description, a light direction, an outline and a palette, and every generation follows them. Describe your game's look once and Claude sets it with
update_project(it confirms the wording with you), instead of repeating it in every prompt. Generation can also be locked to the project palette. - References hold a look. Up to six library sprites per job, as style references (the hero as the reference for their items) or as subject references.
- The library goes both ways. Claude can list and download your sprites, and upload images from your disk or that it drafted, so you can animate, edit or reference your own art.
What it can't do
- Large art. Canvases stop at 64 px a side. It is sharpest at 8 to 32 px.
- Account changes. It can't delete sprites or projects, buy credits, manage API keys or change your account. Credits are bought in the studio.
- Instant results. A sprite takes from about 20 seconds to a few minutes; animations and multi-call jobs longer.
- Work without an account. That's the free editor's job; this connector always signs in.
What it sends and stores: sign-in goes through SpriteForge's sign-in provider (Clerk), and the connector reads or writes only your own projects and sprites, when Claude calls its tools on your request. Generation prompts go to the model provider that draws the sprite, as in the studio. Download links name one of your sprites, work without sign-in and expire after 24 hours. The full list is in the plugin's README and the privacy policy.
Source and support
The plugin's skill, command and README are public at OndrejKnizat/spriteforge-claude-plugin. Both Claude connectors are summarised on SpriteForge for Claude, and the same engine is available over the REST API with the same credits. Questions go to support@spriteforge.tech.
No card, no subscription. Then add the connector and ask Claude for your first sprite.