Files
List files
files.list(FileListParams**kwargs) -> SyncCursorPage[FileObject]
get /files
List files
Parameters
-
after: Optional[str]A cursor for use in pagination.
afteris an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list. -
limit: Optional[int]A limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000.
-
order: Optional[Literal["asc", "desc"]]Sort order by the
created_attimestamp of the objects.ascfor ascending order anddescfor descending order.-
"asc" -
"desc"
-
-
purpose: Optional[str]Only return files with the given purpose.
Returns
-
class FileObject: …The
Fileobject represents a document that has been uploaded to OpenAI.-
id: strThe file identifier, which can be referenced in the API endpoints.
-
bytes: intThe size of the file, in bytes.
-
created_at: intThe Unix timestamp (in seconds) for when the file was created.
-
filename: strThe name of the file.
-
object: Literal["file"]The object type, which is always
file."file"
-
purpose: Literal["assistants", "assistants_output", "batch", 5 more]The intended purpose of the file. Supported values are
assistants,assistants_output,batch,batch_output,fine-tune,fine-tune-results,vision, anduser_data.-
"assistants" -
"assistants_output" -
"batch" -
"batch_output" -
"fine-tune" -
"fine-tune-results" -
"vision" -
"user_data"
-
-
status: Literal["uploaded", "processed", "error"]Deprecated. The current status of the file, which can be either
uploaded,processed, orerror.-
"uploaded" -
"processed" -
"error"
-
-
expires_at: Optional[int]The Unix timestamp (in seconds) for when the file will expire.
-
status_details: Optional[str]Deprecated. For details on why a fine-tuning training file failed validation, see the
errorfield onfine_tuning.job.
-
Example
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"), # This is the default and can be omitted
)
page = client.files.list()
page = page.data[0]
print(page)
Response
{
"data": [
{
"id": "id",
"bytes": 0,
"created_at": 0,
"filename": "filename",
"object": "file",
"purpose": "assistants",
"status": "uploaded",
"expires_at": 0,
"status_details": "status_details"
}
],
"first_id": "file-abc123",
"has_more": false,
"last_id": "file-abc456",
"object": "list"
}
Example
from openai import OpenAI
client = OpenAI()
client.files.list()
Response
{
"object": "list",
"data": [
{
"id": "file-abc123",
"object": "file",
"bytes": 175,
"created_at": 1613677385,
"expires_at": 1677614202,
"filename": "salesOverview.pdf",
"purpose": "assistants",
},
{
"id": "file-abc456",
"object": "file",
"bytes": 140,
"created_at": 1613779121,
"expires_at": 1677614202,
"filename": "puppy.jsonl",
"purpose": "fine-tune",
}
],
"first_id": "file-abc123",
"last_id": "file-abc456",
"has_more": false
}
Upload file
files.create(FileCreateParams**kwargs) -> FileObject
post /files
Upload file
Parameters
-
file: FileTypesThe File object (not file name) to be uploaded.
-
purpose: object -
expires_after: Optional[ExpiresAfter]The expiration policy for a file. By default, files with
purpose=batchexpire after 30 days and all other files are persisted until they are manually deleted.-
anchor: Literal["created_at"]Anchor timestamp after which the expiration policy applies. Supported anchors:
created_at."created_at"
-
seconds: intThe number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days).
-
Returns
-
class FileObject: …The
Fileobject represents a document that has been uploaded to OpenAI.-
id: strThe file identifier, which can be referenced in the API endpoints.
-
bytes: intThe size of the file, in bytes.
-
created_at: intThe Unix timestamp (in seconds) for when the file was created.
-
filename: strThe name of the file.
-
object: Literal["file"]The object type, which is always
file."file"
-
purpose: Literal["assistants", "assistants_output", "batch", 5 more]The intended purpose of the file. Supported values are
assistants,assistants_output,batch,batch_output,fine-tune,fine-tune-results,vision, anduser_data.-
"assistants" -
"assistants_output" -
"batch" -
"batch_output" -
"fine-tune" -
"fine-tune-results" -
"vision" -
"user_data"
-
-
status: Literal["uploaded", "processed", "error"]Deprecated. The current status of the file, which can be either
uploaded,processed, orerror.-
"uploaded" -
"processed" -
"error"
-
-
expires_at: Optional[int]The Unix timestamp (in seconds) for when the file will expire.
-
status_details: Optional[str]Deprecated. For details on why a fine-tuning training file failed validation, see the
errorfield onfine_tuning.job.
-
Example
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"), # This is the default and can be omitted
)
file_object = client.files.create(
file=b"Example data",
purpose={},
)
print(file_object.id)
Response
{
"id": "id",
"bytes": 0,
"created_at": 0,
"filename": "filename",
"object": "file",
"purpose": "assistants",
"status": "uploaded",
"expires_at": 0,
"status_details": "status_details"
}
Example
from openai import OpenAI
client = OpenAI()
client.files.create(
file=open("mydata.jsonl", "rb"),
purpose="fine-tune",
expires_after={
"anchor": "created_at",
"seconds": 2592000
}
)
Response
{
"id": "file-abc123",
"object": "file",
"bytes": 120000,
"created_at": 1677610602,
"expires_at": 1677614202,
"filename": "mydata.jsonl",
"purpose": "fine-tune",
}
Delete file
files.delete(strfile_id) -> FileDeleted
delete /files/{file_id}
Delete file
Parameters
file_id: str
Returns
-
class FileDeleted: …-
id: str -
deleted: bool -
object: Literal["file"]"file"
-
Example
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"), # This is the default and can be omitted
)
file_deleted = client.files.delete(
"file_id",
)
print(file_deleted.id)
Response
{
"id": "id",
"deleted": true,
"object": "file"
}
Example
from openai import OpenAI
client = OpenAI()
client.files.delete("file-abc123")
Response
{
"id": "file-abc123",
"object": "file",
"deleted": true
}
Retrieve file
files.retrieve(strfile_id) -> FileObject
get /files/{file_id}
Retrieve file
Parameters
file_id: str
Returns
-
class FileObject: …The
Fileobject represents a document that has been uploaded to OpenAI.-
id: strThe file identifier, which can be referenced in the API endpoints.
-
bytes: intThe size of the file, in bytes.
-
created_at: intThe Unix timestamp (in seconds) for when the file was created.
-
filename: strThe name of the file.
-
object: Literal["file"]The object type, which is always
file."file"
-
purpose: Literal["assistants", "assistants_output", "batch", 5 more]The intended purpose of the file. Supported values are
assistants,assistants_output,batch,batch_output,fine-tune,fine-tune-results,vision, anduser_data.-
"assistants" -
"assistants_output" -
"batch" -
"batch_output" -
"fine-tune" -
"fine-tune-results" -
"vision" -
"user_data"
-
-
status: Literal["uploaded", "processed", "error"]Deprecated. The current status of the file, which can be either
uploaded,processed, orerror.-
"uploaded" -
"processed" -
"error"
-
-
expires_at: Optional[int]The Unix timestamp (in seconds) for when the file will expire.
-
status_details: Optional[str]Deprecated. For details on why a fine-tuning training file failed validation, see the
errorfield onfine_tuning.job.
-
Example
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"), # This is the default and can be omitted
)
file_object = client.files.retrieve(
"file_id",
)
print(file_object.id)
Response
{
"id": "id",
"bytes": 0,
"created_at": 0,
"filename": "filename",
"object": "file",
"purpose": "assistants",
"status": "uploaded",
"expires_at": 0,
"status_details": "status_details"
}
Example
from openai import OpenAI
client = OpenAI()
client.files.retrieve("file-abc123")
Response
{
"id": "file-abc123",
"object": "file",
"bytes": 120000,
"created_at": 1677610602,
"expires_at": 1677614202,
"filename": "mydata.jsonl",
"purpose": "fine-tune",
}
Retrieve file content
files.content(strfile_id) -> BinaryResponseContent
get /files/{file_id}/content
Retrieve file content
Parameters
file_id: str
Returns
BinaryResponseContent
Example
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"), # This is the default and can be omitted
)
response = client.files.content(
"file_id",
)
print(response)
content = response.read()
print(content)
Example
from openai import OpenAI
client = OpenAI()
content = client.files.content("file-abc123")
Retrieve file content
files.retrieve_content(strfile_id) -> FileContent
get /files/{file_id}/content
Retrieve file content
Parameters
file_id: str
Returns
str
Example
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"), # This is the default and can be omitted
)
file_content = client.files.retrieve_content(
"file_id",
)
print(file_content)
Response
"string"
Example
from openai import OpenAI
client = OpenAI()
content = client.files.content("file-abc123")
Domain Types
File Content
str
File Deleted
-
class FileDeleted: …-
id: str -
deleted: bool -
object: Literal["file"]"file"
-
File Object
-
class FileObject: …The
Fileobject represents a document that has been uploaded to OpenAI.-
id: strThe file identifier, which can be referenced in the API endpoints.
-
bytes: intThe size of the file, in bytes.
-
created_at: intThe Unix timestamp (in seconds) for when the file was created.
-
filename: strThe name of the file.
-
object: Literal["file"]The object type, which is always
file."file"
-
purpose: Literal["assistants", "assistants_output", "batch", 5 more]The intended purpose of the file. Supported values are
assistants,assistants_output,batch,batch_output,fine-tune,fine-tune-results,vision, anduser_data.-
"assistants" -
"assistants_output" -
"batch" -
"batch_output" -
"fine-tune" -
"fine-tune-results" -
"vision" -
"user_data"
-
-
status: Literal["uploaded", "processed", "error"]Deprecated. The current status of the file, which can be either
uploaded,processed, orerror.-
"uploaded" -
"processed" -
"error"
-
-
expires_at: Optional[int]The Unix timestamp (in seconds) for when the file will expire.
-
status_details: Optional[str]Deprecated. For details on why a fine-tuning training file failed validation, see the
errorfield onfine_tuning.job.
-
File Purpose
object