ビデオアップロード API
ビデオアップロード機能は、直接ビデオファイルをアップロードし、その処理状態を監視する方法を提供します。
全てのアップロードは非同期で実行されます。即時 202 Accepted
のレスポンスを受け取り、背景でビデオが処理されることがあります。進捗状況を確認するにはステータスエンドポイントを使用してください。
ビデオのアップロード
このエンドポイントは、multipart/form-data
リクエストを受け付け、新しいビデオファイルをアップロードします。
POST /uploads
リクエストボディ (multipart/form-data
)
フィールド | タイプ | 必須 | 説明 |
---|---|---|---|
video | file | Yes | アップロードするビデオファイル。 |
folder | string | Yes | ビデオを置くコレクションパス (例: root/my-folder )。 |
例リクエスト (.http
)
POST /api/client/v1/uploads
Authorization: Bearer sk-your-api-key-here
Content-Type: multipart/form-data; boundary=...
... (フォームデータとファイル) ...
レスポンス: 202 Accepted
アップロードが受け入れられ、初期状態が返されます。id
を保存して後でステータスを確認することができます。
{
"message": "アップロードが受け付けられ、現在処理中です。",
"data": {
"id": "9c1fa5c4-a8f1-4b2e-9d6e-1c8a0b9e2d7f",
"status": 1,
"status_text": "pending"
}
}
アップロードのステータス取得
50件以内の最新のアップロードのステータスを取得します。UIを更新するためにこのエンドポイントをポーリングできます。
GET /uploads
例リクエスト
GET /api/client/v1/uploads
Authorization: Bearer sk-your-api-key-here
レスポンス: 200 OK
{
"data": [
{
"id": "9c1fa5c4-a8f1-4b2e-9d6e-1c8a0b9e2d7f",
"filename": "my_new_video.mp4",
"status": 3,
"status_text": "processing",
"created_at": "2024-08-11T10:00:00Z",
"updated_at": "2024-08-11T10:01:00Z"
},
{
"id": "9c1fa5c3-b9f2-5c3f-8e7f-2d9b1c4e1f8e",
"filename": "my_previous_video.mp4",
"status": 6,
"status_text": "completed",
"created_at": "2024-08-10T15:00:00Z",
"updated_at": "2024-08-10T15:05:00Z"
}
]
}
単一アップロードのステータス取得
特定のビデオのステータスを ID で取得します。
GET /uploads/{videoId}
例リクエスト
GET /api/client/v1/uploads/9c1fa5c4-a8f1-4b2e-9d6e-1c8a0b9e2d7f
レスポンス: 200 OK
{
"data": {
"id": "9c1fa5c4-a8f1-4b2e-9d6e-1c8a0b9e2d7f",
"filename": "my_new_video.mp4",
"status": 6,
"status_text": "completed"
}
}
ステータス参照
ステータスコード | ステータステキスト | 説明 |
---|---|---|
1 | pending | アップロードがキュー化され、処理を待っています。 |
3 | processing | ビデオが現在トランスコーディング中です。 |
5 | uploading | トランスコーディドファイルが最終ストレージにアップロードされています。 |
6 | completed | ビデオが完全に処理され、再生可能になりました。 |
7 | failed | 処理中にエラーが発生しました。 |