비디오 업로드 API
업로드 API는 비디오 파일을 직접 업로드하고 처리 상태를 모니터링하는 방법을 제공합니다.
모든 업로드는 비동기적으로 처리됩니다. 즉시 202 Accepted
응답이 반환되고 비디오는 배경에서 처리됩니다. 진행 상황을 모니터링하기 위해 상태 엔드포인트를 사용해야 합니다.
비디오 업로드
이 엔드포인트는 새로운 비디오 파일을 업로드하는 multipart/form-data
요청을 받습니다.
POST /uploads
요청 본문 (multipart/form-data
)
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
video | file | 예 | 업로드할 비디오 파일입니다. |
folder | string | 예 | 비디오가 저장될 폴더 경로 (예: root/my-folder ). |
예제 요청 (.http
)
POST /api/client/v1/uploads
Authorization: Bearer sk-your-api-key-here
Content-Type: multipart/form-data; boundary=...
... (폼 데이터와 파일) ...
응답: 202 Accepted
업로드 API는 업로드를 승인하고 초기 상태를 반환합니다. 나중에 상태를 확인하기 위해 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 | 처리 중 오류가 발생했습니다. |