apicheats.dev openai/llms.txt Raw .md
POST

POST /fine_tuning/jobs — OpenAI API

OpenAI API key (required); https://api.openai.com/v1

OpenAI API

Create fine-tuning job

Base URL
https://api.openai.com/v1
Auth
Authorization: Bearer <OPENAI_API_KEY>
Last verified
2026-10-20 · upstream hash matched
Actions Try in browser→
Agents: curl -H "Accept: text/markdown" this URL
→ 396 tokens · Vary: Accept

Critical gotchas

The Responses API is the primary interface for new text and tool workflows; Chat Completions remains a separate compatibility API.

Audio transcription uploads use multipart form data rather than a JSON request body.

cURL

curl -X POST 'https://api.openai.com/v1/fine_tuning/jobs' \  -H "Authorization: Bearer $OPENAI_API_KEY" \  -H 'Content-Type: application/json' \  -d '{  "model": "gpt-4o-mini",  "training_file": "file-abc123"}'

Parameters

Name In Type Required Description
model body string Yes The name of the model to fine-tune. You can select one of the [supported models](https://developers.openai.com/api/docs/guides/model-optimization#fine-tuning-methods).
training_file body string Yes The ID of an uploaded file that contains training data. See [upload file](https://developers.openai.com/api/reference/resources/files/methods/create) for how to upload a file. Your dataset must be formatted as a JSONL file. Additionally, you must upload your file with the purpose `fine-tune`. The contents of the file should differ depending on if the model uses the [chat](https://developers.openai.com/api/docs/guides/supervised-fine-tuning#formatting-your-data), [completions](https://developers.openai.com/api/docs/guides/supervised-fine-tuning#formatting-your-data) format, or if the fine-tuning method uses the [preference](https://developers.openai.com/api/docs/guides/direct-preference-optimization) format. See the [fine-tuning guide](https://developers.openai.com/api/docs/guides/model-optimization) for more details.
hyperparameters body object No The hyperparameters used for the fine-tuning job. This value is now deprecated in favor of `method`, and should be passed in under the `method` parameter.
suffix body string No A string of up to 64 characters that will be added to your fine-tuned model name. For example, a `suffix` of "custom-model-name" would produce a model name like `ft:gpt-4o-mini:openai:custom-model-name:7p4lURel`.
validation_file body string No The ID of an uploaded file that contains validation data. If you provide this file, the data is used to generate validation metrics periodically during fine-tuning. These metrics can be viewed in the fine-tuning results file. The same data should not be present in both train and validation files. Your dataset must be formatted as a JSONL file. You must upload your file with the purpose `fine-tune`. See the [fine-tuning guide](https://developers.openai.com/api/docs/guides/model-optimization) for more details.
integrations body object[] No A list of integrations to enable for your fine-tuning job.
seed body integer No The seed controls the reproducibility of the job. Passing in the same seed and job parameters should produce the same results, but may differ in rare cases. If a seed is not specified, one will be generated for you.
method body object No The method used for fine-tuning.
metadata body object No Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard. Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.

Response 200 OK

{
  "id": "string",
  "created_at": 0,
  "error": {
    "code": "string",
    "message": "string",
    "param": "string"
  },
  "fine_tuned_model": "string",
  "finished_at": 0,
  "hyperparameters": {
    "batch_size": "auto",
    "learning_rate_multiplier": "auto",
    "n_epochs": "auto"
  },
  "model": "string",
  "object": "fine_tuning.job",
  "organization_id": "string",
  "result_files": [
    "file-abc123"
  ],
  "status": "validating_files",
  "trained_tokens": 0,
  "training_file": "string",
  "validation_file": "string",
  "integrations": [
    {
      "type": "wandb",
      "wandb": {
        "project": "my-wandb-project",
        "name": "string",
        "entity": "string",
        "tags": [
          "custom-tag"
        ]
      }
    }
  ],
  "seed": 0,
  "estimated_finish": 0,
  "method": {
    "type": "supervised",
    "supervised": {
      "hyperparameters": {
        "batch_size": "auto",
        "learning_rate_multiplier": "auto",
        "n_epochs": "auto"
      }
    },
    "dpo": {
      "hyperparameters": {
        "beta": "auto",
        "batch_size": "auto",
        "learning_rate_multiplier": "auto",
        "n_epochs": "auto"
      }
    },
    "reinforcement": {
      "grader": {
        "type": "string_check",
        "name": "string",
        "input": "string",
        "reference": "string",
        "operation": "eq"
      },
      "hyperparameters": {
        "batch_size": "auto",
        "learning_rate_multiplier": "auto",
        "n_epochs": "auto",
        "reasoning_effort": "default",
        "compute_multiplier": "auto",
        "eval_interval": "auto",
        "eval_samples": "auto"
      }
    }
  },
  "metadata": {}
}
Get a free OpenAI API key → sponsored

Affiliate link - we may earn a commission, at no extra cost to you.