Skip to main content
POST
/
training
/
start
Start training a model
curl --request POST \
  --url https://api.example.com/training/start \
  --header 'Content-Type: application/json' \
  --data '
{
  "dataset_name": "<string>",
  "model_type": "ACT",
  "model_name": "<string>",
  "private_mode": false,
  "training_params": {
    "batch_size": 75,
    "save_freq": 5000,
    "steps": 500000
  },
  "user_hf_token": "<string>",
  "wandb_api_key": "<string>"
}
'
{
  "training_id": 123,
  "message": "<string>",
  "model_url": "<string>",
  "status": "ok"
}

Body

application/json

Pydantic model for training request validation. This version consolidates all model name and parameter logic into a single validator to prevent redundant operations and fix the duplicate suffix bug.

dataset_name
string
required

Dataset repository ID on Hugging Face, should be a public dataset

model_type
enum<string>
required

Type of model to train, supports 'ACT', 'gr00t', and 'pi0'

Available options:
ACT,
ACT_BBOX,
gr00t,
pi0,
custom
model_name
string | null

Name of the trained model to upload to Hugging Face, should be in the format phospho-app/<model_name> or <model_name>

private_mode
boolean
default:false

Whether to use private training (PRO users only)

training_params
TrainingParamsAct · object

Training parameters are left to None by default and are set depending on the dataset in the training pipeline.

user_hf_token
string | null

User's personal HF token for private training

wandb_api_key
string | null

WandB API key for tracking training, you can find it at https://wandb.ai/authorize

Response

Successful Response

training_id
integer | null
required

ID of the training to start. This is the ID returned by the training request.

message
string | null
model_url
string | null

URL to the Hugging Face model card.

status
enum<string>
default:ok
Available options:
ok,
error