← All docs

Questions

Frequently asked

About the Studio as a whole, then each tool.

Keyframe.it Studio

What is Keyframe.it Studio?

Four free browser tools for game art that hand work to each other: Keyframe.it for 2D skeletal animation, Sprite Puppeteer for pixel-art characters, MeshForge for 3D models from a photo or prompt, and PixelForge for turning any picture into pixel art.

Which tool should I start with?
  • You have layered character art or slot symbols and want smooth animation: Keyframe.it.
  • You have a pixel-art sprite or sprite sheets and want a playable character: Sprite Puppeteer.
  • You have a photo, a drawing or just an idea and want a 3D character or sprite sheets rendered from it: MeshForge.
  • You have a picture, render or GIF and want it as pixel art: PixelForge.
Is it free? Do I need an account?

All four tools are free to use in your browser, with no account, no download and no ads. Two things cost money and are paid to the provider directly, with your own key: generating 3D models in MeshForge (fal.ai) and the optional built-in AI features (Anthropic or fal). Everything else is free, including MeshForge’s rigging, exports and sprite sheets.

If the Studio helps you, you can buy me a coffee. It is optional and pays for hosting and new features.

Is my art uploaded anywhere?

Keyframe.it, Sprite Puppeteer and PixelForge do their work in your browser, and your projects are stored there. Things leave your computer only when you ask:

  • MeshForge sends your picture or prompt to fal.ai when you generate a model with your key.
  • The AI features send your request to the AI provider you chose.
  • A Keyframe.it share link stores the project you share, so the link can show it.
Where is my work saved?

In this browser, on this computer. Each tool saves as you go. To keep a copy or move it to another computer, export a project file (Keyframe.it and Sprite Puppeteer) or the files you made. Clearing this site’s data in your browser deletes the saved work.

Which browsers and devices work?

Current Chrome, Edge, Firefox and Safari on a computer. The tools are built for a mouse and keyboard. The site and docs work on phones, and some tools open there, but editing is easiest on a bigger screen.

How do the tools work together?

Each hand-off is one click and stays in your browser:

  • Keyframe.it: Menu → Send to Sprite Puppeteer or Send to PixelForge.
  • MeshForge: in the sprite dialog, Then open in Sprite Puppeteer or PixelForge.
  • PixelForge: Open in Sprite Puppeteer.
  • Sprite Puppeteer: Open in Keyframe.it brings a rigged sprite into the 2D editor as bones and clips.
Can an AI agent use the tools for me?

Yes. Every tool has a scripting API for agents that can drive a browser: window.keyframe, window.spritePuppeteer, window.meshforge and window.pixelforge. For Claude Desktop, Claude Code and other MCP clients there is the keyframe-mcp connector (claude mcp add keyframe -- npx -y keyframe-mcp). See Animate with an AI agent.

Which game engines can I use the results in?
  • Keyframe.it exports Spine 3.8 and 4.2 bundles (for Spine runtimes and PixiJS), sprite sheets, GIF, WebM and a standalone HTML player.
  • Sprite Puppeteer exports sheets with JSON plus ready-made files for Godot, Unity and GameMaker.
  • MeshForge exports GLB, FBX and other 3D formats, and sprite sheets with Godot, Unity and TexturePacker files.
  • PixelForge exports PNG, GIF and sprite sheets with Aseprite-style JSON.
How do I switch between light and dark?

Use the ☀ / ☾ button on any page. By default the Studio follows your system setting, and your choice applies to every tool at once.

Is Keyframe.it related to Spine?

Keyframe.it reads and writes Spine’s JSON format, so your animations play in Spine runtimes. It is a separate project and is not affiliated with or endorsed by Esoteric Software.

Keyframe.it

Is Keyframe.it free?

Yes. The editor is free to use in your browser. The optional built-in AI tools use your own Anthropic API key, so that usage is billed to you by Anthropic. Donations through the ☕ menu are optional.

Do I need an account?

No. There is no sign-up or login, and nothing to install. Open the editor and start working.

Where are my projects saved?

In your browser's local storage on this device, saved automatically as you work. Open them from Menu → 📁 Projects…. Each browser and profile has its own projects. For a portable backup, press Ctrl+S to save a .json file, or use ⬇ Back up all projects (.zip) in Projects.

What happens if I clear my browser data?

Your autosaved projects and checkpoints are deleted with it. Browsers can also clear site data when disk space runs low. Keep .json copies of anything you care about; the Projects dialog shows whether the browser has agreed to keep your projects.

Is my art uploaded anywhere?

No. Your art and projects stay in your browser, and handoffs to Sprite Puppeteer and PixelForge happen locally too. Data leaves your computer only when you choose to: a Short link with social thumbnail share uploads a public snapshot, the built-in AI tools send your rig (and, for AI Rig, your image) to Anthropic with your key, and a bug report can include a canvas snapshot if that box is ticked.

Which browsers does it work in?

A modern browser with JavaScript: Chrome, Edge, Firefox or Safari. Saving straight back into the same file with Ctrl+S works in Chrome and Edge; other browsers download a new file each time. The keyframe-mcp connector for AI agents needs Google Chrome.

Which Spine versions are supported?

The editor exports Spine 4.2 (JSON or binary .skel) and Spine 3.8 bundles. It imports Spine 3.8 and 4.x JSON exports (.json + .atlas + .png), but not binary .skel files or .spine editor projects. Keyframe.it is an independent project, not affiliated with or endorsed by Esoteric Software. See Coming from Spine.

Does it work with PixiJS?

Yes. Export Spine 4.2 for @esotericsoftware/spine-pixi-v8 with PixiJS 8, or Spine 3.8 for pixi-spine 3.x with PixiJS 6 or 7. Every bundle includes a test.html preview and a README with loading code. The PixiJS guide has the full workflow.

Can I use my animations in Godot, Unity or other engines?

Yes, in a few ways. The Spine bundle loads in Spine runtimes. The sprite-sheet export (PNG plus frame JSON) suits frame-based engines such as Godot, Unity and Phaser. Send to Sprite Puppeteer adds Godot, Unity and GameMaker exports. Check your runtime's license terms for commercial projects.

Can I import a PSD?

Yes. Menu → Import PSD…, or drop the .psd on the canvas. Every visible layer becomes a positioned part, and the PSD import setting can also create bones and parent them by layer name. You can export a layered PSD back out, repaint it, and re-import it.

How do I share my work?

For someone who will keep editing, send the project .json or Menu → 📦 Package Project (.zip). For viewing, export a GIF, WebM or self-contained HTML file, or create a link under Share an animation preview in the Export dialog.

What does the AI cost?

The built-in AI Rig and AI Animate tools are billed by Anthropic to your own API key, by tokens, with no subscription. The dialog shows an estimated cost range for your chosen model before you generate. The keyframe-mcp connector is free; model usage follows the pricing of the AI client you use with it.

Can I move a project to another computer or browser?

Yes. Save it as a .json file (Ctrl+S), then open that file on the other machine with Menu → Open…. The file includes all the artwork.

The full Keyframe.it guide →

Sprite Puppeteer

Is Sprite Puppeteer free?

Yes. It runs in your browser and costs nothing to use.

Do I need an account?

No. There is no sign-in. Open Sprite Puppeteer and start working. Your characters save in your browser's storage.

Is my art uploaded anywhere?

Sprite Puppeteer loads, rigs and renders your images in your browser. Projects are kept in your browser's storage, and hand-overs between the Studio tools go through that same storage. The one exception is Describe a move on claude.ai, which sends your text description and the skeleton's pose channels to Claude, not your picture.

Which game engines does it export to?

Godot 4, Unity (2021.3 or newer) and GameMaker get ready-made packages. Spine 4.1 JSON works with Spine runtimes for rigged characters. The sprite sheet + Aseprite-style JSON and PNG frames formats work with any engine or tool that reads them. Every format carries hurtboxes, hitboxes and events per frame.

How do I get a character into Godot?

Pick Godot 4 (SpriteFrames + scene) under Format and export. Copy the folder from the zip anywhere under res:// and open the .tscn. Its AnimatedSprite2D plays moves ($Sprite.play("walk")), the Hurtbox and Hitbox areas follow each frame, and the helper script sends anim_event and hit_started signals. Set face_left to turn the character around.

How do I get a character into Unity?

Pick Unity (sliced sheet + clips) and export. Copy the folder into Assets/; Unity slices the sheet into sprites itself. Add a SpriteRenderer and an Animator using the exported controller, and play moves with animator.Play("walk"). For colliders and events, add SpritePuppeteerBoxes with the exported box data and two trigger BoxCollider2Ds. The zip's README has the full steps.

How do I get a character into GameMaker?

Pick GameMaker (strips + GML) and export. Drag everything in sprites/ into the Asset Browser; each strip becomes one sprite with all its frames. Add the GML script, call its setup function once at game start, and read boxes and events in a Step event. Face left with image_xscale = -1.

What sprite sizes work best?

Images are read at up to the Detail setting on their longest side: 160, 256, 420 (the default) or 640 px. Anything larger is scaled down. Upscaled pixel art is detected and brought back to its native grid, so a clean 4× or 8× upscale is fine. For reference, the sample golem is 256×320 and the sample sheet characters use 128 px wide frames in the pixel look. Export at 1× for native size, or up to 4×.

How do directions and mirroring work?

For sprite-sheet characters, pick the direction on the compass in the Sprite card. A direction you didn't draw uses its mirror image (marked ⇋) or the nearest drawn one, so a side view facing right covers left. For rigged characters, add Front, Back and ¾ views in the Sprite card. In a 4- or 8-direction export, left is the side view mirrored, and a missing ¾ view falls back to the front or back view.

Can I use my own drawn frames instead of a rig?

Yes. Click Load sprite sheets… and pick a folder of PNG sheets with their TexturePacker or Aseprite JSON, or a manifest.json. Frames play exactly as drawn, in every camera set and direction you provide. The tool adds events, hurtboxes and hitboxes from the pixels, and you can play-test and export like a rigged character (except Spine).

Can I make my own moves?

Yes, on rigged characters. In Edit, click New move or Copy as a new move, then pause on frames and drag the joints to set keys. You can set the length, looping, a hotkey, eases and events. Built-in moves take touch-ups instead. Your moves save with the project and in rig files.

Why do limbs stretch, and how do I stop it?

A single flat picture has to stretch at the joints when it bends. Paint weapons and armour as Prop so they stay rigid, or use Export parts in the Rig tab's Parts card to get one layer per bone. Paint in what each part hides, then Load parts back… and every part moves as a solid piece.

How do I move my characters to another computer?

Open Projects and click Save project file to get a .puppet.json. On the other computer, use Open project file…. Browser storage is not shared between browsers or devices, so project files are also the way to keep backups.

How does it work with the Keyframe.it editor?

The editor's Menu → Send to Sprite Puppeteer turns your clips into sprite sheets and opens them here as a character to play-test and export. In the other direction, Open in Keyframe.it ↗ in the Export card sends a rigged character and all its moves to the editor as bones and clips. See the Keyframe.it docs.

The full Sprite Puppeteer guide →

MeshForge

Is MeshForge free?

Using MeshForge is free: the viewer, rigging, the animation editor, importing animations, exports and sprite sheets all run in your browser at no cost. Generating models, concept images and the Meshy actions run on fal.ai and are paid to fal with your own key. The AI animator is paid to whichever key you use (fal or Anthropic).

What does a model cost?

It depends on the model and options. MeshForge's built-in list prices run from $0.10 (Rodin v2.5 Fast) to $1.30 (Tripo P2 with extreme textures). Meshy rigging is $0.20 plus $0.12 per clip, Remesh $0.20 and Retexture $0.30. The price is shown before you start. Prices are set by fal and may change; your fal dashboard has the exact bill.

Do I need an account?

Not on Keyframe.it. To generate models you need a fal.ai account with a payment method and an API key. Without one you can still use demo mode and every free feature.

Where is my fal.ai key stored?

In your browser only: in local storage if you tick Remember on this device, otherwise in session storage until you close the tab. It is sent only to fal.ai, from the page. Keyframe.it never sees it. Remove key in the key dialog deletes it.

Is my image uploaded, and to whom?

When you generate, your image (and any extra views) goes to fal.ai to run the model; for some jobs it goes through fal's file storage. Meshy rig, Remesh and Retexture send the model file to fal the same way. Results come back from the provider's servers; if a provider blocks direct downloads, the page fetches the public result link through a small Keyframe.it relay that never sees your key. Your library stays in your browser. In demo mode nothing is sent. The AI features send the skeleton to the provider you pick and, with the Anthropic option, rendered pictures of the model too.

What is demo mode?

It is how MeshForge runs without a fal key. The full interface works, but generating returns a sample model and the Text tab returns placeholder images. Nothing is charged. Add a key with 🔑 Add your fal key to generate for real.

Where are my models saved?

In this browser's storage (IndexedDB) on this device. They don't sync to other browsers or devices, and clearing site data or using a private window loses them. Download files you want to keep, and use + Import GLB to bring a model back.

Which formats can I export?

GLB (as generated or with your edited clips), OBJ, USDZ and STL, plus a transparent PNG snapshot, a turntable video (MP4 or WebM) and sprite-sheet zips. FBX and separate texture maps are offered when the provider returns them, for example after ☁ Meshy rig.

Can I use the results in Unity, Godot or Blender?

Yes. GLB opens in Blender, Unity and other 3D tools. Sprite zips include a Godot 4 SpriteFrames file, pre-sliced Unity .meta files and TexturePacker JSON, with a README explaining the import.

Can I rig without Meshy?

Yes. 🦴 Rig it is free and needs no key: pick a humanoid, quadruped or chain template, place the joints, add prop bones and bind with automatic weights. It also works on animals and props, which Meshy rigging doesn't handle.

Can I use Mixamo animations?

Yes. Import a GLB, glTF or FBX file with 📂 Import clips from a GLB / FBX file… in the animation editor, or + Add animations → From a file… in the sprite dialog. Clips for a different skeleton are retargeted to your rig.

What happens if I close the tab while a model is generating?

Once fal has accepted the job, MeshForge reconnects on your next visit and downloads the result, with no second charge. If the job never reached fal, it is marked failed and nothing was charged.

Do I need an Anthropic key?

Only for ✨ Place joints with AI, and if you choose the Anthropic option in ✨ AI animate. The AI animator can use your fal key instead. Everything else works without one.

Can an AI agent use MeshForge for me?

Yes. Click 🤖 Use with AI for a prompt to paste into a browser agent, or add the keyframe-mcp connector to an MCP client. Agents can rig, animate, render and save for free; generating bills your fal key and needs your OK. See AI agents.

The full MeshForge guide →

PixelForge

Is PixelForge free?

Yes. It runs in your browser, with no sign-up and no limits on how many pictures you convert.

Are my pictures uploaded anywhere?

No. Decoding, conversion and export all happen on your computer. The only time files leave the page is when you send them to another Studio tool, and even then they go from one tab to the other inside your browser.

Which sizes work best for game sprites?

Characters are usually 16–64 px tall, and icons 16–32 px. Start with a look, set the width, and compare with Split. Smaller sizes need fewer colours and often an outline.

How do I keep a whole set of sprites on the same palette?

Use Best of or Preset with the same palette for each one, or import your game's palette as a custom one. To reuse every setting, copy a settings code and paste it in for the next sprite. You can also open the pictures together as Separate pictures: they share one palette.

Why doesn't my animation flicker like other converters?

All frames share one palette, ordered dithers are tied to pixel positions, and pixels that barely change keep their colour from the previous frame. Error-diffusion dithers (Floyd–Steinberg, Atkinson) do shimmer, which is why PixelForge warns you when you pick one for an animation.

Can I import Aseprite files?

Export the sheet from Aseprite as PNG + JSON (hash or array) and drop both files together. PixelForge reads the frames, the trim offsets, the timing and the frame tags. It doesn't open .aseprite files directly.

Can I use it on photos and AI images?

Yes. Use Remove for plain backgrounds, a Simplify of 1–2, and the Painterly look as a starting point.

How do I get the result into Godot, Unity or GameMaker?

Export a Sprite sheet at 1× (PNG + JSON), or Everything (ZIP) for separate frames, and import it with nearest-neighbour (point) filtering. Or send it to Sprite Puppeteer, which has engine-specific exports.

Can I edit pixels by hand?

Yes, with the pencil, eraser, fill and restore tools. Touch-ups survive later setting changes and can be undone.

Which browsers does it work in?

Current Chrome, Edge, Firefox and Safari. It uses a background worker so the page stays responsive. If the browser can't start one, the conversion runs on the page, which is slower.

The full PixelForge guide →