X3D Print Farm
Control Center
Manage printers, upload print jobs, track shipments, and monitor your fleet in real-time. Post-pay billing — no upfront cost.
Printer Monitoring
Live temps, progress, camera feeds
Billing
Pay only for what you print — monthly
Validation
Safety checks before every print
Shipping
USPS/UPS rates + label generation
Lead time if you order now
Live from the farm — printers available on the general fleet, machines reserved as dedicated capacity, and what that means for 1 order or 1,000. Set your own part weight to re-quote.
| Order placed now | Lead time | Ships by | Printer time |
|---|---|---|---|
| 1 order 100 g total | 1.1 days 1 hour printing + 1d handling | — | 3 h split across 3 printers |
| 10 orders 1,000 g total | 1.6 days 13 hours printing + 1d handling | — | 35 h split across 3 printers |
| 100 orders 10,000 g total | 6.3 days 5.3 days printing + 1d handling | — | 349 h split across 3 printers |
| 1,000 orders 100,000 g total | 54 days 53 days printing + 1d handling | — | 3,489 h split across 3 printers |
Based on 3 printers on order duty (3 reserved by the farm for production), running 22h/day at 30.4 g/hour (measured from completed jobs), 100 g per order, plus 1 day for packing and carrier hand-off. Large batches spread across every free printer, so the quote assumes the fleet stays available. Need a firm date or dedicated machines? Talk to the operator.
Print API — no printer required
Send us an STL, .gcode, or Bambu .gcode.3mfplus a shipping address. We return an order code, you pay at submission, and we print & ship it to your customer. Check status anytime by code.
- 1Add a card + generate a key. On your profile. Orders auto-bill to your card on file.
- 2POST your file + shipping details. We validate, price, and charge your card automatically.
- 3Track. We print and ship; poll GET /api/print/orders/:code for status + tracking.
Use the web form (no code), the REST API, or the CLI. Bambu Studio / OrcaSlicer plugin coming soon.
curl -X POST https://x3dstudios.com/api/print/orders \
-H "Authorization: Bearer $X3D_API_KEY" \
-F "[email protected]" \
-F "material=pla" \
-F "color=Matte Black" \
-F "quality=standard" \
-F "quantity=1" \
-F "recipientName=Ada Lovelace" \
-F "[email protected]" \
-F "street1=1 Analytical Way" \
-F "city=Austin" -F "state=TX" -F "zip=78750" -F "country=US"
# → { "code": "X3D-ABCD2345", "status": "RECEIVED", "paid": true, "charged": 12.40 }
# (auto-charged to your card on file — no payment step)
# Poll status anytime:
curl https://x3dstudios.com/api/print/orders/X3D-ABCD2345 \
-H "Authorization: Bearer $X3D_API_KEY"Check your order status
Enter the order code from your API response (or paste the order link) to see live status and tracking.
How to send a print order
Four steps from a sliced file to a shipped print. Everything is a standard HTTPS request — use curl, any language, or our CLI.
Add a card + generate a key
On your Profile page, add a card on file, then open “Developer API key” and click Generate. Copy it once — it’s shown only that time.
Sign in →Prepare your file
Export an STL/GLB model, or slice in Bambu Studio / OrcaSlicer and save the .gcode.3mf. We fit it to the 340×320×340mm plate.
POST the order
Send the file + shipping details with your key as a Bearer token. We validate, price, and charge your card on file automatically — no payment step.
Track
The response returns the order code + amount charged. Poll the status endpoint (or the code page) for progress and tracking.
Endpoints
| POST | /api/print/orders | Submit a print order (file + shipping). Returns a code + payment link. |
| GET | /api/print/orders/:code | Get order status, cost, and tracking. |
| POST | /api/account/api-key | Generate / rotate your key (from the Profile page). |
Auth on every request: Authorization: Bearer YOUR_KEY
Request fields (multipart/form-data)
| file | required | STL, GLB, .gcode, or Bambu .gcode.3mf (multipart, max 100MB). |
| recipientName | required | Who the print ships to. |
| street1, city, state, zip | required | Shipping address. Add street2 for apt/suite. |
| country | optional | Defaults to US. Also: CA, GB, AU, DE, FR, IN, and more. |
| optional | Order updates. Defaults to your account email. | |
| phone | optional | For carrier delivery notifications. |
| material | optional | pla (default), petg, abs, asa, tpu. |
| color | optional | Free text, e.g. "Matte Black". Defaults to Default. |
| nozzleDiameter | optional | 0.2, 0.4 (default), 0.6, 0.8 mm. Hardware spec — we match the nozzle. |
| nozzleFlow | optional | standard (default) or high. |
| layerHeight | optional | mm, e.g. 0.20 (default). Valid range depends on nozzle. Meshes only. |
| quantity | optional | 1–50. Defaults to 1. |
| infill | optional | 10–100%. Meshes only (sliced files keep their own). Default 20. |
| note | optional | Anything the operator should know. |
Response
{
"code": "X3D-ABCD2345",
"status": "RECEIVED", // card charged, queued at the farm
"paid": true,
"charged": 12.40,
"currency": "USD",
"breakdown": { "print": 7.40, "shipping": 5, "grams": 84, "printHours": 3.1 },
"statusUrl": "https://x3dstudios.com/print/order/X3D-ABCD2345"
}
# Auto-billed to your card on file — no payment step.
# If the card is declined you get status PENDING_PAYMENT + a paymentUrl fallback.
# Poll programmatically with your key: GET /api/print/orders/:codeOrder status
PENDING_PAYMENTOrder created — waiting for you to pay via the returned paymentUrl.RECEIVEDPaid. In our queue for review.ACCEPTEDApproved and queued to print.PRINTINGOn a printer now.PRINTEDDone printing — being packed.SHIPPEDHanded to the carrier — tracking number available.DELIVEREDDelivered to your recipient.
Orders can also end as CANCELLED or REJECTED.
Prefer a CLI?
export X3D_API_KEY=x3d_live_...
# submit
x3dprint order part.gcode.3mf \
--name "Ada Lovelace" --email [email protected] \
--street1 "1 Analytical Way" \
--city Austin --state TX --zip 78750
# check status
x3dprint status X3D-ABCD2345Grab scripts/x3dprint.sh from the repo.
Everything you need to run a print farm
Printer Fleet Management
Add, monitor, and control Bambu Lab printers. Real-time MQTT telemetry for nozzle temp, bed temp, print progress, and layer count.
GCode Upload & Validation
Drag-and-drop .gcode or .3mf files. Automatic safety validation checks for dangerous commands and temperature limits.
Print Job Queue
Queue, pause, resume, and cancel print jobs. Automatic printer assignment based on availability and build volume.
Filament Inventory
Track spool weights, materials, and colors. Load filaments into printers and monitor consumption.
Post-Pay Billing
No upfront payment. Card on file. Billed monthly for print time + filament used. Stripe-powered.
Shipping & Fulfillment
Generate USPS/UPS shipping labels via Shippo. Track shipments and delivery status.