Mable

3D Characters

AI 3D model generator
one image in, a GLB your engine loads

Give one image of a character, creature, prop or vehicle. Mable builds the mesh and textures, optimises them for mobile, and returns a GLB. Depending on the pipeline your deployment runs, the model comes back as a static mesh or with a humanoid skeleton; the result says which.

Real output

Adventurer · turntable render (rigged pipeline, 52 joints)

You give
One image of a single whole subject on a plain background, nothing cropped. If the deployment runs the rigged pipeline: an upright humanoid, head to feet, arms and legs clear of the body.
You get
A glTF 2.0 binary (GLB) with meshopt compression and KTX2 textures, plus its triangle count, bounds and whether it carries a skeleton (rigged, joints). No animation clips.
Format
glTF 2.0 binary (GLB); rigged or static depending on the pipeline

Made with 3D Characters

Real results, with the exact input that produced them. Nothing here is mocked up.

What you can make

  • Heroes, NPCs and enemies for three.js and WebGL games
  • Props, vehicles and creatures for Godot and Unity prototypes
  • A 3D version of a character you already drew in 2D
  • Rigged bases, when the pipeline rigs, that you animate from code or a retargeted animation library

Questions

What subjects work?

On the static pipeline, any single whole subject: characters, creatures, props, vehicles. On the rigged pipeline, only upright humanoids with two arms and two legs; animals, vehicles and pixel art fail at the rigging step. The CLI prints which pipeline delivered your model.

How long does it take?

Two to ten minutes, up to twenty when the GPU is busy. Run it with --async so your agent keeps working, then collect the model with mable job.

Does the model come with a skeleton or animations?

Never with animation clips. A rigged model has bones named bone_0…bone_N whose names and count change between runs, so find bones by the humanoid_role extra on each node, never by name. A static model has no skeleton: move it as one object.

How do I load it?

In three.js, register MeshoptDecoder and a KTX2Loader on GLTFLoader. Godot 4 imports it directly. The model is about one unit on its longest side, so scale it by the returned bounds; a rigged model faces -Z, so rotate it 180 degrees about Y.

Got your assets?
Now make the game.

Open Creator Studio