agentmodel
AgentModel in your terminal
Describe a part, get a printable parametric model, and let your AI agent do the fiddly bits.
Needs Node 20 or newer. Free to install; you only pay for what you generate.
$ agentmodel new "a 40mm cable clip for a 6mm cable"✓ Cable Clip 40mm v1 8f3a2c1d $0.02 cable_clip.scad · cable_clip.stl$ agentmodel params 8f3a --json{ "cable_d": 6, "length": 40, "wall": 2.4 }$ agentmodel set 8f3a wall=3 --check✓ v2 40 × 12 × 9 mm manifold yes$ agentmodel pull 8f3a views✓ iso.png front.png right.png top.png sheet.png$ agentmodel share link 8f3ahttps://model.brightmotion.io/share/8f3a2c1d Get started
Four commands from nothing to a printable part
Everything here works the same in a terminal you are typing into and in one your agent is driving.
- 1
Install
One file into
~/.local/bin. Re-run it to upgrade.curl -fsSL https://model.brightmotion.io/install.sh | sh
Node 20+. OpenSCAD only if you want local renders.
- 2
Sign in
It prints a short code and opens this site. Approve it as yourself — no password in a shell.
agentmodel login
Headless? Set
AGENTMODEL_TOKENinstead. - 3
Make something
Describe the part, then look at what came back.
agentmodel new "a 40mm cable clip for a 6mm cable"
agentmodel pull 8f3a views
That first line costs a few cents. Everything after it is free.
- 4
Hand it to your agent
One prompt that installs the CLI, connects it to your account and teaches your agent the commands.
What you can do
The whole app, as commands
Every verb takes --json, so an agent reads the answer as easily as you read the screen.
Generate from a prompt or a photo
Start a design from text, an image or a short video, and keep talking to it — with any model in the picker.
$ agentmodel new "a wall bracket, 32mm pipe"
Turn the knobs without an LLM
Read and rewrite the customizer values right in the source. Nothing is billed, because nothing is generated.
$ agentmodel set 8f3a wall=3 length=48
Bring its own model
OpenSCAD your agent wrote itself becomes a real version, with the same preview, history and share links.
$ agentmodel push 8f3a clip.scad
See and measure what it made
Render locally, then let check report the bounding box, the volume and whether the mesh is actually manifold.
$ agentmodel pull 8f3a views
Read your whole model library
Every creation, every version and every branch, as JSON — so an agent can find the thing you made last month.
$ agentmodel list --limit 20 --json
Share and keep notes
Hand a model to somebody by link or email, record what happened when you printed it, fork it and file it away.
$ agentmodel share link 8f3a
For agents
Everything an agent needs, at a fetchable URL
No MCP server and no SDK: agentmodel is an ordinary command your agent already knows how to run.
Skill
An instruction file the agent loads when the work becomes CAD. Install it into the repo you are working in:
mkdir -p .claude/skills/agentmodel && curl -fsSL https://model.brightmotion.io/skill.md -o .claude/skills/agentmodel/SKILL.md
Headless
In CI or a sandbox with no browser, skip login entirely: set AGENTMODEL_TOKEN, or AGENTMODEL_EMAIL and AGENTMODEL_PASSWORD. Add --json to any command for machine-readable output.
- 0
- ok
- 1
- error
- 2
- not found or bad usage
- 3
- auth or approval
- 4
- quota
Index
One fetch that says what AgentModel is, how to set it up, and what to read next — the setup prompt is inline, so an agent that reads only this file can already act.
curl -fsSL https://model.brightmotion.io/llms.txt
Reference
The manual
Every command, its flags, its output and its exit codes — the same file the CLI ships with.
Loading the manual…