Skip to content
AI Sprite Maker

Docs

Aseprite extension

Updated November 6, 2026
On this page
  1. Requirements
  2. Install
  3. The permission prompt on first run
  4. Set your API key
  5. Generate
  6. What you get
  7. Cleaning up and exporting
  8. Troubleshooting
  9. Not using Aseprite?

The AI Sprite Maker extension adds a generator to Aseprite. Describe a character, pick a motion from the library and how many directions, and the result arrives as Aseprite frames with the right durations and one tag per motion and direction. You can send the current frame or selection as a reference, and import into a new sprite, a new layer, or new frames at the end of the sprite you’re working on.

Download

aispritemaker.aseprite-extension · Aseprite 1.3 or newer · Windows, macOS and Linux · free, MIT licensed · uses your normal credits (2 per sprite, 10 per animation direction) and works on every plan, Free included.

Requirements

  • Aseprite 1.3 or newer. The extension uses scripting APIs added in 1.3.
  • curl. Aseprite’s Lua scripting has no HTTP client, so the extension calls the system curl to talk to the API. It’s built into Windows 10 (1803 and later) and macOS. On Linux, check with curl --version and install it with your package manager if it’s missing.
  • An API key from Dashboard → API keys. Every plan includes API access.

Install

  1. Download aispritemaker.aseprite-extension.
  2. Double-click the file, or in Aseprite open Edit → Preferences → Extensions → Add Extension and pick it.
  3. The command appears under File → New → AI Sprite Maker…. To give it a shortcut, open Edit → Keyboard Shortcuts and search for “AI Sprite Maker”.

To update, install the new file the same way; Aseprite replaces the old version. To remove it, select it in Preferences → Extensions and click Uninstall.

The permission prompt on first run

Because the extension runs curl, Aseprite’s script security asks for permission the first time it does two things: write a file (a temporary request file) and run a command. You’ll see a dialog naming the script and the action.

  • Choose Give Script Full Trust (or tick “Don’t show this again” and Allow), otherwise Aseprite asks again on every step of a job.
  • If you click Deny, the job stops with “the script doesn’t have access to execute the command”. Run it again and allow.

What the extension does with that access, and nothing else: it writes request files to <temp>/aispritemaker/, runs curl -q -K <that file>, and deletes the request file immediately afterwards. Your API key lives inside the request file rather than on the command line, so it doesn’t show up in process lists, and it is only ever sent to the API’s own address, never to the storage URLs the sprites are downloaded from.

Set your API key

Run File → New → AI Sprite Maker…, click Set API key…, and paste your asm_live_… key. The extension checks it and shows your plan and credit balance. The key is stored in the extension’s preferences on your machine only.

Generate

  1. Choose a Type:
    • Sprite: a still sprite, 1 or 4 variations;
    • Animation: a motion from the live motion library, in 1, 4 or 8 Directions;
    • Turnaround: the character from 4 or 8 sides;
    • Tileset: 16 seamless tiles.
  2. Write the Prompt. Describe the subject only (“fox knight, blue cape, round shield”); leave out backgrounds and words like “sprite sheet”. Prompt tips.
  3. Pick Style, Size, View and Palette (0 uses the style’s default number of colours). Tick Load the result’s colours into the palette to run Color Quantization on the new sprite.
  4. Optional: tick Use current sprite/selection as reference. The current frame of the active sprite, cropped to the selection if there is one, is uploaded as the character or style reference. This is how you animate a character you drew yourself.
  5. Choose Import as:
    • New sprite: a new document, one frame per cell;
    • New layer in current sprite: a new layer starting at frame 1 (frames are added if the sprite is shorter); existing frame durations are kept;
    • New frames at the end of current sprite: new frames after the last one, in a new layer.
  6. Click Generate. The dialog stays responsive while the job runs, polling every 1.5 seconds. Cancel job cancels it and releases its credits.

What you get

Each animation becomes a tag named <motion>_<direction>, for example walk_down, walk_left, walk_right, walk_up for a 4-direction walk. Looping motions get a normal tag; one-shot motions like death get a tag with repeat set to 1. Frame durations come from the motion’s frame rate. Still sprites with 4 variations open as 4 separate sprites.

Importing into the current sprite needs it to be in RGB colour mode. If it’s Indexed or Grayscale, the result opens as a new sprite instead.

Cleaning up and exporting

Generated frames are ordinary Aseprite frames, so all the usual tools apply. A few habits that help:

  • Onion skin (F3) is the fastest way to catch a foot that pops between frames.
  • Switch to Sprite → Color Mode → Indexed after generating to lock edits to the palette.
  • Keep the feet on the same baseline if you redraw a frame, or the animation will bob.

To get it into your engine, use File → Export Sprite Sheet with JSON Data and Meta → Tags enabled. Phaser loads that directly with this.load.aseprite() (guide), and our Godot addon and Unity package convert it into SpriteFrames and AnimationClips. Format details: Sprite sheet formats explained.

Troubleshooting

Message or problemFix
curl was not foundInstall curl, or make sure it’s on the PATH that Aseprite sees. On macOS, Aseprite launched from the Dock sees the system curl in /usr/bin
the script doesn't have access to execute the commandYou declined the permission prompt. Run it again and choose Allow or Give Script Full Trust
Invalid or missing API keySet the key again with Set API key…; keys are shown only once when created, so make a new one if needed
insufficient_creditsWait for tomorrow’s 10 daily credits or top up on pricing
concurrency_limitYour plan runs a limited number of jobs at once. Wait for the current one to finish
Behind a corporate proxycurl honours HTTPS_PROXY from the environment Aseprite was started from
Import went into a new sprite instead of the current oneThe current sprite isn’t in RGB mode

Not using Aseprite?

← Previous CLI Next → Godot 4

Found a mistake or something out of date? Email hello@aispritemaker.com and we will fix it.