Overview
MeshForge turns a picture or a text prompt into a textured 3D model. You can then rig it, animate it, export it and render it as 2D sprite sheets for game engines. It runs in your browser at /meshforge and is one of the four tools in Keyframe.it Studio, with the Keyframe.it 2D editor, Sprite Puppeteer and PixelForge.
The page has three columns:
- Left: 1 · Input (an Image tab and a Text tab) and 2 · Model (the model picker and its options). The Generate 3D model button sits at the bottom.
- Middle: the 3D viewer. Drag to orbit, scroll to zoom, Shift-drag to pan. Under it are the playback bar for animations, the ⬇ Downloads menu and the action buttons for the open model: 🦴 Rig it, ✨ AI animate, ☁ Meshy rig, 🔧 Remesh, 🎨 Retexture and 🎞 Sprites.
- Right: the Library of everything you have generated, imported or saved.
Generating models runs on fal.ai and is paid with your own fal.ai key. Everything else runs in your browser for free: the viewer, rigging, the animation editor, importing animations, exports and sprite sheets. Without a key, MeshForge runs in demo mode so you can try the whole interface.
Over the viewer: ⓘ Stats (triangles, vertices, materials, size), 🗺 Maps, the surface menu (Textured, Clay, Normals, UV checker; V), ▦ Wireframe (W) and ☀ Lighting.
Getting started
Try the example orc (no key needed)
- Open /meshforge. On your first visit the library already holds Orc, labelled Example (rigged in Blender, 18 clips), and it opens in the viewer.
- Use the playback bar under the viewer to play, pick a clip, change speed and scrub.
- Click 🎞 Sprites, pick a view (for example Top-down), tick a few animations and click Render & download. You get a zip of sprite sheets. This is free.
- Click 🦴 Rig it to see its skin weights, or 🎬 Edit in the playback bar to open the animation editor.
The orc is added once per browser. If you delete it, it stays gone.
Make a model from your own image
- Click 🔑 Add your fal key in the header (or the DEMO MODE badge).
- Follow the steps in the dialog: sign up at fal.ai and add a payment method, then create a key at fal.ai/dashboard/keys (scope: API).
- Paste the key. It looks like
key-id:secret. Tick Remember on this device if you want to keep it after closing the tab. Click Save key. MeshForge checks the key with fal.ai and reloads. The button now reads 🔑 fal key ✓. - Drop an image on the 1 · Input box, paste one with Ctrl+V, or click to browse.
- Pick a model under 2 · Model. TRELLIS 2 (Microsoft) is selected by default; Rodin v2.5 Fast is the cheapest.
- Click Generate 3D model (or press Ctrl+Enter). The button shows the estimated cost first, for example Generate 3D model · ~$0.30.
- Watch progress in the viewer banner and the library row: Submitting job to fal.ai…, Queued at position…, Generating on GPU…, Downloading result…. The finished model opens in the viewer and is saved in your library.
Your fal.ai key and costs
MeshForge itself costs nothing to use. Models are generated on fal.ai's GPUs, and you pay fal directly for each run with your own key. There is no account on Keyframe.it and no markup.
What needs a key
| Feature | Needs |
|---|---|
| Viewer, Stats, Maps, lighting, import GLB | Nothing |
| 🦴 Rig it (templates, joints, automatic weights, prop bones, weight painting) | Nothing |
| Animation editor, importing and retargeting animations, clip library | Nothing |
| OBJ, USDZ, STL, GLB exports, snapshot, turntable video | Nothing |
| 🎞 Sprite sheets and the hand-off to Sprite Puppeteer or PixelForge | Nothing |
| Generate 3D model, Text → concept images | fal.ai key (paid) |
| ☁ Meshy rig, 🔧 Remesh, 🎨 Retexture | fal.ai key (paid) |
| ✨ AI animate | fal.ai key or Anthropic key (paid) |
| ✨ Place joints with AI, and pictures in the AI animator's self-check | Anthropic key (paid) |
Where the key is stored
- With Remember on this device ticked, the fal key is kept in this browser's local storage. Unticked, it lives in session storage and is forgotten when you close the tab.
- It is only sent to fal.ai, from the page. As the dialog says: “Keyframe.it never sees it.” Remove key deletes it.
- Tip from the dialog: make a key just for MeshForge, and set a spending limit in fal's billing settings.
- The Anthropic key for the AI features is separate. You enter it in the ✨ AI animate panel. It is stored in this browser (shared with Keyframe.it's AI tools) and sent straight to Anthropic.
Costs
Prices are set by fal and may change. MeshForge shows estimates from its built-in list prices on each model card, the Generate button and each action dialog, and the library header keeps a running tally (≈ $… spent on … paid runs). Your fal.ai dashboard has the exact bill. Per-model prices are in Making a model.
Demo mode
Without a key the header shows DEMO MODE · add your fal key to generate for real, and buttons read demo (free). Generating pretends for a few seconds and returns a sample model. The Text tab returns placeholder images, and Meshy rig, Remesh and Retexture also return the sample. Nothing is sent to fal and nothing is charged.
Paid jobs are not lost
Once fal accepts a job, MeshForge saves its place in fal's queue, so closing the tab doesn't lose it: it reconnects on your next visit. Deleting a job that is still generating does not stop fal billing for it, and ↻ retry on a failed job is billed again.
Making a model
Image input
- Drop, paste (Ctrl+V) or browse for a PNG, JPG, WebP, GIF or AVIF image, up to 20 MB. You can also drop an image on the viewer.
- Several images make a batch: one model per image, after a confirmation that shows the total estimate.
- Best results: a single object on a plain background, seen from the front or three-quarter view. A PNG with transparency is ideal.
Extra views
For a single image, some models take extra photos of the same object under Extra views: + Left, + Back, + Right. They give sharper backs and sides. Meshy 7.1, Tripo H3.1 and Rodin use them at no extra cost; Hunyuan 3D v3.1 Pro and Hunyuan3D v3 add $0.15. Tripo reads the views in order (left, back, right), so a missing view skips the ones after it (shown dimmed).
Text prompt
- Open the Text tab and describe the object, for example “a weathered bronze dragon statue on a round base”.
- Pick an image model: FLUX.2 [flash] (fast drafts) or Nano Banana (Gemini) (best prompt following), and 1 to 4 images.
- Keep Optimize for 3D ticked to ask for a plain background and the whole object in frame.
- Click Create images (or Ctrl+Enter in the prompt). Click a result to Use as input, then generate the 3D model as usual.
You only pay for 3D once the picture looks right. Listed prices: about half a cent per FLUX.2 [flash] image, $0.039 per Nano Banana image.
Models
The picker groups models into Drafts (under $0.25), Standard ($0.25–0.60) and Premium ($0.60+). The options for the selected model appear inside its card, and the price chip updates as you change them.
| Model | Price shown in MeshForge | Options |
|---|---|---|
| Rodin v2.5 Fast (Hyper3D) | $0.10 | PBR material, HD texture; extra views |
| Hunyuan 3D v3.1 Rapid (Tencent) | $0.225, +$0.15 with PBR | PBR materials |
| TRELLIS 2 (Microsoft) | $0.25 / $0.30 / $0.35 at 512 / 1024 / 1536 | Resolution, Texture size (1024, 2048, 4096) |
| Pixal3D | $0.30 at 1024, $0.42 at 1536 | Resolution, Texture size, Mesh detail (50K–500K vertices), Clean remesh |
| Tripo H3.1 | $0.30, +$0.10 HD textures, +$0.20 detailed geometry, +$0.05 quad | HD textures, Detailed geometry, Quad mesh; extra views |
| Hunyuan 3D v3.1 Pro (Tencent) | $0.375, +$0.15 with PBR | PBR materials; extra views (+$0.15) |
| Hunyuan3D v3 (Tencent) | $0.375, +$0.15 with PBR | PBR materials; extra views (+$0.15) |
| Rodin v2.5 (Hyper3D) | $0.40 | PBR material, HD texture; extra views |
| Meshy 6 | $0.80 | PBR materials, Topology (triangle or quad) |
| Tripo P2 | $1.10 / $1.20 / $1.30 by texture quality | Texture quality (standard, detailed, extreme), Quad mesh (free) |
| Meshy 7.1 | $1.20 | PBR materials, Topology; extra views |
These are fal's list prices as built into MeshForge; check fal.ai for current rates. Seed (optional) under the list repeats the same result on models that support it. Your last model and its options are remembered in this browser; the seed is not.
The library
Everything you generate, import or save appears in the Library on the right, newest first. Click a row to open it.
- Rename with ✎, a double-click or F2 (clear the name to restore the original). Delete with ✕ or Delete; this can't be undone.
- A failed job shows fal's error and a ↻ retry button (billed again).
- A search box appears once you have six or more items.
- + Import GLB, or a
.glbdropped on the viewer, adds a model from your computer (up to 200 MB).
Saving edited models
Rigging and animating change the open model only until you save. Use 💾 Save to library in the rig panel or 💾 Save model with this animation in the AI animate panel. The first save of a generated or imported model creates a new entry named “… (edited)”, so a model you paid for is never overwritten; saving again updates that copy. To keep animation editor changes, open 🦴 Rig it on the rigged model and click 💾 Save to library, or use ⬇ Export GLB with edited clips.
Where it is stored
The library, your concept images and the clip library live in this browser's storage (IndexedDB) on this device. They are not uploaded and do not sync. Clearing site data or using a private window loses them, so download what you want to keep.
Rigging in the browser
🦴 Rig it opens the Rig it yourself panel. It is free and needs no key: place a skeleton, drag its joints into place, then bind with automatic skin weights. It works best on a character standing in a T- or A-pose.
- Place a skeleton. Pick a Skeleton: Humanoid (biped), Humanoid with a tail (lizard, shark or dragon folk; the tail is fitted along its curve), Quadruped (four legs, tail) or Simple chain (props, plants, tails). A model over 150,000 triangles shows Reduce to 40k triangles first (free): binding is much faster and the weights cleaner, and it saves as a copy. Set Faces to the way the model faces on the grid, then click Place skeleton.
- Fix the joints. Click a dot and drag the arrows. Yellow is the centre line, blue the left side, red the right, purple props. Mirror left ↔ right keeps both sides even. Joints go inside the body, not on the surface. + Child bone adds a bone (a tail, a ponytail); Delete removes one. ✨ Place joints with AI lets Claude place them from front and side views (your Anthropic key, about $0.05).
- Add prop bones. A held weapon or shield can get its own rigid bone. Pick the hand joint, set a Name, click 🖌 Paint prop and drag over the prop (Alt-drag erases, Shift-drag orbits), then Make prop bone of the picked joint.
- Bind. Pick Weights: Bone heat (like Blender) spreads each bone's influence along the surface, the way Blender's automatic weights do, so a hand hanging beside a leg doesn't take the leg; Nearest bone (quicker) is the older method. Click ✓ Bind skin (automatic weights). Existing animations are kept where possible.
- Test and fix. After binding, the ▶ Flex test plays at once, bending each arm, leg, the spine, head and tail in turn (it isn't saved with the model). Weight check lists skin that follows the wrong limb, such as a hand moving part of a foot; Fix stray weights hands it to the bone it sits by. Under Weights, pick a Bone, tick Show this bone's weights and use Paint +, Paint − or Smooth with Brush size and Strength.
- Animate, free. Under Animate, pick Walk, Run or Idle and click + Add this animation. It is fitted to this rig (two legs, four legs, a tail) and updates live as you move Speed, Stride, Arm swing, Bounce and Tail sway.
- Save. Click 💾 Save to library.
On a model that is already rigged (the orc, or a Meshy rig) the panel opens at the weights step. Its Prop bone section adds rigid prop bones there too: pick the hand as the bone, paint the prop, click Add prop bone.
Animating
☁ Meshy rig: auto-rig and animation library
For humanoids, ☁ Meshy rig opens Rig / Animate. Meshy finds the skeleton itself. Check Character height (m) (pre-filled from the model) and Facing: the character must face the yellow FRONT arrow in the viewer. Optionally tick clips from Meshy's motion library; search, filter by category and hover to preview. The estimate is $0.20 for the rig plus $0.12 per clip. The result is a new library entry whose ⬇ Downloads list the rigged character (GLB and FBX), the clips you asked for and any bonus animations.
✨ AI animate
Describe a move and a language model keyframes it on the open rig. Rig the model first.
- Choose Anthropic key (paste your
sk-ant-…key) or fal key (uses the key from the header). - Pick a Model: Claude Opus 5.5, Claude Sonnet 5.5 or Claude Haiku 4.5 with Anthropic; Claude Opus 5.5, Claude Sonnet 5.5, Gemini 3.8 Flash or GPT-6.1 Sol with fal.
- Type a move or click a suggestion such as walk cycle. Tick Self-check (about twice the cost) to have the model review frames of its result.
- Click ✨ Animate, adjust with Refine, then 💾 Save model with this animation.
The panel shows a cost estimate per animation before you run it.
Importing and retargeting animations
Bring in clips from a GLB, glTF or FBX file, such as Mixamo downloads, with 📂 Import clips from a GLB / FBX file… in the animation editor, or + Add animations → From a file… in the sprite dialog. That list also offers the model's bonus clips, clips from your other Meshy rigs and your saved clips. Clips made for another skeleton (Mixamo, Unreal, Blender Rigify, VRM, another rig) are retargeted: bones are matched by role and the limbs are lined up with the source's T- or A-pose. If the skeletons can't be matched, the clip is applied by bone name.
The clip list and animation editor
The clip menu in the playback bar lists the open model's animations. 🎬 Edit opens the Animation editor: trim and retime clips (✂ Bake trimmed clip, ⏩ Bake retimed clip), Rename, Duplicate and Delete them, pose bones (turn on Skeleton and click a yellow joint), use face morph sliders, 📎 Attach GLB to selected bone…, key poses into a clip or build a new clip from keyframes, and ⬇ Export GLB with edited clips. The Clip library (💾 Save playing clip to library, then Apply) reuses clips across your rigged models.
Sprite sheets for games
🎞 Sprites renders the open model as 2D sprites, free, in your browser.
Views and directions
| View | Directions | Camera tilt (default) |
|---|---|---|
| Side-scroller | Right only (flip in engine), or right + left | 0–30° (0°) |
| Top-down | 1, 4, 6 (hex), 8, 16 or 32 | 30–90° (50°) |
| Isometric | 1, 4 diagonal, 6 (hex), 8, 16 or 32 | 20–45° (30° = 2:1 pixel iso; 35.26° = true iso) |
| Item icons | 3/4 right, front or 3/4 left | 0–60° (25°) |
| Portraits | Front, 3/4 right or 3/4 left | 0–30° (5°) |
Icons and portraits fill their cell and can sit on a rounded or circle Background. Model facing turns the model in 45° steps. Tick several views under In the zip for an asset pack with a folder per view.
What gets rendered
- A rigged model: tick animations, choose Frames each (4–24) and keep Keep in place on to remove root motion.
- A still model: one frame per direction, or a Spin animation turntable (coins, pickups).
- + Add models from library puts other models in the same pack; size × sets relative size.
Output
Frame size 32 to 512 px (any mix). Shading: Lit, Toon or Flat colours. Pixel art with a Palette of 8 to 64 colours and an Outline. Padding, Ground shadow, and Layout: grid sheets or a packed atlas. Extras: normal maps, collision shapes, a preview image. + Add colour variant makes recoloured copies. MeshForge warns about sheets over 8192 px and blocks renders a browser tab can't hold.
Render & download saves a zip with a folder per frame size containing: PNG sheets (rows are directions, columns are frames), TexturePacker JSON, pre-sliced Unity .meta files with pivots at the feet, a Godot 4 SpriteFrames .tres (animations named <sheet>_<direction>), plus sprites.json and a README.txt with import steps. The Godot folder field sets the res:// path the Godot files use.
Then open in Sprite Puppeteer or PixelForge
The dialog footer has Then open in: nothing else, Sprite Puppeteer or PixelForge. After the render, the sheets open in a new tab. Sprite Puppeteer takes side-scroller, top-down and isometric views with up to 8 directions, to play-test as a character; icons, portraits and 16, 32 or hex direction sets are not sent. PixelForge takes every view, to turn into pixel art. One frame size per view goes over (the largest up to 256 px). Allow pop-ups if the tab is blocked.
Exporting models
Click ⬇ Downloads under the viewer. It lists the files the model came with, then conversions made free in your browser.
| Format | Where | Notes |
|---|---|---|
| GLB | ⬇ Downloads → Model | As generated, imported or saved |
| GLB (edited) | 🎬 Edit → ⬇ Export GLB with edited clips | With rig, attachments and every clip |
| FBX, texture maps | ⬇ Downloads | Only when the provider returns them, for example after ☁ Meshy rig |
| OBJ | OBJ — geometry, current pose | Geometry and UVs; textures stay in the GLB |
| USDZ | USDZ — AR Quick Look (iPhone / iPad) | For AR on iPhone and iPad |
| STL | STL for 3D printing… | Millimetres, Z-up, at the height you enter, with a watertight check |
| PNG | Snapshot — transparent PNG | Twice screen resolution, no grid |
| MP4 or WebM | Turntable video (6 s) | Format depends on your browser |
| Sprite zip | 🎞 Sprites | See Sprite sheets for games |
🔧 Remesh and 🎨 Retexture
🔧 Remesh opens on Free, in your browser: pick a Target (80k, 40k, 15k, 5k or custom) and click Reduce (free). The edges that change the shape least are collapsed; UVs, textures, rig weights and animations all carry over, so nothing is re-baked, and the result is saved as a new copy. Meshy quad retopo runs Meshy on fal with your key instead and rebuilds the mesh as quads (or triangles) at a Target polycount (estimate $0.20). 🎨 Retexture runs Meshy too and saves a new library entry; it repaints the textures from a style prompt, optionally with PBR materials (estimate $0.30).
Working with the other Studio tools
- Sprite Puppeteer: choose Sprite Puppeteer under Then open in in the sprite dialog to play-test your rendered sheets as a character in its arena and export them from there. See Sprite Puppeteer docs.
- PixelForge: choose PixelForge to turn the rendered sheets into pixel art on one shared palette. See PixelForge docs.
- Keyframe.it 2D editor: MeshForge has no direct hand-off to it. Sprite Puppeteer can bring a rigged sprite into the editor. See Keyframe.it docs.
- The ← Keyframe.it Studio link in the header goes back to the Studio, and the light/dark theme (☀ / ☾) is shared by every Studio page.
The hand-off stays inside your browser; nothing is uploaded.
AI agents
AI agents can rig and animate models here for you. Click 🤖 Use with AI in the header:
- Agent with a browser (Claude in Chrome, Cowork and others): Copy prompt, paste it into the agent and add your task.
- MCP client (Claude Code, Claude Desktop, Cursor and others): add the connector with
claude mcp add keyframe -- npx -y keyframe-mcp(needs Node 18+ and Google Chrome).
In the page, the API is window.meshforge: await meshforge.ready(), then meshforge.help(). It covers the library (openModel, saveProject, exportFile), rigging (startRig, renderRig, setRigJoints, addProp, bindRig) and animation (animationGuide, buildAnimation, renderContactSheet). Positions are in character space: +x the character's right, +y up, +z forward, in metres.
keyframe-mcp 0.4.0 and later adds 24 meshforge_* tools, such as meshforge_start_rig, meshforge_bind_rig, meshforge_build_animation, meshforge_contact_sheet, meshforge_save and meshforge_export. It saves only on meshforge_save, hand-off and shutdown, and runs MeshForge in its own Chrome profile with its own library.
Rigging, animating, rendering and saving are free. Generating bills your fal key, so generateModel and meshforge_generate refuse to run without confirmCost: true; a good agent asks you first. Full reference: llms.txt, section “MeshForge for AI agents”.
Troubleshooting & tips
- Thumbnails, textures or downloads don't load. MeshForge needs a service worker for library files. Private windows and some settings block it, and MeshForge says so. Use a normal window.
- “Out of storage for MeshForge.” Download what you want to keep, then delete library items.
- “Open in another tab with an older version.” Close the other tab and reload.
- “fal.ai rejected this key.” Copy it again from fal.ai/dashboard/keys, both parts with the colon.
- A job fails. The row shows fal's message. Fix the cause and use ↻ (billed again).
- A job is slow. The banner shows queue position and time. Generations time out after 15 minutes, Meshy actions after 30. Jobs fal accepted reconnect if you reload.
- “Couldn't reach Anthropic.” A VPN, firewall or ad blocker can block api.anthropic.com.
- Sprite render blocked or slow. Use fewer frames, directions or sizes, or the packed atlas, and render big packs one view at a time.
- Meshy rig looks wrong. Check the height and the FRONT arrow. For animals and props use 🦴 Rig it.
- Shortcuts: Ctrl+Enter generate, W wireframe, V surface, F2 rename, Esc close.
Frequently asked
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.
More answers about the whole Studio in the FAQ.
MeshForge is free. If it helped, you can buy me a coffee ☕.