Deploy your first model.
Ten minutes from a blank workspace to a live model responding to real requests, monitored from the first call.
Before you begin
You need a Moon workspace and a machine that can run Node 20 or Python 3.11. If you signed up in the last hour you already have a workspace called Fieldwork. This guide uses the JavaScript SDK; the shape is identical in Python.
Install the SDK
Add the client to your project. It has no runtime dependencies and works on Node, Deno, and Bun.
# Install the client and authenticate npm install @moon/client npx moon login
Point to your model
Every deployment starts with a target. You can point at a hosted model, an open weights model, or a fine-tune you brought in yourself.
import { Moon } from "@moon/client"; const moon = new Moon(); const deployment = await moon.deployments.create({ name: "support-triage", target: { provider: "anthropic", model: "claude-sonnet-5", }, route: { region: "iad", min: 1, max: 4 }, }); console.log(deployment.id);
Deploy
Push it live. The first deployment usually takes about forty seconds.
- The client prints a live URL you can open in a browser.
- Every request is traced automatically, no extra setup.
- If a deploy fails, Moon rolls back to the last healthy version.
What just happened
Moon provisioned a routed endpoint in your chosen region, warmed the model to the min replica count, and started collecting traces for every request. You can watch the traces stream in from the Monitor tab of your workspace.
Next steps
You have a live model. From here, most teams pick one of two paths: set up an eval to catch regressions before they ship, or wire the endpoint into your existing product.