Uploads
Create an upload
Creates an upload from the supplied request.
Corps de la demande
The request body.
filename
string
obligatoire
The name of the file to upload.
purpose
enum
obligatoire
The intended purpose of the uploaded file. See the documentation on File purposes.
mime_type
string
obligatoire
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.
expires_after
OpenAI.FileExpirationAfter
The expiration policy for a file. By default, files with purpose=batch expire after 30 days and all other files are persisted until they are manually deleted.
anchor
enum
obligatoire
Anchor timestamp after which the expiration policy applies. Supported anchors: created_at.
seconds
integer
obligatoire
The number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days).
Réponses
The request has succeeded.
Corps
id
string
obligatoire
The Upload unique identifier, which can be referenced in API endpoints.
created_at
integer
obligatoire
The Unix timestamp (in seconds) for when the Upload was created.
filename
string
obligatoire
The name of the file to be uploaded.
purpose
string
obligatoire
The intended purpose of the file. Please refer here for acceptable values.
status
enum
obligatoire
The status of the Upload.
expires_at
integer
obligatoire
The Unix timestamp (in seconds) for when the Upload will expire.
object
enum
The object type, which is always "upload".
file
OpenAI.OpenAIFile | null
The ready File object after the Upload is completed.
id
string
obligatoire
The file identifier, which can be referenced in the API endpoints.
bytes
integer | null
obligatoire
The size of the file, in bytes. In a completed file upload response, this can be null when the file size is not yet available.
created_at
integer
obligatoire
The Unix timestamp (in seconds) for when the file was created.
expires_at
integer
The Unix timestamp (in seconds) for when the file will expire. In a completed file upload response, this can be null when no expiry is set.
filename
string
obligatoire
The name of the file.
object
enum
obligatoire
The object type, which is always file.
purpose
enum
obligatoire
The intended purpose of the file. Supported values are assistants, assistants_output, batch, batch_output, fine-tune, fine-tune-results, vision, and user_data.
status
enum
obligatoire
Deprecated. The current status of the file, which can be either uploaded, processed, or error.
status_details
string
Deprecated. For details on why a fine-tuning training file failed validation, see the error field on fine_tuning.job. Completed file upload responses can return null when these details are unset.
Requête
curl https://api.openai.com/v1/uploads \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"purpose": "fine-tune",
"filename": "training_examples.jsonl",
"bytes": 2147483648,
"mime_type": "text/jsonl",
"expires_after": {
"anchor": "created_at",
"seconds": 3600
}
}'
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env['OPENAI_API_KEY'], // This is the default and can be omitted
});
const upload = await client.uploads.create({
bytes: 0,
filename: 'filename',
mime_type: 'mime_type',
purpose: 'assistants',
});
console.log(upload.id);
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"), # This is the default and can be omitted
)
upload = client.uploads.create(
bytes=0,
filename="filename",
mime_type="mime_type",
purpose="assistants",
)
print(upload.id)
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: openai.FilePurposeAssistants,
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v
", upload.ID)
}
package com.openai.example;
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.files.FilePurpose;
import com.openai.models.uploads.Upload;
import com.openai.models.uploads.UploadCreateParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.fromEnv();
UploadCreateParams params = UploadCreateParams.builder()
.bytes(0L)
.filename("filename")
.mimeType("mime_type")
.purpose(FilePurpose.ASSISTANTS)
.build();
Upload upload = client.uploads().create(params);
}
}
require "openai"
openai = OpenAI::Client.new(api_key: "My API Key")
upload = openai.uploads.create(bytes: 0, filename: "filename", mime_type: "mime_type", purpose: :assistants)
puts(upload)
Response
{
"id": "upload_abc123",
"object": "upload",
"bytes": 2147483648,
"created_at": 1719184911,
"filename": "training_examples.jsonl",
"purpose": "fine-tune",
"status": "pending",
"expires_at": 1719127296
}