Upload file
client.Files.New(ctx, body) (*FileObject, error)
post /files
Upload file
Parameters
-
body FileNewParams-
File param.Field[Reader]The File object (not file name) to be uploaded.
-
Purpose param.Field[any] -
ExpiresAfter param.Field[FileNewParamsExpiresAfter]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 FileObject struct{…}The
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 (
"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"),
)
fileObject, err := client.Files.New(context.TODO(), openai.FileNewParams{
File: io.Reader(bytes.NewBuffer([]byte("Example data"))),
Purpose: map[string]any{
},
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", fileObject.ID)
}
Response
{
"id": "id",
"bytes": 0,
"created_at": 0,
"filename": "filename",
"object": "file",
"purpose": "assistants",
"status": "uploaded",
"expires_at": 0,
"status_details": "status_details"
}