agentmodel

    AgentModel in your terminal

    Describe a part, get a printable parametric model, and let your AI agent do the fiddly bits.

    Install

    Needs Node 20 or newer. Free to install; you only pay for what you generate.

    agentmodel — zsh
    $ 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. 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. 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_TOKEN instead.

    3. 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. 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
    view raw →

    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
    view raw →

    Reference

    The manual

    Every command, its flags, its output and its exit codes — the same file the CLI ships with.

    raw markdown

    Loading the manual…