OpenAI 创建上传接口
创建上传
post /uploads
创建中间Upload对象,之后可向其添加分片。目前单个Upload最多可接收总计8 GB的数据,并在创建一小时后过期。
完成Upload后,我们会创建一个包含全部已上传分片的File对象。该文件可以像普通File对象一样用于平台的其他功能。
对于某些purpose值,必须指定正确的mime_type。请查阅对应用途支持的MIME类型。
各用途应采用的文件扩展名,请参阅创建File的文档。
返回状态为pending的Upload对象。
请求体参数
媒体类型为 application/json。
bytes: integer
正在上传的文件的字节数。
filename: string
要上传的文件名称。
mime_type: string
文件的MIME类型。
此值必须属于相应文件用途所支持的MIME类型。请查看assistants和vision支持的MIME类型。
purpose: "assistants" or "batch" or "fine-tune" or "vision"
已上传文件的预期用途。
参阅文件用途文档。
"assistants"
"batch"
"fine-tune"
"vision"
expires_after: optional object { anchor, seconds }
文件的过期策略。默认情况下,purpose=batch的文件在30天后过期,其他文件则一直保留,直到被手动删除。
anchor: "created_at"
过期策略所依据的起算时间戳。支持的起算点为created_at。
"created_at"
seconds: integer(int64,范围为 3600 至 2592000 秒)
文件在起算时间之后经过多少秒过期。必须在3600秒(1小时)到2592000秒(30天)之间。
返回值
Upload object { id, bytes, created_at, 6 more }
Upload对象可以接收以分片(Part)形式提供的字节块。
id: string
Upload对象的唯一标识符,可在API端点中引用。
bytes: integer
计划上传的字节数。
created_at: integer(Unix 时间戳)
Upload对象创建时的Unix时间戳,单位为秒。
expires_at: integer(Unix 时间戳)
Upload对象过期时的Unix时间戳,单位为秒。
filename: string
要上传的文件名称。
purpose: string
文件的预期用途。可接受的值见此处。
status: "pending" or "completed" or "cancelled" or "expired"
Upload对象的状态。
"pending"
"completed"
"cancelled"
"expired"
file: optional FileObject or null
Upload完成后可使用的File对象。
id: string
文件标识符,可在API端点中引用。
bytes: integer or null
文件大小,单位为字节。在已完成文件上传的响应中,如果文件大小尚不可用,此值可以为null。
created_at: integer(Unix 时间戳)
文件创建时的Unix时间戳,单位为秒。
filename: string
文件名称。
object: "file"
对象类型,固定为file。
"file"
purpose: "assistants" or "assistants_output" or "batch" or 5 more
文件的预期用途。支持的值为assistants、assistants_output、batch、batch_output、fine-tune、fine-tune-results、vision和user_data。
"assistants"
"assistants_output"
"batch"
"batch_output"
"fine-tune"
"fine-tune-results"
"vision"
"user_data"
status: "uploaded" or "processed" or "error"
已弃用。文件当前状态,可为uploaded、processed或error。
"uploaded"
"processed"
"error"
expires_at: optional integer(Unix 时间戳)
文件过期时的Unix时间戳,单位为秒。在已完成文件上传的响应中,如果未设置过期时间,此值可以为null。
status_details: optional string
已弃用。有关微调训练文件未通过验证的原因,请查看fine_tuning.job的error字段。已完成文件上传的响应在未设置这些详情时可以返回null。
object: optional "upload"
对象类型,固定为"upload"。
"upload"
示例
## [中文] 发送POST请求;将示例API凭证、文件或上传对象标识替换为应用使用的值。
curl https://api.openai.com/v1/uploads \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"bytes": 0,
"filename": "filename",
"mime_type": "mime_type",
"purpose": "assistants"
}'
响应
中文说明:以下为原文配置、命令或事件示例,字段名、枚举、标识符及数值保留。
{
"id": "id",
"bytes": 0,
"created_at": 0,
"expires_at": 0,
"filename": "filename",
"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"
},
"object": "upload"
}
示例
## [中文] 发送POST请求;将示例API凭证、文件或上传对象标识替换为应用使用的值。
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
}
}'
响应
中文说明:以下为原文配置、命令或事件示例,字段名、枚举、标识符及数值保留。
{
"id": "upload_abc123",
"object": "upload",
"bytes": 2147483648,
"created_at": 1719184911,
"filename": "training_examples.jsonl",
"purpose": "fine-tune",
"status": "pending",
"expires_at": 1719127296
}
TRAE-AI编程


更多建议: