Describe an asset.
Compile the mesh.
imaginu turns a tiny JSON recipe into a deterministic, game-ready GLB for Babylon.js - meshes, PBR vertex colors, skeletal animation and physics. No textures to wrangle, no C dependencies, byte-identical every time.
$ imaginu generate '{"kind":"tree","style":"oak"}' -o tree.glb --preview
Recipe in, engine-ready asset out.
Three deterministic steps. An agent (or you) writes the recipe; imaginu does the rest.
Write a recipe
A few lines of JSON name what you want. Run imaginu schema for the full contract - every kind and field.
Generate the GLB
imaginu generate builds the mesh, colors, skeleton, clips and a collider - then --preview renders a PNG so you can look.
Drop it in
Load the .glb in Babylon.js like any glTF. Colliders ride along at extras.imaginu_physics.
The whole asset is the JSON on the left.
Real recipes from the repo, next to what imaginu compiles them into. Change a field, change a seed - the output is reproducible to the byte.
Loop-perfect turntables, all self-rendered.
Every clip below was filmed by imaginu's own software renderer - no GPU, no external engine. Props, characters and monsters with real animation clips, themed dungeons, and whole streaming worlds.
Hand it to Claude Code or Codex.
imaginu ships a first-class agent skill. The agent reads imaginu schema, writes a recipe, looks at the render, and iterates - from “make me an oak tree” to a loadable GLB, on its own.
Install the skill
One command per host. The skill stays DRY against imaginu schema, so it never goes stale.
- Claude Code - copy into
~/.claude/skills/ - Codex - a prompt file or your
AGENTS.md - It auto-installs the binary if it's missing
cp -r skill/imaginu ~/.claude/skills/imaginuRunning in about a minute.
Prebuilt static binaries for Linux, macOS and Windows - no Rust required - or straight from crates.io.
curl -fsSL https://raw.githubusercontent.com/vicotrbb/imaginu/main/install.sh | shcargo binstall imaginucargo install imaginuimaginu generate '{"kind":"tree","style":"oak"}' -o tree.glb --previewffmpeg is optional - it's only needed for video (showcase, world --flyover). GLB generation and PNG previews are fully standalone.