上传

允许您分多个部分上传大型文件。source

创建上传

POST https://api.openai.com/v1/uploads

创建可向其添加segments的中间 Upload 对象。目前,Upload 最多可以接受 8 GB 的总容量,并在您创建后一小时后过期。source

完成 Upload 后,我们将创建一个 File 对象,其中包含您上传的所有段。此 File 可在我们平台的其余部分作为常规 File 对象使用。source

肯定地purposes,则正确的mime_type必须指定。请参阅文档,了解适用于您的用例的 MIME 类型:source

有关每种用途的正确文件扩展名的指导,请遵循有关创建文件的文档。source

请求正文

要上传的文件的名称。source

上传文件的预期用途。source

请参阅有关文件目的的文档source

您正在上传的文件中的字节数。source

文件的 MIME 类型。source

这必须属于您的文件目的支持的 MIME 类型。请参阅助手和视觉支持的 MIME 类型。source

返回

示例请求
1
2
3
4
5
6
7
8
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"
  }'
响应
1
2
3
4
5
6
7
8
9
10
{
  "id": "upload_abc123",
  "object": "upload",
  "bytes": 2147483648,
  "created_at": 1719184911,
  "filename": "training_examples.jsonl",
  "purpose": "fine-tune",
  "status": "pending",
  "expires_at": 1719127296
}

添加上传部分

发布 https://api.openai.com/v1/uploads/{upload_id}/parts

Part 添加到 Upload 对象。Part 表示您尝试上传的文件中的字节块。source

每个段最大为 64 MB,您可以添加段,直到达到 8 GB 的上传最大值。source

可以并行添加多个 Part。您可以在完成上传时决定 Part 的预期顺序。source

路径参数

上传的 ID。source

请求正文

此 Part 的字节块。source

返回

upload Part 对象。source

示例请求
1
2
curl https://api.openai.com/v1/uploads/upload_abc123/parts
  -F data="aHR0cHM6Ly9hcGkub3BlbmFpLmNvbS92MS91cGxvYWRz..."
响应
1
2
3
4
5
6
{
  "id": "part_def456",
  "object": "upload.part",
  "created_at": 1719185911,
  "upload_id": "upload_abc123"
}

完成上传

post https://api.openai.com/v1/uploads/{upload_id}/complete

完成上传source

在返回的 Upload 对象中,有一个嵌套的 File 对象,该对象已准备好在平台的其余部分使用。source

您可以通过传入 Part ID 的有序列表来指定 Part 的顺序。source

完成时上传的字节数必须与创建 Upload 对象时最初指定的字节数匹配。上传完成后,不得添加任何段。source

路径参数

上传的 ID。source

请求正文

部件 ID 的有序列表。source

文件内容的可选 md5 校验和,用于验证上传的字节数是否符合您的预期。source

返回

状态为completed加上一个额外的file属性,其中包含创建的可用 File 对象。source

示例请求
1
2
3
4
curl https://api.openai.com/v1/uploads/upload_abc123/complete
  -d '{
    "part_ids": ["part_def456", "part_ghi789"]
  }'
响应
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
  "id": "upload_abc123",
  "object": "upload",
  "bytes": 2147483648,
  "created_at": 1719184911,
  "filename": "training_examples.jsonl",
  "purpose": "fine-tune",
  "status": "completed",
  "expires_at": 1719127296,
  "file": {
    "id": "file-xyz321",
    "object": "file",
    "bytes": 2147483648,
    "created_at": 1719186911,
    "filename": "training_examples.jsonl",
    "purpose": "fine-tune",
  }
}

取消上传

post https://api.openai.com/v1/uploads/{upload_id}/cancel

取消上传。取消上传后,不得添加任何段。source

路径参数

上传的 ID。source

返回

状态为cancelled.source

示例请求
curl https://api.openai.com/v1/uploads/upload_abc123/cancel
响应
1
2
3
4
5
6
7
8
9
10
{
  "id": "upload_abc123",
  "object": "upload",
  "bytes": 2147483648,
  "created_at": 1719184911,
  "filename": "training_examples.jsonl",
  "purpose": "fine-tune",
  "status": "cancelled",
  "expires_at": 1719127296
}

upload 对象

Upload 对象可以接受 Part 形式的字节块。source

的 Upload unique identifier,可在 API 端点中引用。source

创建 Upload 时的 Unix 时间戳(以秒为单位)。source

要上传的文件的名称。source

要上传的预期字节数。source

文件的预期用途。请参阅此处了解可接受的值。source

The status of the Upload.source

创建 Upload 时的 Unix 时间戳(以秒为单位)。source

对象类型,始终为 “upload”。source

Fileobject 表示已上传到 OpenAI 的文档。source

OBJECT 上传对象
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
  "id": "upload_abc123",
  "object": "upload",
  "bytes": 2147483648,
  "created_at": 1719184911,
  "filename": "training_examples.jsonl",
  "purpose": "fine-tune",
  "status": "completed",
  "expires_at": 1719127296,
  "file": {
    "id": "file-xyz321",
    "object": "file",
    "bytes": 2147483648,
    "created_at": 1719186911,
    "filename": "training_examples.jsonl",
    "purpose": "fine-tune",
  }
}

上传段对象

upload Part 表示我们可以添加到 Upload 对象的字节块。source

上传 Part 唯一标识符,可在 API 端点中引用。source

创建 Part 时的 Unix 时间戳 (以秒为单位)。source

此 Part 添加到的 Upload 对象的 ID。source

对象类型,始终为upload.part.source

OBJECT 上传段对象
1
2
3
4
5
6
{
    "id": "part_def456",
    "object": "upload.part",
    "created_at": 1719186911,
    "upload_id": "upload_abc123"
}