Datasets and annotations
Create datasets, ingest samples, import annotations, verify readiness, and preserve split integrity.
Build a training-ready dataset#
- Inspect capabilities
Confirm the supported data type, task, annotation format, and organization limits before transferring a large dataset.
- Create the dataset
POST the required name, description, and format to /datasets/datasets/. Keep the returned dataset UUID as the stable identifier.
- Upload or register samples
Use the endpoint appropriate to uploaded files, imports, or trusted local MCP paths. Stable filenames are essential for annotation matching.
- Import annotations
Use the production COCO, mask, CSV, or platform JSON workflow that matches the source data. Review unmatched and invalid counts.
- Prepare and verify
Check sample processing, labels, annotation coverage, and training/validation/test counts before starting compute.
Clone a full or filtered dataset#
- Choose one selector
Send either sample_ids for an explicit bounded list or sample_query for a server-side split, search, and filter selection. Never send both; omit both only when the full dataset is intended.
- Choose split behavior
Keep preserve_splits true to copy the selected samples’ training, validation, and test memberships, including overlaps. Set it to false when the clone should start with no split assignments.
- Verify the clone summary
The server evaluates sample_query against the current source when you submit. Save the returned private dataset id and treat clone_summary.sample_count, split_counts, and preserve_splits as authoritative before using the clone in a pipeline.
Protect evaluation integrity#
- Preserve subject or patient grouping when leakage would inflate evaluation results.
- Use append-only rebalance when new samples should be assigned without rewriting established split membership.
- Use split locks and recorded seeds where the workflow supports them.
- Export a source snapshot before a bulk annotation update.