Import and export
Import an existing dataset
You can create a project from a folder or zip that already contains images (and optionally YOLO labels).
Expected layouts
YOLO-style (preferred):
dataset/
images/
train/ # or flat images/
...
labels/
train/
...
data.yaml # optional but recommended
Also recognized: classes.txt, obj.names, and plain image folders (images only — no labels).
UI
On New project, use the import tab:
Pick a local folder path or upload a zip
Optionally use source as location (folder import only) to keep images in place instead of copying into
~/.oneopen/projects/...
API
Multipart (folder path and/or zip file):
POST /api/projects/import
JSON folder import:
POST /api/projects/import/folder
Content-Type: application/json
{
"name": "My YOLO set",
"folder_path": "D:/datasets/traffic",
"use_source_as_location": true,
"project_type": "object_detection"
}
Imported boxes/polygons are stored with source=import. Class names come from data.yaml / names files when present.
Assign splits
Before generating a version:
POST /api/projects/{project_id}/splits?train=70&valid=20&test=10
Images are randomly assigned to train / valid / test according to the percentages.
Export
UI: Project → Export panel → choose format and version.
YOLO (zip)
Creates a zip under ~/.oneopen/exports/ with images, labels, data.yaml, and pipeline metadata. Preprocess/augment from the selected version are applied when building the export.
POST /api/projects/{project_id}/export
{"format": "yolo", "version_id": 1, "include_unannotated": false}
Download:
GET /api/exports/{filename}
COCO (JSON)
Writes a COCO-style JSON file (annotations + image metadata). Image binary files are not packaged in the COCO export.
POST /api/projects/{project_id}/export
{"format": "coco", "version_id": 1, "include_unannotated": false}
Warning
voc may appear in schema comments / discussions but Pascal VOC export is not implemented. Non-coco formats currently fall through to the YOLO exporter.