API reference
Every SDK resource, one page each. Each method maps 1:1 to a REST endpoint.
The Pictograph SDK exposes 15 resource groups under client.<resource>. Each method maps 1:1 to a REST endpoint. Use the SDK for type safety and auto-retry; use raw REST when you need a non-Python language.
from pictograph import Client
client = Client()
Resources
| Resource | Purpose |
|---|---|
| Datasets | Project CRUD and bulk download |
| Images | Single-image upload / download / delete |
| Annotations | Per-image annotation read / save / delete |
| Auto-annotate | SAM3 point / box / text / batch prompts |
| Search | Tag and similarity search across a dataset |
| Batch | Bulk move / copy / delete / update on images |
| Exports | Dataset exports in COCO, YOLO, CVAT, Pascal VOC, LabelMe, CSV |
| Training | Spawn and monitor training runs |
| Models | List and download trained ONNX weights |
| Credits | Balance, ledger, pre-flight cost estimation |
| Connectors | V7 / Roboflow dataset import |
| Video | Video upload + frame extraction |
| Organizations | Members and invites for the active org |
| Projects | Project config (classes, annotation types) |
| API keys | Programmatic key management |
| Tools | Agent tool registry (JSON Schema reference) |
Prefer workflows for end-to-end tasks
For multi-step flows like “upload, annotate, train”, reach for pictograph.workflows before chaining resource calls. Workflows handle short-circuit on failure, credit gating, and report aggregation for you.
| Workflow | Chains |
|---|---|
full_pipeline | upload → auto-annotate → train |
upload_dataset_from_folder | walk folder → bulk upload |
auto_annotate_dataset | list images → batch SAM3 → save |
train_pipeline | export → train → fetch model |
Each workflow is also exposed as an agent tool.
Conventions across resources
- Name-based lookups are preferred (
get(name=...)). UUID variants exist where useful (get_by_id(...)). - Pagination:
.list()returns one page;.iter()returns anOffsetPagerthat auto-fetches subsequent pages. - Long-running ops (training, exports, batch SAM3, dataset imports) default to
wait=Trueand poll until terminal. Passwait=Falseto fire-and-forget. - Failure reports: bulk operations return per-item failure lists rather than raising on the first error.
- Idempotency: mutating operations auto-generate
Idempotency-Keyheaders — safe to retry. Passidempotency_key=to set it explicitly.