← all repositories
Sandflow-ai/sand3d

A 3D modeling API small enough to fit in a system prompt

sand3d is a Python vocabulary for building 3D objects as short, readable programs — designed so an LLM can write a whole assembly in a few hundred tokens.

★1.4k stars HTML Other AI
Feature · 07 Nov 2026
An API Whose Real Unit of Measure Is the Token

sand3d is a Python 3D-modeling vocabulary built on Blender's engine, designed so a language model can write a whole articulated object in a few hundred tokens — and a human can still read it.

Read the in-depth article →
sand3d
Collecting fresh signals — velocity needs a few days of history.
collecting data…
star history

What it does sand3d is a Python library, layered on Blender’s bpy, for expressing 3D objects as short programs: profiles, solids, edits, frames, joints and assemblies. A washing machine — cabinet, drum, door, drawer, dial, four joints — fits in 38 lines. The whole API is a flat surface of s3d.<verb> calls, with no category shortcuts like chair(); a category is just a program you write in the vocabulary.

The interesting bit The design constraint is token count, not developer ergonomics. A part takes 2–6× fewer tokens than the same part in Blender Python, CadQuery or FeatureScript, and the entire API fits in a prompt at roughly 3,600 tokens — the repo even ships llms.txt and a docs/api.md meant to be pasted into a system prompt. Parts, edges and faces are reached by name rather than hand-computed coordinates, which is exactly the kind of thing LLMs get wrong.

Key highlights

  • Deterministic: the same program builds the same mesh, bit for bit.
  • Exports GLB, URDF, USDA, OBJ and STL from one call — URDF targets ROS, PyBullet, MuJoCo and Isaac; USDA carries UsdGeom and UsdPhysics.
  • Joints are first-class: hinges, prismatic slides, continuous spins, with ranges and poses.
  • Five CC BY 4.0 datasets on Hugging Face — Objaverse, CAD, Articraft, SimReady and AutoMate objects rebuilt as sand3d programs.
  • Apache-2.0, with CI tests against bpy 5.2.

Caveats

  • Depends on bpy as a module, which has no wheel for Python 3.12 or Intel Macs from 5.2 on — you’re pinned to Python 3.11 or 3.13.
  • The token comparisons are the project’s own measurements, documented on their site; treat the exact multipliers accordingly.

Verdict Worth a look if you’re building LLM-driven 3D generation, simulation assets, or want parametric models a human can actually read. If you need freeform sculpting or artistic meshes rather than procedural parts, this isn’t that tool.

Frequently asked

What is Sandflow-ai/sand3d?
sand3d is a Python vocabulary for building 3D objects as short, readable programs — designed so an LLM can write a whole assembly in a few hundred tokens.
Is sand3d open source?
Yes — Sandflow-ai/sand3d is open source, released under the Apache-2.0 license.
What language is sand3d written in?
Sandflow-ai/sand3d is primarily written in HTML.
How popular is sand3d?
Sandflow-ai/sand3d has 1.4k stars on GitHub.
Where can I find sand3d?
Sandflow-ai/sand3d is on GitHub at https://github.com/Sandflow-ai/sand3d.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.