Create upload
uploads.create(**kwargs) -> Upload
post /uploads
Create upload
Parameters
-
bytes: IntegerThe number of bytes in the file you are uploading.
-
filename: StringThe name of the file to upload.
-
mime_type: StringThe 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.
-
purpose: FilePurposeThe intended purpose of the uploaded file.
See the documentation on File purposes.
-
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 UploadThe Upload object can accept byte chunks in the form of Parts.
-
id: StringThe Upload unique identifier, which can be referenced in API endpoints.
-
bytes: IntegerThe intended number of bytes to be uploaded.
-
created_at: IntegerThe Unix timestamp (in seconds) for when the Upload was created.
-
expires_at: IntegerThe Unix timestamp (in seconds) for when the Upload will expire.
-
filename: StringThe name of the file to be uploaded.
-
object: :uploadThe object type, which is always "upload".
:upload
-
purpose: StringThe intended purpose of the file. Please refer here for acceptable values.
-
status: :pending | :completed | :cancelled | :expiredThe status of the Upload.
-
:pending -
:completed -
:cancelled -
:expired
-
-
file: 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")
upload = openai.uploads.create(bytes: 0, filename: "filename", mime_type: "mime_type", purpose: {})
puts(upload)
Response
{
"id": "id",
"bytes": 0,
"created_at": 0,
"expires_at": 0,
"filename": "filename",
"object": "upload",
"purpose": "purpose",
"status": "pending",
"file": {
"id": "id",
"bytes": 0,
"created_at": 0,
"filename": "filename",
"object": "file",
"purpose": "assistants",
"status": "uploaded",
"expires_at": 0,
"status_details": "status_details"
}
}