Files
List files
files.list(**kwargs) -> CursorPage<FileObject>
get /files
List files
Parameters
-
after: StringA 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: IntegerA limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000.
-
order: :asc | :descSort order by the
created_attimestamp of the objects.ascfor ascending order anddescfor descending order.-
:asc -
:desc
-
-
purpose: StringOnly return files with the given purpose.
Returns
-
class FileObjectThe
Fileobject represents a document that has been uploaded to OpenAI.-
id: StringThe file identifier, which can be referenced in the API endpoints.
-
bytes: IntegerThe size of the file, in bytes.
-
created_at: IntegerThe Unix timestamp (in seconds) for when the file was created.
-
filename: StringThe name of the file.
-
object: :fileThe object type, which is always
file.:file
-
purpose: :assistants | :assistants_output | :batch | 5 moreThe 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: :uploaded | :processed | :errorDeprecated. The current status of the file, which can be either
uploaded,processed, orerror.-
:uploaded -
:processed -
:error
-
-
expires_at: IntegerThe Unix timestamp (in seconds) for when the file will expire.
-
status_details: StringDeprecated. For details on why a fine-tuning training file failed validation, see the
errorfield onfine_tuning.job.
-
Example
require "openai"
openai = OpenAI::Client.new(api_key: "My API Key")
page = openai.files.list
puts(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"
}
Upload file
files.create(**kwargs) -> FileObject
post /files
Upload file
Parameters
-
file: StringThe File object (not file name) to be uploaded.
-
purpose: untyped -
expires_after: ExpiresAfter{ anchor, seconds}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: :created_atAnchor timestamp after which the expiration policy applies. Supported anchors:
created_at.:created_at
-
seconds: IntegerThe number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days).
-
Returns
-
class FileObjectThe
Fileobject represents a document that has been uploaded to OpenAI.-
id: StringThe file identifier, which can be referenced in the API endpoints.
-
bytes: IntegerThe size of the file, in bytes.
-
created_at: IntegerThe Unix timestamp (in seconds) for when the file was created.
-
filename: StringThe name of the file.
-
object: :fileThe object type, which is always
file.:file
-
purpose: :assistants | :assistants_output | :batch | 5 moreThe 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: :uploaded | :processed | :errorDeprecated. The current status of the file, which can be either
uploaded,processed, orerror.-
:uploaded -
:processed -
:error
-
-
expires_at: IntegerThe Unix timestamp (in seconds) for when the file will expire.
-
status_details: StringDeprecated. For details on why a fine-tuning training file failed validation, see the
errorfield onfine_tuning.job.
-
Example
require "openai"
openai = OpenAI::Client.new(api_key: "My API Key")
file_object = openai.files.create(file: StringIO.new("Example data"), purpose: {})
puts(file_object)
Response
{
"id": "id",
"bytes": 0,
"created_at": 0,
"filename": "filename",
"object": "file",
"purpose": "assistants",
"status": "uploaded",
"expires_at": 0,
"status_details": "status_details"
}
Delete file
files.delete(file_id) -> FileDeleted
delete /files/{file_id}
Delete file
Parameters
file_id: String
Returns
-
class FileDeleted-
id: String -
deleted: bool -
object: :file:file
-
Example
require "openai"
openai = OpenAI::Client.new(api_key: "My API Key")
file_deleted = openai.files.delete("file_id")
puts(file_deleted)
Response
{
"id": "id",
"deleted": true,
"object": "file"
}
Retrieve file
files.retrieve(file_id) -> FileObject
get /files/{file_id}
Retrieve file
Parameters
file_id: String
Returns
-
class FileObjectThe
Fileobject represents a document that has been uploaded to OpenAI.-
id: StringThe file identifier, which can be referenced in the API endpoints.
-
bytes: IntegerThe size of the file, in bytes.
-
created_at: IntegerThe Unix timestamp (in seconds) for when the file was created.
-
filename: StringThe name of the file.
-
object: :fileThe object type, which is always
file.:file
-
purpose: :assistants | :assistants_output | :batch | 5 moreThe 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: :uploaded | :processed | :errorDeprecated. The current status of the file, which can be either
uploaded,processed, orerror.-
:uploaded -
:processed -
:error
-
-
expires_at: IntegerThe Unix timestamp (in seconds) for when the file will expire.
-
status_details: StringDeprecated. For details on why a fine-tuning training file failed validation, see the
errorfield onfine_tuning.job.
-
Example
require "openai"
openai = OpenAI::Client.new(api_key: "My API Key")
file_object = openai.files.retrieve("file_id")
puts(file_object)
Response
{
"id": "id",
"bytes": 0,
"created_at": 0,
"filename": "filename",
"object": "file",
"purpose": "assistants",
"status": "uploaded",
"expires_at": 0,
"status_details": "status_details"
}
Retrieve file content
files.content(file_id) -> StringIO
get /files/{file_id}/content
Retrieve file content
Parameters
file_id: String
Returns
StringIO
Example
require "openai"
openai = OpenAI::Client.new(api_key: "My API Key")
response = openai.files.content("file_id")
puts(response)
Domain Types
File Content
FileContent = String
File Deleted
-
class FileDeleted-
id: String -
deleted: bool -
object: :file:file
-
File Object
-
class FileObjectThe
Fileobject represents a document that has been uploaded to OpenAI.-
id: StringThe file identifier, which can be referenced in the API endpoints.
-
bytes: IntegerThe size of the file, in bytes.
-
created_at: IntegerThe Unix timestamp (in seconds) for when the file was created.
-
filename: StringThe name of the file.
-
object: :fileThe object type, which is always
file.:file
-
purpose: :assistants | :assistants_output | :batch | 5 moreThe 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: :uploaded | :processed | :errorDeprecated. The current status of the file, which can be either
uploaded,processed, orerror.-
:uploaded -
:processed -
:error
-
-
expires_at: IntegerThe Unix timestamp (in seconds) for when the file will expire.
-
status_details: StringDeprecated. For details on why a fine-tuning training file failed validation, see the
errorfield onfine_tuning.job.
-
File Purpose
FilePurpose = untyped