Skip to content

files

The files module provides classes for uploading, retrieving, listing, and deleting files used across various OpenAI API endpoints.

The module supports both synchronous and asynchronous operations, along with handling of raw responses and streaming of file content. Designed for use cases that involve managing large datasets or files for purposes like fine-tuning models or using assistants, this module facilitates the efficient handling of file-related operations on the OpenAI platform.

Classes:

Name Description
AsyncFiles
AsyncFilesWithRawResponse
AsyncFilesWithStreamingResponse
Files
FilesWithRawResponse
FilesWithStreamingResponse

AsyncFiles

AsyncFiles(client: AsyncOpenAI)

Methods:

Name Description
content

Returns the contents of the specified file.

create

Upload a file that can be used across various endpoints.

delete

Delete a file.

list

Returns a list of files that belong to the user's organization.

retrieve

Returns information about a specific file.

retrieve_content

Returns the contents of the specified file.

wait_for_processing

Waits for the given file to be processed, default timeout is 30 mins.

with_raw_response
with_streaming_response

content async

content(
    file_id: str,
    *,
    extra_headers: Headers | None = None,
    extra_query: Query | None = None,
    extra_body: Body | None = None,
    timeout: float | Timeout | None | NotGiven = NOT_GIVEN
) -> HttpxBinaryResponseContent

Returns the contents of the specified file.

Parameters:

Name Type Description Default
extra_headers Headers | None

Send extra headers

None
extra_query Query | None

Add additional query parameters to the request

None
extra_body Body | None

Add additional JSON properties to the request

None
timeout float | Timeout | None | NotGiven

Override the client-level default timeout for this request, in seconds

NOT_GIVEN

create async

create(
    *,
    file: FileTypes,
    purpose: Literal["fine-tune", "assistants"],
    extra_headers: Headers | None = None,
    extra_query: Query | None = None,
    extra_body: Body | None = None,
    timeout: float | Timeout | None | NotGiven = NOT_GIVEN
) -> FileObject

Upload a file that can be used across various endpoints.

The size of all the files uploaded by one organization can be up to 100 GB.

The size of individual files can be a maximum of 512 MB or 2 million tokens for Assistants. See the Assistants Tools guide to learn more about the types of files supported. The Fine-tuning API only supports .jsonl files.

Please contact us if you need to increase these storage limits.

Parameters:

Name Type Description Default
file FileTypes

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

required
purpose Literal['fine-tune', 'assistants']

The intended purpose of the uploaded file.

Use "fine-tune" for Fine-tuning and "assistants" for Assistants and Messages. This allows us to validate the format of the uploaded file is correct for fine-tuning.

required
extra_headers Headers | None

Send extra headers

None
extra_query Query | None

Add additional query parameters to the request

None
extra_body Body | None

Add additional JSON properties to the request

None
timeout float | Timeout | None | NotGiven

Override the client-level default timeout for this request, in seconds

NOT_GIVEN

delete async

delete(
    file_id: str,
    *,
    extra_headers: Headers | None = None,
    extra_query: Query | None = None,
    extra_body: Body | None = None,
    timeout: float | Timeout | None | NotGiven = NOT_GIVEN
) -> FileDeleted

Delete a file.

Parameters:

Name Type Description Default
extra_headers Headers | None

Send extra headers

None
extra_query Query | None

Add additional query parameters to the request

None
extra_body Body | None

Add additional JSON properties to the request

None
timeout float | Timeout | None | NotGiven

Override the client-level default timeout for this request, in seconds

NOT_GIVEN

list

list(
    *,
    purpose: str | NotGiven = NOT_GIVEN,
    extra_headers: Headers | None = None,
    extra_query: Query | None = None,
    extra_body: Body | None = None,
    timeout: float | Timeout | None | NotGiven = NOT_GIVEN
) -> AsyncPaginator[FileObject, AsyncPage[FileObject]]

Returns a list of files that belong to the user's organization.

Parameters:

Name Type Description Default
purpose str | NotGiven

Only return files with the given purpose.

NOT_GIVEN
extra_headers Headers | None

Send extra headers

None
extra_query Query | None

Add additional query parameters to the request

None
extra_body Body | None

Add additional JSON properties to the request

None
timeout float | Timeout | None | NotGiven

Override the client-level default timeout for this request, in seconds

NOT_GIVEN

retrieve async

retrieve(
    file_id: str,
    *,
    extra_headers: Headers | None = None,
    extra_query: Query | None = None,
    extra_body: Body | None = None,
    timeout: float | Timeout | None | NotGiven = NOT_GIVEN
) -> FileObject

Returns information about a specific file.

Parameters:

Name Type Description Default
extra_headers Headers | None

Send extra headers

None
extra_query Query | None

Add additional query parameters to the request

None
extra_body Body | None

Add additional JSON properties to the request

None
timeout float | Timeout | None | NotGiven

Override the client-level default timeout for this request, in seconds

NOT_GIVEN

retrieve_content async

retrieve_content(
    file_id: str,
    *,
    extra_headers: Headers | None = None,
    extra_query: Query | None = None,
    extra_body: Body | None = None,
    timeout: float | Timeout | None | NotGiven = NOT_GIVEN
) -> str

Returns the contents of the specified file.

Parameters:

Name Type Description Default
extra_headers Headers | None

Send extra headers

None
extra_query Query | None

Add additional query parameters to the request

None
extra_body Body | None

Add additional JSON properties to the request

None
timeout float | Timeout | None | NotGiven

Override the client-level default timeout for this request, in seconds

NOT_GIVEN

wait_for_processing async

wait_for_processing(
    id: str,
    *,
    poll_interval: float = 5.0,
    max_wait_seconds: float = 30 * 60
) -> FileObject

Waits for the given file to be processed, default timeout is 30 mins.

with_raw_response

with_raw_response() -> AsyncFilesWithRawResponse

with_streaming_response

with_streaming_response() -> (
    AsyncFilesWithStreamingResponse
)

AsyncFilesWithRawResponse

AsyncFilesWithRawResponse(files: AsyncFiles)

Attributes:

Name Type Description
content
create
delete
list
retrieve
retrieve_content

content instance-attribute

content = async_to_raw_response_wrapper(content)

create instance-attribute

create = async_to_raw_response_wrapper(create)

delete instance-attribute

delete = async_to_raw_response_wrapper(delete)

list instance-attribute

list = async_to_raw_response_wrapper(list)

retrieve instance-attribute

retrieve = async_to_raw_response_wrapper(retrieve)

retrieve_content instance-attribute

retrieve_content = async_to_raw_response_wrapper(
    retrieve_content
)

AsyncFilesWithStreamingResponse

AsyncFilesWithStreamingResponse(files: AsyncFiles)

Attributes:

Name Type Description
content
create
delete
list
retrieve
retrieve_content

content instance-attribute

content = async_to_custom_streamed_response_wrapper(
    content, AsyncStreamedBinaryAPIResponse
)

create instance-attribute

create = async_to_streamed_response_wrapper(create)

delete instance-attribute

delete = async_to_streamed_response_wrapper(delete)

list instance-attribute

list = async_to_streamed_response_wrapper(list)

retrieve instance-attribute

retrieve = async_to_streamed_response_wrapper(retrieve)

retrieve_content instance-attribute

retrieve_content = async_to_streamed_response_wrapper(
    retrieve_content
)

Files

Files(client: OpenAI)

Methods:

Name Description
content

Returns the contents of the specified file.

create

Upload a file that can be used across various endpoints.

delete

Delete a file.

list

Returns a list of files that belong to the user's organization.

retrieve

Returns information about a specific file.

retrieve_content

Returns the contents of the specified file.

wait_for_processing

Waits for the given file to be processed, default timeout is 30 mins.

with_raw_response
with_streaming_response

content

content(
    file_id: str,
    *,
    extra_headers: Headers | None = None,
    extra_query: Query | None = None,
    extra_body: Body | None = None,
    timeout: float | Timeout | None | NotGiven = NOT_GIVEN
) -> HttpxBinaryResponseContent

Returns the contents of the specified file.

Parameters:

Name Type Description Default
extra_headers Headers | None

Send extra headers

None
extra_query Query | None

Add additional query parameters to the request

None
extra_body Body | None

Add additional JSON properties to the request

None
timeout float | Timeout | None | NotGiven

Override the client-level default timeout for this request, in seconds

NOT_GIVEN

create

create(
    *,
    file: FileTypes,
    purpose: Literal["fine-tune", "assistants"],
    extra_headers: Headers | None = None,
    extra_query: Query | None = None,
    extra_body: Body | None = None,
    timeout: float | Timeout | None | NotGiven = NOT_GIVEN
) -> FileObject

Upload a file that can be used across various endpoints.

The size of all the files uploaded by one organization can be up to 100 GB.

The size of individual files can be a maximum of 512 MB or 2 million tokens for Assistants. See the Assistants Tools guide to learn more about the types of files supported. The Fine-tuning API only supports .jsonl files.

Please contact us if you need to increase these storage limits.

Parameters:

Name Type Description Default
file FileTypes

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

required
purpose Literal['fine-tune', 'assistants']

The intended purpose of the uploaded file.

Use "fine-tune" for Fine-tuning and "assistants" for Assistants and Messages. This allows us to validate the format of the uploaded file is correct for fine-tuning.

required
extra_headers Headers | None

Send extra headers

None
extra_query Query | None

Add additional query parameters to the request

None
extra_body Body | None

Add additional JSON properties to the request

None
timeout float | Timeout | None | NotGiven

Override the client-level default timeout for this request, in seconds

NOT_GIVEN

delete

delete(
    file_id: str,
    *,
    extra_headers: Headers | None = None,
    extra_query: Query | None = None,
    extra_body: Body | None = None,
    timeout: float | Timeout | None | NotGiven = NOT_GIVEN
) -> FileDeleted

Delete a file.

Parameters:

Name Type Description Default
extra_headers Headers | None

Send extra headers

None
extra_query Query | None

Add additional query parameters to the request

None
extra_body Body | None

Add additional JSON properties to the request

None
timeout float | Timeout | None | NotGiven

Override the client-level default timeout for this request, in seconds

NOT_GIVEN

list

list(
    *,
    purpose: str | NotGiven = NOT_GIVEN,
    extra_headers: Headers | None = None,
    extra_query: Query | None = None,
    extra_body: Body | None = None,
    timeout: float | Timeout | None | NotGiven = NOT_GIVEN
) -> SyncPage[FileObject]

Returns a list of files that belong to the user's organization.

Parameters:

Name Type Description Default
purpose str | NotGiven

Only return files with the given purpose.

NOT_GIVEN
extra_headers Headers | None

Send extra headers

None
extra_query Query | None

Add additional query parameters to the request

None
extra_body Body | None

Add additional JSON properties to the request

None
timeout float | Timeout | None | NotGiven

Override the client-level default timeout for this request, in seconds

NOT_GIVEN

retrieve

retrieve(
    file_id: str,
    *,
    extra_headers: Headers | None = None,
    extra_query: Query | None = None,
    extra_body: Body | None = None,
    timeout: float | Timeout | None | NotGiven = NOT_GIVEN
) -> FileObject

Returns information about a specific file.

Parameters:

Name Type Description Default
extra_headers Headers | None

Send extra headers

None
extra_query Query | None

Add additional query parameters to the request

None
extra_body Body | None

Add additional JSON properties to the request

None
timeout float | Timeout | None | NotGiven

Override the client-level default timeout for this request, in seconds

NOT_GIVEN

retrieve_content

retrieve_content(
    file_id: str,
    *,
    extra_headers: Headers | None = None,
    extra_query: Query | None = None,
    extra_body: Body | None = None,
    timeout: float | Timeout | None | NotGiven = NOT_GIVEN
) -> str

Returns the contents of the specified file.

Parameters:

Name Type Description Default
extra_headers Headers | None

Send extra headers

None
extra_query Query | None

Add additional query parameters to the request

None
extra_body Body | None

Add additional JSON properties to the request

None
timeout float | Timeout | None | NotGiven

Override the client-level default timeout for this request, in seconds

NOT_GIVEN

wait_for_processing

wait_for_processing(
    id: str,
    *,
    poll_interval: float = 5.0,
    max_wait_seconds: float = 30 * 60
) -> FileObject

Waits for the given file to be processed, default timeout is 30 mins.

with_raw_response

with_raw_response() -> FilesWithRawResponse

with_streaming_response

with_streaming_response() -> FilesWithStreamingResponse

FilesWithRawResponse

FilesWithRawResponse(files: Files)

Attributes:

Name Type Description
content
create
delete
list
retrieve
retrieve_content

content instance-attribute

content = to_raw_response_wrapper(content)

create instance-attribute

create = to_raw_response_wrapper(create)

delete instance-attribute

delete = to_raw_response_wrapper(delete)

list instance-attribute

list = to_raw_response_wrapper(list)

retrieve instance-attribute

retrieve = to_raw_response_wrapper(retrieve)

retrieve_content instance-attribute

retrieve_content = to_raw_response_wrapper(retrieve_content)

FilesWithStreamingResponse

FilesWithStreamingResponse(files: Files)

Attributes:

Name Type Description
content
create
delete
list
retrieve
retrieve_content

content instance-attribute

content = to_custom_streamed_response_wrapper(
    content, StreamedBinaryAPIResponse
)

create instance-attribute

create = to_streamed_response_wrapper(create)

delete instance-attribute

delete = to_streamed_response_wrapper(delete)

list instance-attribute

list = to_streamed_response_wrapper(list)

retrieve instance-attribute

retrieve = to_streamed_response_wrapper(retrieve)

retrieve_content instance-attribute

retrieve_content = to_streamed_response_wrapper(
    retrieve_content
)