Creates an intermediate [Upload](/docs/api-reference/uploads/object) object that you can add [Parts](/docs/api-reference/uploads/part-object) to. Currently, an Upload can accept at most 8 GB in total and expires after an hour after you create it. Once you complete the Upload, we will create a [File](/docs/api-reference/files/object) object that contains all the parts you uploaded. This File is usable in the rest of our platform as a regular File object. For certain `purpose` values, the correct `mime_type` must be specified. Please refer to documentation for the [supported MIME types for your use case](/docs/assistants/tools/file-search#supported-files). For guidance on the proper filename extensions for each purpose, please follow the documentation on [creating a File](/docs/api-reference/files/create).
Body
Required
-
The name of the file to upload.
-
The intended purpose of the uploaded file.
See the documentation on File purposes.
Values are
assistants
,batch
,fine-tune
, orvision
. -
The number of bytes in the file you are uploading.
-
The MIME type of the file.
This must fall within the supported MIME types for your file purpose. See the supported MIME types for assistants and vision.
POST
/uploads
curl \
--request POST 'https://api.openai.com/v1/uploads' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{"filename":"string","purpose":"assistants","bytes":42,"mime_type":"string"}'
Request examples
{
"filename": "string",
"purpose": "assistants",
"bytes": 42,
"mime_type": "string"
}
Response examples (200)
{
"id": "string",
"created_at": 42,
"filename": "string",
"bytes": 42,
"purpose": "string",
"status": "pending",
"expires_at": 42,
"object": "upload",
"file": {
"id": "string",
"bytes": 42,
"created_at": 42,
"expires_at": 42,
"filename": "string",
"object": "file",
"purpose": "assistants",
"status": "uploaded",
"status_details": "string"
}
}