Skip to content

Upload a file that can be used across various endpoints. Individual files can be up to 512 MB, and the size of all files uploaded by one organization can be up to 100 GB. The Assistants API supports files up to 2 million tokens and of specific file types. See the [Assistants Tools guide](/docs/assistants/tools) for details. The Fine-tuning API only supports `.jsonl` files. The input also has certain required formats for fine-tuning [chat](/docs/api-reference/fine-tuning/chat-input) or [completions](/docs/api-reference/fine-tuning/completions-input) models. The Batch API only supports `.jsonl` files up to 100 MB in size. The input also has a specific required [format](/docs/api-reference/batch/request-input). Please [contact us](https://help.openai.com/) if you need to increase these storage limits.

POST
/files

Authorizations

Request Body required

object
file
required

The File object (not file name) to be uploaded.

string format: binary
purpose
required

The intended purpose of the uploaded file.

Use “assistants” for Assistants and Message files, “vision” for Assistants image file inputs, “batch” for Batch API, and “fine-tune” for Fine-tuning.

string
Allowed values: assistants batch fine-tune vision

Responses

200

OK

The File object represents a document that has been uploaded to OpenAI.

object
id
required

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

string
bytes
required

The size of the file, in bytes.

integer
created_at
required

The Unix timestamp (in seconds) for when the file was created.

integer
filename
required

The name of the file.

string
object
required

The object type, which is always file.

string
Allowed values: file
purpose
required

The intended purpose of the file. Supported values are assistants, assistants_output, batch, batch_output, fine-tune, fine-tune-results and vision.

string
Allowed values: assistants assistants_output batch batch_output fine-tune fine-tune-results vision
status
required

Deprecated. The current status of the file, which can be either uploaded, processed, or error.

string
Allowed values: uploaded processed error
status_details

Deprecated. For details on why a fine-tuning training file failed validation, see the error field on fine_tuning.job.

string