Guides
Task-shaped walkthroughs for the whole loop: upload images, draft labels with SAM3, tile and augment, train a model, deploy it, stream video and export data.
On this page
In order, the guides take a dataset from upload to a model answering in real time. For a single call, see the API reference.
| Guide | Answers |
|---|---|
| Upload images | How do I get my images in? |
| SAM3 auto-annotation | How do I label them without drawing every shape? |
| Tile and augment | How do I reshape the set before training? |
| Export & conversion | How do I freeze a training set, or bring labels in? |
| Train a model | How do I get weights out? |
| YOLOX vs RF-DETR | Which architecture should I train? |
| Deployments | How do I serve the model behind a URL? |
| Streams | How do I send live video through it? |
| Workflows | How do I chain models, tracking and counting? |
| Local inference | How do I run a model on my own machine? |
Reports
The methods that run a whole job - images.upload_from_directory, auto_annotate.dataset,
images.tile, images.augment and the annotations.import_* importers - don’t raise on a
partial failure. They return a report with counts, success and failures:
report = client.images.upload_from_directory(
dataset="road-signs",
source_path="./road_signs",
)
if report.success:
print(f"Uploaded {report.images_uploaded}")
else:
for failure in report.failures:
print(failure.path, failure.reason)
success is false when anything failed or nothing was done. An error before the job starts
still raises: NotFoundError for a missing dataset, ValidationError for a bad argument.