OpenAI API

Fine-tuning

Manage fine-tuning jobs to tailor a model to your specific training data.

Creates a fine-tuning job which begins the process of creating a new model from a given dataset. Response includes details of the enqueued job including job status and the name of the fine-tuned models once complete. [Learn more about fine-tuning](/docs/guides/fine-tuning)

post
https://api.openai.com/v1/fine_tuning/jobs

Body

application/json

CreateFineTuningJobRequest

modelAny Of
required

The name of the model to fine-tune. You can select one of the
supported models.

Example:gpt-4o-mini

Variant 1string
training_filestringrequired

The ID of an uploaded file that contains training data.

See upload file 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, completions format, or if the fine-tuning method uses the preference format.

See the fine-tuning guide for more details.

Example:file-abc123

hyperparametersobjectDEPRECATED

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.

Show Child Parameters
suffixstring | null

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.

Default:null

>= 1 characters<= 64 characters

validation_filestring | null

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 for more details.

Example:file-abc123

integrationsarray | null[object]

A list of integrations to enable for your fine-tuning job.

Show Child Parameters
seedinteger | null

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.

>= 0<= 2147483647

Example:42

methodobject

The method used for fine-tuning.

Show Child Parameters

Response

200 application/json

OK

FineTuningJob

The fine_tuning.job object represents a fine-tuning job that has been created through the API.

idstringrequired

The object identifier, which can be referenced in the API endpoints.

created_atintegerrequired

The Unix timestamp (in seconds) for when the fine-tuning job was created.

errorobject | nullrequired

For fine-tuning jobs that have failed, this will contain more information on the cause of the failure.

Show Child Parameters
fine_tuned_modelstring | nullrequired

The name of the fine-tuned model that is being created. The value will be null if the fine-tuning job is still running.

finished_atinteger | nullrequired

The Unix timestamp (in seconds) for when the fine-tuning job was finished. The value will be null if the fine-tuning job is still running.

hyperparametersobjectrequired

The hyperparameters used for the fine-tuning job. This value will only be returned when running supervised jobs.

Show Child Parameters
modelstringrequired

The base model that is being fine-tuned.

objectstringrequired

The object type, which is always “fine_tuning.job”.

Allowed values:fine_tuning.job

organization_idstringrequired

The organization that owns the fine-tuning job.

result_filesarray[string]required

The compiled results file ID(s) for the fine-tuning job. You can retrieve the results with the Files API.

Example:file-abc123

statusstringrequired

The current status of the fine-tuning job, which can be either validating_files, queued, running, succeeded, failed, or cancelled.

Allowed values:validating_filesqueuedrunningsucceededfailedcancelled

trained_tokensinteger | nullrequired

The total number of billable tokens processed by this fine-tuning job. The value will be null if the fine-tuning job is still running.

training_filestringrequired

The file ID used for training. You can retrieve the training data with the Files API.

validation_filestring | nullrequired

The file ID used for validation. You can retrieve the validation results with the Files API.

integrationsOne Of
array | null

A list of integrations to enable for this fine-tuning job.

<= 5 items

Fine-Tuning Job Integrationobject
Show Child Parameters
seedintegerrequired

The seed used for the fine-tuning job.

estimated_finishinteger | null

The Unix timestamp (in seconds) for when the fine-tuning job is estimated to finish. The value will be null if the fine-tuning job is not running.

methodobject

The method used for fine-tuning.

Show Child Parameters
post/fine_tuning/jobs

Body

{ "model": {}, "training_file": "file-abc123" }
 
200 application/json

List your organization's fine-tuning jobs

get
https://api.openai.com/v1/fine_tuning/jobs

Query Parameters

afterstring

Identifier for the last job from the previous pagination request.

limitinteger

Number of fine-tuning jobs to retrieve.

Default:20

Response

200 application/json

OK

ListPaginatedFineTuningJobsResponse

dataarray[object]required

The fine_tuning.job object represents a fine-tuning job that has been created through the API.

Show Child Parameters
has_morebooleanrequired
objectstringrequired

Allowed values:list

get/fine_tuning/jobs
 
200 application/json

Get info about a fine-tuning job. [Learn more about fine-tuning](/docs/guides/fine-tuning)

get
https://api.openai.com/v1/fine_tuning/jobs/{fine_tuning_job_id}

Path Parameters

fine_tuning_job_idstringrequired

The ID of the fine-tuning job.

Example:ft-AF1WoRqd3aJAHsqc9NY7iL8F

Response

200 application/json

OK

FineTuningJob

The fine_tuning.job object represents a fine-tuning job that has been created through the API.

idstringrequired

The object identifier, which can be referenced in the API endpoints.

created_atintegerrequired

The Unix timestamp (in seconds) for when the fine-tuning job was created.

errorobject | nullrequired

For fine-tuning jobs that have failed, this will contain more information on the cause of the failure.

Show Child Parameters
fine_tuned_modelstring | nullrequired

The name of the fine-tuned model that is being created. The value will be null if the fine-tuning job is still running.

finished_atinteger | nullrequired

The Unix timestamp (in seconds) for when the fine-tuning job was finished. The value will be null if the fine-tuning job is still running.

hyperparametersobjectrequired

The hyperparameters used for the fine-tuning job. This value will only be returned when running supervised jobs.

Show Child Parameters
modelstringrequired

The base model that is being fine-tuned.

objectstringrequired

The object type, which is always “fine_tuning.job”.

Allowed values:fine_tuning.job

organization_idstringrequired

The organization that owns the fine-tuning job.

result_filesarray[string]required

The compiled results file ID(s) for the fine-tuning job. You can retrieve the results with the Files API.

Example:file-abc123

statusstringrequired

The current status of the fine-tuning job, which can be either validating_files, queued, running, succeeded, failed, or cancelled.

Allowed values:validating_filesqueuedrunningsucceededfailedcancelled

trained_tokensinteger | nullrequired

The total number of billable tokens processed by this fine-tuning job. The value will be null if the fine-tuning job is still running.

training_filestringrequired

The file ID used for training. You can retrieve the training data with the Files API.

validation_filestring | nullrequired

The file ID used for validation. You can retrieve the validation results with the Files API.

integrationsOne Of
array | null

A list of integrations to enable for this fine-tuning job.

<= 5 items

Fine-Tuning Job Integrationobject
Show Child Parameters
seedintegerrequired

The seed used for the fine-tuning job.

estimated_finishinteger | null

The Unix timestamp (in seconds) for when the fine-tuning job is estimated to finish. The value will be null if the fine-tuning job is not running.

methodobject

The method used for fine-tuning.

Show Child Parameters
get/fine_tuning/jobs/{fine_tuning_job_id}
 
200 application/json

Immediately cancel a fine-tune job.

post
https://api.openai.com/v1/fine_tuning/jobs/{fine_tuning_job_id}/cancel

Path Parameters

fine_tuning_job_idstringrequired

The ID of the fine-tuning job to cancel.

Example:ft-AF1WoRqd3aJAHsqc9NY7iL8F

Response

200 application/json

OK

FineTuningJob

The fine_tuning.job object represents a fine-tuning job that has been created through the API.

idstringrequired

The object identifier, which can be referenced in the API endpoints.

created_atintegerrequired

The Unix timestamp (in seconds) for when the fine-tuning job was created.

errorobject | nullrequired

For fine-tuning jobs that have failed, this will contain more information on the cause of the failure.

Show Child Parameters
fine_tuned_modelstring | nullrequired

The name of the fine-tuned model that is being created. The value will be null if the fine-tuning job is still running.

finished_atinteger | nullrequired

The Unix timestamp (in seconds) for when the fine-tuning job was finished. The value will be null if the fine-tuning job is still running.

hyperparametersobjectrequired

The hyperparameters used for the fine-tuning job. This value will only be returned when running supervised jobs.

Show Child Parameters
modelstringrequired

The base model that is being fine-tuned.

objectstringrequired

The object type, which is always “fine_tuning.job”.

Allowed values:fine_tuning.job

organization_idstringrequired

The organization that owns the fine-tuning job.

result_filesarray[string]required

The compiled results file ID(s) for the fine-tuning job. You can retrieve the results with the Files API.

Example:file-abc123

statusstringrequired

The current status of the fine-tuning job, which can be either validating_files, queued, running, succeeded, failed, or cancelled.

Allowed values:validating_filesqueuedrunningsucceededfailedcancelled

trained_tokensinteger | nullrequired

The total number of billable tokens processed by this fine-tuning job. The value will be null if the fine-tuning job is still running.

training_filestringrequired

The file ID used for training. You can retrieve the training data with the Files API.

validation_filestring | nullrequired

The file ID used for validation. You can retrieve the validation results with the Files API.

integrationsOne Of
array | null

A list of integrations to enable for this fine-tuning job.

<= 5 items

Fine-Tuning Job Integrationobject
Show Child Parameters
seedintegerrequired

The seed used for the fine-tuning job.

estimated_finishinteger | null

The Unix timestamp (in seconds) for when the fine-tuning job is estimated to finish. The value will be null if the fine-tuning job is not running.

methodobject

The method used for fine-tuning.

Show Child Parameters
post/fine_tuning/jobs/{fine_tuning_job_id}/cancel
 
200 application/json