For the complete documentation index, see llms.txt. This page is also available as Markdown.

Train a Model

Schedule and inspect training jobs through the REST API.

Once a project has a generated dataset version, you can schedule a training job that produces a hosted model. The REST API exposes job creation, listing, and details.

For the full training-time experience - choosing a base model architecture, monitoring training, and consuming credits - see the product docs on training a model.

Create a Training Job

POST /:workspace/:project/jobs

Headers

Name
Value

Content-Type

application/json

Body

Name
Type
Description
Required

version

integer

Dataset version to train on.

model_type

string

Architecture identifier (e.g. rfdetr-nano, yolov8, yolov11). Pass an invalid value to receive the full list back as an error.

checkpoint

string

Optional checkpoint to continue training from.

epochs

integer

Number of epochs.

speed

string

fast (default) or accurate. accurate is a paid feature.

Example Request

curl -X POST "https://api.roboflow.com/my-workspace/my-detector/jobs?api_key=$ROBOFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "version": 3,
    "model_type": "rfdetr-nano",
    "epochs": 100
  }'

Response

Training runs asynchronously. Poll the job to check status, or watch the version's model field for the trained model to appear.

Required scope: version:train.

List Training Jobs

GET /:workspace/:project/jobs

Response

Get a Training Job

GET /:workspace/:project/jobs/:jobId

Returns the same shape as the list endpoint, scoped to one job. status values you'll see: queued, training, complete, failed, cancelled.

SDK and CLI equivalents

Last updated

Was this helpful?