3D print farm
in Austin, Texas
The Bambu Lab printers behind every X3D Studios order, owned and run by us. Below is how many are printing right now and how soon work placed today will ship. Upload a file for an instant quote, or order by API.
Running print jobs on the farm? The operator dashboard is here.
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.4 days 1 hour printing + 8 hours queue + 1d handling | — | 4 h split across 5 printers |
| 10 orders 1,000 g total | 1.7 days 9 hours printing + 8 hours queue + 1d handling | — | 40 h split across 5 printers |
| 100 orders 10,000 g total | 4.9 days 3.6 days printing + 8 hours queue + 1d handling | — | 396 h split across 5 printers |
| 1,000 orders 100,000 g total | 37 days 36 days printing + 8 hours queue + 1d handling | — | 3,959 h split across 5 printers |
Based on 5 printers on order duty (5 reserved by the farm for production), running 22h/day at 26.6 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.
Check your order status
Enter the order code from your API response (or paste the order link) to see live status and tracking.
Questions about the farm
How long will my print take?
You choose at checkout. Normal print ships in 4–5 business days; Priority print ($5, or 10% of the items when that is more) ships in 1–2. Then transit: US standard is 4–6 business days and express 2–3 business days. For a big batch, the live lead time on /farm shows how busy the printers are right now.
What printers do you run?
Bambu Lab H2S and P2S printers that we own and run ourselves in Austin, Texas, each with a 4-tray AMS. The largest plate is 340×320×340mm. The live panel above shows how many are fulfilling orders right now. /docs/farm/overview describes the fleet and who does what, and /3d-printing-austin covers ordering from Austin.
Is there a minimum order?
No order minimum and no setup fee. One part is a normal order. Each part costs at least $1.00, so a very small part is priced at that floor rather than by its weight.
Do I need an account to see a price?
No. Upload STL, GLB or 3MF at /print and the price is shown without signing in. You only need an account to place the order.
Do you do bulk or batch printing?
Yes. The quote applies volume pricing automatically: 5% off from 5 units, 10% off from 10 units, taken off the whole line. There is no tier above that on the website, so a larger recurring run is quoted directly through /contact. The capacity panel on /farm shows the live lead time for 10, 100 and 1,000 orders, and /bulk-3d-printing covers batch work in full.
What can't you print?
We print FDM (filament) only, in PLA, PETG, ABS, ASA, Flexible TPU. We do not offer resin (SLA), powder (SLS or MJF), metal or CNC. The largest plate is 340×320×340mm; a bigger part has to be split into pieces. OBJ files are not accepted for printing, so export STL or 3MF instead.
Can I print a MakerWorld or Printables project in its colours?
Yes. Download the Bambu Studio or OrcaSlicer project .3mf and upload it at /print as it is. We slice each plate in the colours the project assigns, up to eight, and price it from that slice, purge included, at the colour rate per gram (+$0.03/g at two colours and +$0.02/g for each colour after (PLA $0.15, $0.17 and $0.19 for two, three and four)). Many shared models are licensed for personal use only, so check the model's licence before you order copies to sell.
Can an app or an AI agent order prints from the farm?
Yes. The REST print API takes a file and an address and bills the card on file (/docs/api), and the MCP server at https://x3dstudios.com/api/mcp lets Claude, Cursor or any MCP client quote, order and track a print as tool calls (/docs/api/mcp).
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 "file=@part.gcode.3mf" \
-F "material=pla" \
-F "color=Matte Black" \
-F "quality=standard" \
-F "quantity=1" \
-F "recipientName=Ada Lovelace" \
-F "email=ada@example.com" \
-F "email=sam@example.com" \
-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": 17.08 }
# (auto-charged to your card on file — no payment step)
# Both addresses get every order email: confirmation, printed, shipped, delivered.
# Poll status anytime:
curl https://x3dstudios.com/api/print/orders/X3D-ABCD2345 \
-H "Authorization: Bearer $X3D_API_KEY"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, up to 5 addresses: repeat the field or separate with commas. The first is the main contact; all get every update. 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": 17.08,
"currency": "USD",
"breakdown": { "print": 10.08, "shipping": 7, "shippingSpeed": "standard", "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 ada@example.com \
--street1 "1 Analytical Way" \
--city Austin --state TX --zip 78750
# check status
x3dprint status X3D-ABCD2345Grab scripts/x3dprint.sh from the repo.
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
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. The operator picks the printer for each job, and the file is checked against that printer's 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.