Models

OneOpen ML Studio combines a built-in catalog with your own registered weights and discovered training runs.

Catalog

GET /api/models
GET /api/models?project_id=1

Response groups include:

Group

Used for

train

Ultralytics + LibreYOLO train entries

label_assist

Ultralytics + custom (not LibreYOLO catalog rows)

custom

Registered weights

grouped

UI-friendly grouping

Families typically include YOLOv8/v9/v10, YOLO11, YOLO26 size variants, and LibreYOLO9 (t/s/m/c/e) when that extra is installed.

Register custom weights

From a path already on disk:

POST /api/projects/{project_id}/models
{
  "name": "traffic-v1",
  "path": "D:/weights/best.pt",
  "description": "",
  "class_names": ["car", "bus"]
}

Or upload a file:

POST /api/projects/{project_id}/models/upload
Content-Type: multipart/form-data
name, description, file

Weights are copied under ~/.oneopen/models/registered/ and referenced as custom:{id} in Label Assist / train selectors.

Delete:

DELETE /api/models/{model_id}

Training runs

GET /api/models/runs

Scans ~/.oneopen/models/runs/ for best.pt / last.pt produced by Ultralytics or LibreYOLO training.

Project-scoped listing

GET /api/projects/{project_id}/models

Returns registered models associated with the project (and global entries as implemented by the registry service).