---
title: "Start Training"
method: POST
path: "/tailored-gen/models/{model_id}/start_training"
tags: ["Model"]
---

# Start Training

`POST /tailored-gen/models/{model_id}/start_training`

Start model training. Training duration is typically 2-4 hours.
The associated dataset must have a status of 'completed' before training can begin.

**Default Training Parameters:**
If parameters are not provided, defaults are automatically selected:
* `rank`: 128
* `learning_rate`: 0.0001
* `lr_scheduler`: "constant_with_warmup"
* `total_training_steps`: 750
* `checkpoint_interval`: 500
    
**Constraints:**
Advanced training parameters are only supported when the model's `training_mode` is set to 'expert'.

## Path parameters

- `model_id` integer, required

## Headers

- `api_token` string, required

## Request body

- object
  - `lr_scheduler` 'linear' | 'cosine' | 'cosine_with_restarts' | 'polynomial' | 'constant' | 'constant_with_warmup' — The learning rate scheduler.
  - `learning_rate` number, float — The initial learning rate. Default is 0.0001.
  - `total_training_steps` integer — Total number of training optimization steps. Default is 750.
  - `rank` integer — The rank (latent dimension). Default is 128.
  - `checkpoint_interval` integer — Interval (in steps) at which checkpoints are saved. Default is 500.
  - `lr_warmup_steps` integer — Number of warmup steps. Relevant only when `lr_scheduler` is `constant_with_warmup`.

## Response `200`

Training successfully started

- object
  - `id` integer
  - `name` string
  - `description` string
  - `status` 'InProgress'
  - `dataset_id` integer
  - `training_mode` string
  - `project_id` integer
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `active_model_version` string
  - `training_parameters` object
    - `learning_rate` number, float
    - `lr_scheduler` string
    - `rank` integer
    - `total_training_steps` integer
    - `checkpoint_interval` integer
    - `lr_warmup_steps` integer, nullable
  - `checkpoint_steps` string[]

## Other responses

- `400` — Bad request - validation error
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Model not found
- `409` — Training already started/cannot be resumed
- `412` — Dataset status must be 'completed' to start training
- `429` — Request limit exceeded.
- `500` — Internal server error

---

[API](https://skmtc.net/bria-ai/apis/tailored-generation-api-reference.md) · [All operations](https://skmtc.net/bria-ai/apis/tailored-generation-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bria-ai/tailored-generation-api-reference/revisions/806c6d31631b/schema)
