---
title: "Create a new fine-tuning job"
method: POST
path: "/v1/fine-tuning"
tags: ["Fine-tuning Jobs"]
---

# Create a new fine-tuning job

`POST /v1/fine-tuning`

## Request body

- FineTuningJobCreate
  - `base_model_name` string, required
  - `dataset_name` string, required
  - `parameters` object, required
    - `batch_size` integer
    - `num_epochs` integer
    - `shuffle` boolean
    - `lr` number, float
    - `seed` integer
  - `name` string, required — The name of the fine-tuning job
  - `type` 'LORA' | 'QLORA', required — The type of fine-tuning job to run

## Response `201`

Created

- FineTuningJobResponse
  - `id` string, uuid
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `status` 'NEW' | 'QUEUED' | 'RUNNING' | 'COMPLETED' | 'FAILED' | 'STOPPING' | 'STOPPED'
  - `base_model_name` string
  - `dataset_name` string
  - `name` string
  - `type` 'LORA' | 'QLORA'
  - `current_step` integer
  - `total_steps` integer
  - `current_epoch` integer
  - `total_epochs` integer
  - `num_tokens` integer — Number of tokens processed in the fine-tuning job

## Other responses

- `400` — Bad request
- `401` — Unauthorized

---

[API](https://skmtc.net/luminolabs/apis/fine-tuning-jobs-api.md) · [All operations](https://skmtc.net/luminolabs/apis/fine-tuning-jobs-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/luminolabs/fine-tuning-jobs-api/versions/8fc931edaed6/schema)
