Files
List files
client.Files.List(ctx, query) (*CursorPage[FileObject], error)
get /files
List files
Parameters
-
query FileListParams-
After param.Field[string]A 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 param.Field[int64]A limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000.
-
Order param.Field[FileListParamsOrder]Sort order by the
created_attimestamp of the objects.ascfor ascending order anddescfor descending order.-
const FileListParamsOrderAsc FileListParamsOrder = "asc" -
const FileListParamsOrderDesc FileListParamsOrder = "desc"
-
-
Purpose param.Field[string]Only return files with the given purpose.
-
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 (
"context"
"fmt"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
option.WithAPIKey("My API Key"),
)
page, err := client.Files.List(context.TODO(), openai.FileListParams{
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", 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
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"
}
Delete file
client.Files.Delete(ctx, fileID) (*FileDeleted, error)
delete /files/{file_id}
Delete file
Parameters
fileID string
Returns
-
type FileDeleted struct{…}-
ID string -
Deleted bool -
Object Fileconst FileFile File = "file"
-
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"),
)
fileDeleted, err := client.Files.Delete(context.TODO(), "file_id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", fileDeleted.ID)
}
Response
{
"id": "id",
"deleted": true,
"object": "file"
}
Retrieve file
client.Files.Get(ctx, fileID) (*FileObject, error)
get /files/{file_id}
Retrieve file
Parameters
fileID string
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 (
"context"
"fmt"
"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.Get(context.TODO(), "file_id")
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"
}
Retrieve file content
client.Files.Content(ctx, fileID) (*Response, error)
get /files/{file_id}/content
Retrieve file content
Parameters
fileID string
Returns
type FileContentResponse interface{…}
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"),
)
response, err := client.Files.Content(context.TODO(), "file_id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response)
}
Domain Types
File Content
type FileContent string
File Deleted
-
type FileDeleted struct{…}-
ID string -
Deleted bool -
Object Fileconst FileFile File = "file"
-
File Object
-
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.
-
File Purpose
type FilePurpose interface{…}