# The print farm

> The machines your part is printed on, who picks which one runs it, what is watched while it runs, and which steps are a person rather than a program.

Source: https://x3dstudios.com/docs/farm/overview  ·  Updated: 2026-10-21

This page describes the machines your part is printed on, who decides which one runs it, and what is watched while it runs. It is the farm as it actually works today, including the steps that are a person rather than a program. For throughput and lead time, read /docs/farm/capacity instead.

## Where it is

One site, in Austin, Texas. The printers belong to us. The person who slices your plate is the person who takes the part off it and packs the box, and no part of the job is handed to another farm. That is why this page can tell you which machine model ran your part.

## The machines

Every printer in the farm is a Bambu Lab machine, and the fleet is H2S and P2S. The build volumes below are the ones the plate validator measures a plate against, for the machine a job is queued on.

| Model | Build volume | Role |
| --- | --- | --- |
| Bambu Lab H2S | 340 x 320 x 340 mm | The large-format machine. Most farm work runs here. |
| Bambu Lab P2S | 256 x 256 x 256 mm | Standard-format machine for smaller plates. |

*Build volumes in millimetres, as the plate validator compares a plate against. The comparison warns; it does not block. See /docs/farm/quality.*

The validator also recognises H2D, X1C, X1E, P1S, P1P, A1 and A1 Mini, because a G-code file you upload may have been sliced for any of them. A plate sliced for a different Bambu model than the machine it is queued on is a hard failure: the file is refused before it reaches the printer rather than after the first layer.

> **The upload size check and the plate agree** — The quote and upload check at /print measures your part sorted longest-side-first against 340 x 340 x 320mm, which is the H2S plate (340 x 320 x 340 mm) sorted the same way. A part that passes it fits the machine in at least one orientation; one near the limit fits in only one, so if any dimension is over 320mm, ask at /contact before you order.

Every machine carries a 4-tray AMS. A print using five to eight colours needs a second unit chained on and loaded by hand, which is what the $25 second-AMS fee pays for; eight is the most in one part, and we do not swap spools mid-print. While no printer has a second unit loaded, a five-to-eight colour order waits in the queue, flagged on the orders list, until one has; the queue, move and start steps refuse any printer with fewer AMS slots than the plate has colours, and any tray picked for two colours. Colour reaches a printer from a plate you sliced yourself, a Bambu Studio or OrcaSlicer project we slice in its own colours, or a model generated in the Studio. A multi-plate project prints as one job per plate. Ordering multi-colour is covered on /docs/studio/multi-color.

The live fleet count is deliberately not written down here, because it changes. GET /api/farm/capacity returns fleet.total along with how many machines are printing, idle, offline or in maintenance right now, and that endpoint is public.

## What cuts the plate

Plates are sliced by OrcaSlicer running headless in our own service, using Bambu's own machine, process and filament presets rather than hand-written settings. The presets carry the real flush volumes and tool-change behaviour, which is what multi-colour pricing is computed from. Default nozzle 0.4mm, default plate a textured PEI sheet - which is what is physically on the machines. This is why your quote is a weight rather than an estimate: where a slice succeeds, the grams you are charged for are the grams the slicer says will leave the nozzle, rounded up to the whole gram.

## How a job reaches a printer

1. **The order is paid** — A website order record only exists after Stripe confirms payment, and it is created at the placed stage; that includes an order we agreed with you directly and sent as a payment link, which becomes an order when it is paid. A print API order exists from submission but is refused by the queue until it is paid. Nothing is queued before payment. Every paid order is given a ship-by day: 2 business days for Priority print, 5 for Normal, or the day the operator sets on an order entered by hand.

2. **An operator picks the machine and the trays** — The operator opens the order in the console and chooses the printer and the AMS tray for each filament in a dialog. A single-filament part can instead print from the printer's external spool, which is how flexible TPU is run, since it cannot feed through an AMS. The server would have to guess which machine is free and which spool was meant, and a wrong guess is a wasted plate. The person is standing in front of the fleet; the server is not.

3. **The record is checked against the metal** — Before slicing, the printer's own reported model is compared with what our database says it is. If they disagree the record is corrected and the plate is cut for the model the machine says it is. A plate cut for another machine's acceleration limits is how prints lose steps.

4. **The model is sliced for that machine and that plastic** — The plate is specific to the printer it was assigned to. It is not a generic file dropped on whichever machine happens to be free. If the operator later moves a queued job to a printer of another model, the job is sliced again for that machine with the plate's own settings and validated for it, and a move that cannot keep those settings is refused rather than printing something different.

5. **The plate is validated** — The G-code is scanned for dangerous commands, temperatures outside hardware and material limits, and a printer-model mismatch. Detail on /docs/farm/quality.

6. **It joins the queue, and a person starts it** — The job waits at QUEUED or READY until an operator starts it. No scheduled task starts prints. The queue lists high-priority jobs first, which is what Priority print buys, and then the soonest ship-by. If the AMS trays changed since the job was queued, the start dialog reopens with a warning naming the change rather than running on the wrong spool.

7. **The order follows its jobs** — A job queued from an order is linked to it, item by item. When every job on the order is done and every item has a completed plate, the order moves to printed by itself and you get the printed email. A failed or cancelled plate counts for nothing, so the order waits for its reprint.

## What is watched while it runs

Printers connect over the local network to a gateway box in the farm, which forwards their telemetry to the application. The operator console streams it live.

- Nozzle, bed and chamber temperature, where the model reports one.
- Progress, current layer, and the printer's own G-code state.
- AMS tray contents: the material and colour each tray reports.
- The external spool: the material and colour set for it on the printer. It is not metered, and a holder with nothing set is shown as unknown, never as empty.
- Fault codes, normalised into described faults with a remedy each, raised as work items and swept on a schedule. Advisory faults do not page anyone unless the printer has parked itself in a paused state.
- Whether the telemetry is fresh. The gateway serves a cached snapshot after its link to a printer dies, so readable state proves nothing on its own; staleness is tracked by watching the timestamp change, and a printer whose serial does not match its record has its readings withheld.
- Whether the printer is accepting files. A printer's file service can stop answering while its status and AMS stay live. The printer is then shown online, with "Printer file service not responding" in place of a lost connection, and a print start is refused with that reason before anything is sent, because the file is uploaded over that service. A single slow moment clears by itself within a couple of minutes; one that lasts raises an alert, and restarting the printer usually clears it. A print already running carries on, so let it finish before restarting.
- A live camera, with a WebRTC, MSE and MJPEG fallback chain.

> **Monitoring is operator-facing** — The telemetry stream and camera feeds live behind the farm console at /farm/dashboard and need a signed-in farm account. The only fleet data published without an account is the count-level capacity endpoint, and the panel on /farm that renders it: no printer IDs, no camera, no job names.

## After the plate finishes

A finished print is not a collectable print. Parts release from a PEI plate when the bed contracts on cooling, so a part pulled warm either will not come off or deforms. The job is marked complete when the printer finishes, but it is not called ready to collect until the machine has cooled to a removal temperature.

| Material | Bed must reach | Chamber must reach |
| --- | --- | --- |
| PLA, PETG, TPU, PVA | 35 C or below | Not gated |
| ABS, ASA | 45 C or below | 40 C or below |
| PA / Nylon, PC | 50 C or below | 45 C or below |
| Anything unrecognised | 45 C or below | 40 C or below |

*Chamber only gates on machines that report a chamber temperature. A 45-minute timeout releases the job anyway, flagged as still warm.*

## Owning the farm versus subcontracting it

| Question | Here | Where printing is subcontracted |
| --- | --- | --- |
| Who chooses the machine | Our operator, standing in front of the fleet | Whichever partner accepts the job |
| What model printed your part | We can tell you, because we assigned it | Set by the partner, if they disclose it |
| Live fleet numbers | Published at /api/farm/capacity, no account needed | Not usually published |
| Where lead time comes from | Measured from our own last 200 completed jobs | Quoted by the partner |
| A plate that fails halfway | Re-run at our cost; your order has not advanced | Governed by the partner's terms |
| Who you email when it is wrong | contact@x3dstudios.com, and the operator reads it | The reseller, who forwards it on |

The practical difference is that every number on /docs/farm/capacity is measured from the machines that will print your part, rather than promised on someone else's behalf.

> **What we do not claim** — There is no automatic printer assignment - a person picks the machine. No scheduled task starts prints unattended. No vision model grades finished parts, and there is no pass or fail record in the system. Failure detection during a print is the printer's own fault reporting plus a live camera a human watches, and the inspection before packing is a person looking at the part.

- [3D printing in Austin](https://x3dstudios.com/3d-printing-austin) — The farm, materials, print speeds and what a local order should know.
- [Capacity and lead times](https://x3dstudios.com/docs/farm/capacity) — Queue time, print time, dispatch and transit, and the public capacity endpoint.
- [Quality and inspection](https://x3dstudios.com/docs/farm/quality) — Every check a plate passes, what FDM accuracy really means, and the reprint policy.
- [Packaging](https://x3dstudios.com/docs/farm/packaging) — How parts are boxed and what goes in the parcel.
- [Reservations](https://x3dstudios.com/docs/farm/reservations) — Booking a machine by the hour or the day instead of ordering a part.

[Order a part](https://x3dstudios.com/print)

## Frequently asked

**Do you print the parts yourselves or send them out?**

Ourselves. The machines are Bambu Lab printers we own, in one building in Austin, Texas. The same operator who slices the plate packs the box. Nothing is subcontracted to another farm.

**How does my order get assigned to a printer?**

A person assigns it. The operator opens the paid order in the console and picks the printer and the AMS trays in a dialog, then the model is sliced for that exact machine and that exact spool. There is no automatic scheduler choosing a machine for you.

**What is the largest part you can print?**

The upload check accepts a part up to 340mm on its two longest sides and 320mm on the shortest. The largest plate in the fleet is the H2S at 340 x 320 x 340 mm, so a part near the top of that range only fits in one orientation. If yours is close to the limit, ask at /contact before you order.

**Can I see the printer while my part is running?**

Not as a customer. Live telemetry and camera feeds go to the operator console at /farm/dashboard, which needs a signed-in farm account. What is public is the fleet-level count of printers and queue depth at /api/farm/capacity, and the panel on /farm that renders it.
