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
400invalid training or import config404model/job not found409conflicting training job already active500runtime 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.
