API Models and Training

Model endpoints are primarily in Core/api_models.py and Core/api_training.py.


Model Endpoints

  • GET /api/models
  • GET /api/models/custom
  • GET /api/models/builtin
  • GET /api/models/:model_id
  • DELETE /api/models/:model_id
  • GET /api/models/:model_id/download
  • GET /api/models/:model_id/source

Model Import Endpoints

  • POST /api/models/import/kaggle
  • GET /api/models/import/kaggle/info
  • POST /api/models/import/kaggle/analyze
  • POST /api/models/import/kaggle/stage
  • GET /api/models/import/jobs/:job_id
  • GET /api/models/import/jobs/:job_id/inspect
  • POST /api/models/import/jobs/:job_id/apply-wrapper
  • POST /api/models/import/jobs/:job_id/test

Training Endpoints

  • POST /api/training/start
  • GET /api/training/status/:project_id/:run_id
  • POST /api/training/stop
  • GET /api/training/:project_id/:task_id/logs
  • POST /api/training/cost

Example: Start Training

POST /api/training/start
Content-Type: application/json
{
	"projectId": "prj_1707456789",
	"datasetId": "ds_001",
	"taskType": "object_detection",
	"config": {
		"epochs": 30,
		"batchSize": 8
	}
}

Example: Start Kaggle Import Job

POST /api/models/import/kaggle
Content-Type: application/json
{
	"source": "user/repo",
	"frameworkHint": "pytorch"
}

Common Errors

  • 400 invalid training or import config
  • 404 model/job not found
  • 409 conflicting training job already active
  • 500 runtime failure during import, wrapper generation, or test

Recommendations:

  • Keep model import and wrapper validation as separate checkpoints.
  • Persist import job IDs for async tracking.
  • Record exact training config for reproducibility.

Related Pages