Uploads
Create upload
client.Uploads.New(ctx, body) (*Upload, error)
post /uploads
Create upload
Parameters
-
body UploadNewParams-
Bytes param.Field[int64]The number of bytes in the file you are uploading.
-
Filename param.Field[string]The name of the file to upload.
-
MimeType param.Field[string]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.
-
Purpose param.Field[FilePurpose]The intended purpose of the uploaded file.
See the documentation on File purposes.
-
ExpiresAfter param.Field[UploadNewParamsExpiresAfter]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 CreatedAtAnchor timestamp after which the expiration policy applies. Supported anchors:
created_at.const CreatedAtCreatedAt CreatedAt = "created_at"
-
Seconds int64The number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days).
-
-
Returns
-
type Upload struct{…}The Upload object can accept byte chunks in the form of Parts.
-
ID stringThe Upload unique identifier, which can be referenced in API endpoints.
-
Bytes int64The intended number of bytes to be uploaded.
-
CreatedAt int64The Unix timestamp (in seconds) for when the Upload was created.
-
ExpiresAt int64The 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".
const UploadUpload Upload = "upload"
-
Purpose stringThe intended purpose of the file. Please refer here for acceptable values.
-
Status UploadStatusThe status of the Upload.
-
const UploadStatusPending UploadStatus = "pending" -
const UploadStatusCompleted UploadStatus = "completed" -
const UploadStatusCancelled UploadStatus = "cancelled" -
const UploadStatusExpired UploadStatus = "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 int64The size of the file, in bytes.
-
CreatedAt int64The Unix timestamp (in seconds) for when the file was created.
-
Filename stringThe name of the file.
-
Object FileThe object type, which is always
file.const FileFile File = "file"
-
Purpose FileObjectPurposeThe intended purpose of the file. Supported values are
assistants,assistants_output,batch,batch_output,fine-tune,fine-tune-results,vision, anduser_data.-
const FileObjectPurposeAssistants FileObjectPurpose = "assistants" -
const FileObjectPurposeAssistantsOutput FileObjectPurpose = "assistants_output" -
const FileObjectPurposeBatch FileObjectPurpose = "batch" -
const FileObjectPurposeBatchOutput FileObjectPurpose = "batch_output" -
const FileObjectPurposeFineTune FileObjectPurpose = "fine-tune" -
const FileObjectPurposeFineTuneResults FileObjectPurpose = "fine-tune-results" -
const FileObjectPurposeVision FileObjectPurpose = "vision" -
const FileObjectPurposeUserData FileObjectPurpose = "user_data"
-
-
Status FileObjectStatusDeprecated. The current status of the file, which can be either
uploaded,processed, orerror.-
const FileObjectStatusUploaded FileObjectStatus = "uploaded" -
const FileObjectStatusProcessed FileObjectStatus = "processed" -
const FileObjectStatusError FileObjectStatus = "error"
-
-
ExpiresAt int64The Unix timestamp (in seconds) for when the file will expire.
-
StatusDetails stringDeprecated. For details on why a fine-tuning training file failed validation, see the
errorfield onfine_tuning.job.
-
-
Example
package main
import (
"context"
"fmt"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
option.WithAPIKey("My API Key"),
)
upload, err := client.Uploads.New(context.TODO(), openai.UploadNewParams{
Bytes: 0,
Filename: "filename",
MimeType: "mime_type",
Purpose: map[string]any{
},
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", upload.ID)
}
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"
}
}
Complete upload
client.Uploads.Complete(ctx, uploadID, body) (*Upload, error)
post /uploads/{upload_id}/complete
Complete upload
Parameters
-
uploadID string -
body UploadCompleteParams-
PartIDs param.Field[[]string]The ordered list of Part IDs.
-
Md5 param.Field[string]The optional md5 checksum for the file contents to verify if the bytes uploaded matches what you expect.
-
Returns
-
type Upload struct{…}The Upload object can accept byte chunks in the form of Parts.
-
ID stringThe Upload unique identifier, which can be referenced in API endpoints.
-
Bytes int64The intended number of bytes to be uploaded.
-
CreatedAt int64The Unix timestamp (in seconds) for when the Upload was created.
-
ExpiresAt int64The 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".
const UploadUpload Upload = "upload"
-
Purpose stringThe intended purpose of the file. Please refer here for acceptable values.
-
Status UploadStatusThe status of the Upload.
-
const UploadStatusPending UploadStatus = "pending" -
const UploadStatusCompleted UploadStatus = "completed" -
const UploadStatusCancelled UploadStatus = "cancelled" -
const UploadStatusExpired UploadStatus = "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 int64The size of the file, in bytes.
-
CreatedAt int64The Unix timestamp (in seconds) for when the file was created.
-
Filename stringThe name of the file.
-
Object FileThe object type, which is always
file.const FileFile File = "file"
-
Purpose FileObjectPurposeThe intended purpose of the file. Supported values are
assistants,assistants_output,batch,batch_output,fine-tune,fine-tune-results,vision, anduser_data.-
const FileObjectPurposeAssistants FileObjectPurpose = "assistants" -
const FileObjectPurposeAssistantsOutput FileObjectPurpose = "assistants_output" -
const FileObjectPurposeBatch FileObjectPurpose = "batch" -
const FileObjectPurposeBatchOutput FileObjectPurpose = "batch_output" -
const FileObjectPurposeFineTune FileObjectPurpose = "fine-tune" -
const FileObjectPurposeFineTuneResults FileObjectPurpose = "fine-tune-results" -
const FileObjectPurposeVision FileObjectPurpose = "vision" -
const FileObjectPurposeUserData FileObjectPurpose = "user_data"
-
-
Status FileObjectStatusDeprecated. The current status of the file, which can be either
uploaded,processed, orerror.-
const FileObjectStatusUploaded FileObjectStatus = "uploaded" -
const FileObjectStatusProcessed FileObjectStatus = "processed" -
const FileObjectStatusError FileObjectStatus = "error"
-
-
ExpiresAt int64The Unix timestamp (in seconds) for when the file will expire.
-
StatusDetails stringDeprecated. For details on why a fine-tuning training file failed validation, see the
errorfield onfine_tuning.job.
-
-
Example
package main
import (
"context"
"fmt"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
option.WithAPIKey("My API Key"),
)
upload, err := client.Uploads.Complete(
context.TODO(),
"upload_abc123",
openai.UploadCompleteParams{
PartIDs: []string{"string"},
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", upload.ID)
}
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"
}
}
Cancel upload
client.Uploads.Cancel(ctx, uploadID) (*Upload, error)
post /uploads/{upload_id}/cancel
Cancel upload
Parameters
uploadID string
Returns
-
type Upload struct{…}The Upload object can accept byte chunks in the form of Parts.
-
ID stringThe Upload unique identifier, which can be referenced in API endpoints.
-
Bytes int64The intended number of bytes to be uploaded.
-
CreatedAt int64The Unix timestamp (in seconds) for when the Upload was created.
-
ExpiresAt int64The 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".
const UploadUpload Upload = "upload"
-
Purpose stringThe intended purpose of the file. Please refer here for acceptable values.
-
Status UploadStatusThe status of the Upload.
-
const UploadStatusPending UploadStatus = "pending" -
const UploadStatusCompleted UploadStatus = "completed" -
const UploadStatusCancelled UploadStatus = "cancelled" -
const UploadStatusExpired UploadStatus = "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 int64The size of the file, in bytes.
-
CreatedAt int64The Unix timestamp (in seconds) for when the file was created.
-
Filename stringThe name of the file.
-
Object FileThe object type, which is always
file.const FileFile File = "file"
-
Purpose FileObjectPurposeThe intended purpose of the file. Supported values are
assistants,assistants_output,batch,batch_output,fine-tune,fine-tune-results,vision, anduser_data.-
const FileObjectPurposeAssistants FileObjectPurpose = "assistants" -
const FileObjectPurposeAssistantsOutput FileObjectPurpose = "assistants_output" -
const FileObjectPurposeBatch FileObjectPurpose = "batch" -
const FileObjectPurposeBatchOutput FileObjectPurpose = "batch_output" -
const FileObjectPurposeFineTune FileObjectPurpose = "fine-tune" -
const FileObjectPurposeFineTuneResults FileObjectPurpose = "fine-tune-results" -
const FileObjectPurposeVision FileObjectPurpose = "vision" -
const FileObjectPurposeUserData FileObjectPurpose = "user_data"
-
-
Status FileObjectStatusDeprecated. The current status of the file, which can be either
uploaded,processed, orerror.-
const FileObjectStatusUploaded FileObjectStatus = "uploaded" -
const FileObjectStatusProcessed FileObjectStatus = "processed" -
const FileObjectStatusError FileObjectStatus = "error"
-
-
ExpiresAt int64The Unix timestamp (in seconds) for when the file will expire.
-
StatusDetails stringDeprecated. For details on why a fine-tuning training file failed validation, see the
errorfield onfine_tuning.job.
-
-
Example
package main
import (
"context"
"fmt"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
option.WithAPIKey("My API Key"),
)
upload, err := client.Uploads.Cancel(context.TODO(), "upload_abc123")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", upload.ID)
}
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"
}
}
Domain Types
Upload
-
type Upload struct{…}The Upload object can accept byte chunks in the form of Parts.
-
ID stringThe Upload unique identifier, which can be referenced in API endpoints.
-
Bytes int64The intended number of bytes to be uploaded.
-
CreatedAt int64The Unix timestamp (in seconds) for when the Upload was created.
-
ExpiresAt int64The 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".
const UploadUpload Upload = "upload"
-
Purpose stringThe intended purpose of the file. Please refer here for acceptable values.
-
Status UploadStatusThe status of the Upload.
-
const UploadStatusPending UploadStatus = "pending" -
const UploadStatusCompleted UploadStatus = "completed" -
const UploadStatusCancelled UploadStatus = "cancelled" -
const UploadStatusExpired UploadStatus = "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 int64The size of the file, in bytes.
-
CreatedAt int64The Unix timestamp (in seconds) for when the file was created.
-
Filename stringThe name of the file.
-
Object FileThe object type, which is always
file.const FileFile File = "file"
-
Purpose FileObjectPurposeThe intended purpose of the file. Supported values are
assistants,assistants_output,batch,batch_output,fine-tune,fine-tune-results,vision, anduser_data.-
const FileObjectPurposeAssistants FileObjectPurpose = "assistants" -
const FileObjectPurposeAssistantsOutput FileObjectPurpose = "assistants_output" -
const FileObjectPurposeBatch FileObjectPurpose = "batch" -
const FileObjectPurposeBatchOutput FileObjectPurpose = "batch_output" -
const FileObjectPurposeFineTune FileObjectPurpose = "fine-tune" -
const FileObjectPurposeFineTuneResults FileObjectPurpose = "fine-tune-results" -
const FileObjectPurposeVision FileObjectPurpose = "vision" -
const FileObjectPurposeUserData FileObjectPurpose = "user_data"
-
-
Status FileObjectStatusDeprecated. The current status of the file, which can be either
uploaded,processed, orerror.-
const FileObjectStatusUploaded FileObjectStatus = "uploaded" -
const FileObjectStatusProcessed FileObjectStatus = "processed" -
const FileObjectStatusError FileObjectStatus = "error"
-
-
ExpiresAt int64The Unix timestamp (in seconds) for when the file will expire.
-
StatusDetails stringDeprecated. For details on why a fine-tuning training file failed validation, see the
errorfield onfine_tuning.job.
-
-
Parts
Add upload part
client.Uploads.Parts.New(ctx, uploadID, body) (*UploadPart, error)
post /uploads/{upload_id}/parts
Add upload part
Parameters
-
uploadID string -
body UploadPartNewParams-
Data param.Field[Reader]The chunk of bytes for this Part.
-
Returns
-
type UploadPart struct{…}The upload Part represents a chunk of bytes we can add to an Upload object.
-
ID stringThe upload Part unique identifier, which can be referenced in API endpoints.
-
CreatedAt int64The Unix timestamp (in seconds) for when the Part was created.
-
Object UploadPartThe object type, which is always
upload.part.const UploadPartUploadPart UploadPart = "upload.part"
-
UploadID stringThe ID of the Upload object that this Part was added to.
-
Example
package main
import (
"bytes"
"context"
"fmt"
"io"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
option.WithAPIKey("My API Key"),
)
uploadPart, err := client.Uploads.Parts.New(
context.TODO(),
"upload_abc123",
openai.UploadPartNewParams{
Data: io.Reader(bytes.NewBuffer([]byte("Example data"))),
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", uploadPart.ID)
}
Response
{
"id": "id",
"created_at": 0,
"object": "upload.part",
"upload_id": "upload_id"
}
Domain Types
Upload Part
-
type UploadPart struct{…}The upload Part represents a chunk of bytes we can add to an Upload object.
-
ID stringThe upload Part unique identifier, which can be referenced in API endpoints.
-
CreatedAt int64The Unix timestamp (in seconds) for when the Part was created.
-
Object UploadPartThe object type, which is always
upload.part.const UploadPartUploadPart UploadPart = "upload.part"
-
UploadID stringThe ID of the Upload object that this Part was added to.
-