Printer Fleet
PrintStudio supports three printer protocols — Moonraker/Klipper, OctoPrint, and Bambu Lab — plus laser cutters. Each printer is registered with a machine type that determines which SKUs it can produce.
Machine Types
Section titled “Machine Types”| Type | Examples | Protocol | Notes |
|---|---|---|---|
fdm_large | Bambu X1C, Voron 2.4, Kobra Max | Bambu MQTT or Moonraker | High-volume FDM |
fdm_standard | Prusa MK4, Ender 3 Pro | OctoPrint or Moonraker | General-purpose FDM |
resin | Elegoo Saturn, Phrozen Sonic | Moonraker (Klipper) | High-detail resin |
laser | Glowforge Pro, xTool P2 | LAN API | Engraving and cutting |
Adding a Printer
Section titled “Adding a Printer”Via Setup Wizard
Section titled “Via Setup Wizard”Use the Setup Wizard for first-run configuration. It auto-discovers printers on your LAN.
Via API
Section titled “Via API”curl -X POST http://localhost:8787/api/printers \ -H "Content-Type: application/json" \ -H "X-API-Key: your-api-key" \ -d '{ "name": "Voron 2.4 #1", "type": "moonraker", "machineType": "fdm_large", "baseUrl": "http://192.168.1.100:7125", "apiKey": "", "buildVolume": { "x": 350, "y": 350, "z": 350 } }'Via Dashboard
Section titled “Via Dashboard”Go to Dashboard → Printers → Add Printer. Fill in the connection details and click Test Connection before saving.
Routing Rules
Section titled “Routing Rules”The router assigns queued jobs to printers based on:
- Machine type compatibility — job’s required machine type must match
- Printer availability — must be Online + Idle
- Build volume — job’s bounding box must fit on the build plate
- Material — printer must have the required filament loaded (if inventory tracking is enabled)
- Margin score — among eligible printers, prefer the one that maximises margin-per-hour
You can pin a job to a specific printer by setting preferredPrinterId on the job, which bypasses margin scoring.
Bambu Lab Printers
Section titled “Bambu Lab Printers”Bambu printers use an MQTT-based LAN API. Requirements:
- Enable LAN-only mode in printer settings (Network → LAN Only Mode)
- Note the access code shown in the printer’s network settings
- Find the printer’s device serial number (sticker on back or in Bambu Studio)
# Add to .env for each Bambu printerBAMBU_PRINTER_IP=192.168.1.50BAMBU_PRINTER_SN=01P00A123456789BAMBU_ACCESS_CODE=12345678The Bambu adapter in packages/integrations/adapters/bambu handles the MQTT protocol automatically.
Moonraker / Klipper Printers
Section titled “Moonraker / Klipper Printers”See the full Moonraker Integration page for setup details. The basics:
MOONRAKER_URL=http://192.168.1.100:7125MOONRAKER_API_KEY= # optional; omit for trusted networkMoonraker printers support the full feature set: file upload, print control, temperature monitoring, emergency stop, and webcam.
Maintenance Mode
Section titled “Maintenance Mode”To take a printer offline for maintenance without cancelling queued jobs:
# Via APIcurl -X POST http://localhost:8787/api/printers/{id}/maintenance \ -H "X-API-Key: your-api-key"Jobs assigned to a printer in maintenance are automatically re-queued and routed to the next eligible machine.
Health Monitoring
Section titled “Health Monitoring”The AutoPilot polls all registered printers every 30 seconds. If a printer stops responding:
- The printer’s status changes to Offline
- Any active job on that printer enters the failed state
- The AutoPilot retries job routing up to
maxRetriestimes (default: 3) - After retries are exhausted, the operator is notified via OpenClaw and email