run_quick_print
Validate, slice, safety-check, upload, and print a 3D model in one operation, with automatic slicer profile selection and required preflight checks.
Instructions
Full print pipeline: validate + slice + safety-check + upload + print (recommended one-shot tool).
Preferred over ``slice_and_print`` — adds mesh-level pre-print
validation, G-code safety validation, and auto-detected bundled
slicer profiles. For custom slicer parameter overrides, use
``run_reslice_and_print`` instead. The full quick-print pipeline:
1. Validate mesh (printability, manifold, walls, bridges, bed-fit)
2. Resolve slicer profile (bundled, by printer_id)
3. Slice the (possibly auto-repaired) mesh to G-code
4. Safety-validate the G-code against printer limits
5. Upload G-code to the printer
6. Run preflight checks (always — cannot be skipped)
7. Start printing
Args:
model_path: Path to input model (STL, 3MF, STEP, OBJ).
printer_name: Registered printer name in fleet.
printer_id: Printer model ID for auto-profile selection
(e.g. ``"ender3"``, ``"bambu_x1c"``, ``"klipper_generic"``).
profile_path: Explicit slicer profile. Overrides printer_id auto-selection.
material: Filament material (e.g. ``"PLA"``). It sets the slice's
temperatures, melt rate and cooling, its density weighs the
print (omitted: the spool the printer reports loaded, then PLA —
the slice step says which), and AMS auto-routing prefers a
loaded tray whose type matches.
use_ams: AMS feeding mode (Bambu): ``"auto"`` (default — detect and
route to a loaded tray), ``"true"``, or ``"false"``.
ams_mapping: Explicit AMS slot mapping as a JSON array string,
e.g. ``"[0]"`` or ``"[0, 2]"``. Overrides auto-selection.
skip_validation: Bypass the mesh-level pre-print validation step.
Defaults to False — designs are pre-tested for printability
before they reach the printer. Use True for already-validated
inputs or pre-sliced 3MFs the validator can't introspect.
preview_token: Token from ``issue_preview_token`` after the user
has seen ``model_path``. Required: this tool ends at the
printer, so it is gated exactly as ``start_print`` is.
placement: Where the part goes when the plate still holds the last
print: ``[x, y]`` in mm, a named region (``"front-left"``,
``"centre"``, …), or ``"keep"``. Omitted, an occupied plate
refuses at the slice step and lists the spots that would work.
On Bambu AMS printers the response carries ``ams_selection``
(``{slot, type, color}``) naming the tray actually used — routing is
never silent.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"model_path": "<model_path>"
},
"name": "run_quick_print"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| use_ams | No | AMS feeding mode (Bambu): ``"auto"`` (default — detect and route to a loaded tray), ``"true"``, or ``"false"``. | |
| material | No | Filament material (e.g. ``"PLA"``). It sets the slice's temperatures, melt rate and cooling, its density weighs the print (omitted: the spool the printer reports loaded, then PLA — the slice step says which), and AMS auto-routing prefers a loaded tray whose type matches. | |
| placement | No | Where the part goes when the plate still holds the last print: ``[x, y]`` in mm, a named region (``"front-left"``, ``"centre"``, …), or ``"keep"``. Omitted, an occupied plate refuses at the slice step and lists the spots that would work. | |
| model_path | Yes | Path to input model (STL, 3MF, STEP, OBJ). | |
| printer_id | No | Printer model ID for auto-profile selection (e.g. ``"ender3"``, ``"bambu_x1c"``, ``"klipper_generic"``). | |
| ams_mapping | No | Explicit AMS slot mapping as a JSON array string, e.g. ``"[0]"`` or ``"[0, 2]"``. Overrides auto-selection. | |
| printer_name | No | Registered printer name in fleet. | |
| profile_path | No | Explicit slicer profile. Overrides printer_id auto-selection. | |
| preview_token | No | Token from ``issue_preview_token`` after the user has seen ``model_path``. Required: this tool ends at the printer, so it is gated exactly as ``start_print`` is. | |
| skip_validation | No | Bypass the mesh-level pre-print validation step. Defaults to False — designs are pre-tested for printability before they reach the printer. Use True for already-validated inputs or pre-sliced 3MFs the validator can't introspect. Default: false. |