동영상 파일 업로드

업로드 토큰을 이용하여, 동영상 파일의 업로드를 실행합니다.

multipart/form data를 이용한 업로드 방식입니다.

업로드가 완료되면 원본 키와 썸네일 정보가 JSON형태로 출력됩니다.
업로드 결과는 callback 주소로 리다이렉트되며, GET {callback url}?data={JSON data} 형식으로 요청됩니다.

업로드 토큰의 버전 (V1, V2) 에 따라 요청 변수와 응답값에 차이가 있습니다.

V2는 파일이 업로드 완료됨과 동시에 response를 내보내며, 후 처리 작업(썸네일 추출과 스토리지로 이동)은 비동기로 처리됩니다.

V1

Request URL

POST {uploadUrl}?token={token}

Request Parameters

Parameter NameTypeDescription
token (Required)String업로드 토큰

Form Parameters

Parameter NameTypeDescription
file (Required)File
(multipart/form)
업로드 할 동영상 파일 데이터
folderId (Required)Integer미디어 보관함의 동영상 저장 폴더 선택
packageIdInteger배포 패키지 ID
- 패키지에 편입시 인코딩 실행 및 배포 URL 발급
cidString사용자 정의 문자열 (ID) (최대 64 자리)
renameString업로드 원본 파일명 변경 (파일 확장명은 포함하지 않습니다.)
callbackString업로드 콜백 URL
- 리다이렉트 콜백 url
- GET {Callback URL}?data={Response JSON String}
titleString동영상 제목 정보 입력
seriesString시리즈 정보 입력
authorString원작자 정보 입력
copyrightString저작권 정보 입력
rateString관람등급 정보 입력
contentString내용 정보 입력
tagString태그 정보 입력
- 여러 개 입력 시 “,”값으로 분리 (e.g., tag=tag1,tag2,tag3)
etcString기타 정보 입력

Response Example

{
    "uploadInfo": {
        "uploadDetail": {
            "videoHeight": 720,
            "videoWidth": 1280,
            "duration": 59234,
            "videoFramerate": 30.0,
            "accessKey": "PXqGis2mA8NoqTAlzWiiQ8BjNZ73qUlr4s"
        },
        "thumbnails": [
            {
                "seq": 0,
                "sel": false,
                "url": "https://{DOMAIN}/thumb/20230512/12/e6935929-55b3-44e0-8b71-24edf2fcb251_78f4e8dc-0ef0-4ff2-8b51-4044e8d2e2bb.jpg",
                "playTime": 1
            },
            {
                "seq": 1,
                "sel": false,
                "url": "https://{DOMAIN}/thumb/20230512/12/e6935929-55b3-44e0-8b71-24edf2fcb251_e0429f7d-6005-449e-8010-1c205c1e02c8.jpg",
                "playTime": 10
            },
            {
                "seq": 2,
                "sel": true,
                "url": "https://{DOMAIN}/thumb/20230512/12/e6935929-55b3-44e0-8b71-24edf2fcb251_7d1b326f-1adb-47b7-9e0e-5e0973fffbfc.jpg",
                "playTime": 19
            },
            {
                "seq": 3,
                "sel": false,
                "url": "https://{DOMAIN}/thumb/20230512/12/e6935929-55b3-44e0-8b71-24edf2fcb251_f6ed4c4f-9249-49fc-8739-9d47f0725b90.jpg",
                "playTime": 28
            },
            {
                "seq": 4,
                "sel": false,
                "url": "https://{DOMAIN}/thumb/20230512/12/e6935929-55b3-44e0-8b71-24edf2fcb251_5fbcd15c-4cec-400d-954a-e435fc7f1875.jpg",
                "playTime": 37
            },
            {
                "seq": 5,
                "sel": false,
                "url": "https://{DOMAIN}/thumb/20230512/12/e6935929-55b3-44e0-8b71-24edf2fcb251_ce1b2c93-9b59-4d04-ba12-07aca072aa92.jpg",
                "playTime": 46
            }
        ]
    },
    "status": "COMPLETE"
}

Response Data Value

NameTypeDescription
accessKeyString원본 키 (Access Key)
durationInteger동영상 재생 시간 길이 (milli second)
videoHeightInteger동영상 원본 해상도 – 세로 값
videoWidthInteger동영상 원본 해상도 – 가로 값
videoFramerateFloat동영상 원본 프레임 수
cidString (64)사용자 정의 문자열 (ID) (최대 64 자리)
thumbnailsList썸네일 리스트
statusString업로드 상태값
BEING (업로드 서버에 파일 전송)
UPLOADING (업로드 중)
UPLOADED (업로드 서버에 전송 완료)
MEDIACHK (업로드 파일 검증)
THUMBS (썸네일 이미지 추출)
COMPLETE (업로드 전체 완료)
U_ERROR (업로드 에러)

V2

Request URL

POST {uploadUrl}?token={token}

Request Parameters

Parameter NameTypeDescription
token (Required)String업로드 토큰

Form Parameters

Parameter NameTypeDescription
file (Required)File
(multipart/form)
업로드 할 동영상 파일 데이터
folderId (Required)Integer미디어 보관함의 동영상 저장 폴더 선택
packageIdInteger배포 패키지 ID
- 패키지에 편입시 인코딩 실행 및 배포 URL 발급
cidString사용자 정의 문자열 (ID) (최대 64 자리)
renameString업로드 원본 파일명 변경 (파일 확장명은 포함하지 않습니다.)
callbackString업로드 콜백 URL
- 리다이렉트 콜백 url
- GET {Callback URL}?data={Response JSON String}
titleString동영상 제목 정보 입력
seriesString시리즈 정보 입력
authorString원작자 정보 입력
copyrightString저작권 정보 입력
rateString관람등급 정보 입력
contentString내용 정보 입력
tagString태그 정보 입력
- 여러 개 입력 시 “,”값으로 분리 (e.g., tag=tag1,tag2,tag3)
etcString기타 정보 입력

Response Example

{
    "uploadInfo": {
        "uploadDetail": {
            "videoHeight": 720,
            "videoWidth": 1280,
            "duration": 59234,
            "videoFramerate": 30.0,
            "accessKey": "PXqGis2mA8NoqTAlzWiiQ8BsMfXJoNl4fY"
        }
    },
    "status": "MEDIACHK"
}

Response Data Value

NameTypeDescription
accessKeyString원본 키 (Access Key)
durationInteger동영상 재생 시간 길이 (milli second)
videoHeightInteger동영상 원본 해상도 – 세로 값
videoWidthInteger동영상 원본 해상도 – 가로 값
videoFramerateFloat동영상 원본 프레임 수
cidString (64)사용자 정의 문자열 (ID) (최대 64 자리)
statusString업로드 상태값
BEING (업로드 서버에 파일 전송)
UPLOADING (업로드 중)
UPLOADED (업로드 서버에 전송 완료)
MEDIACHK (업로드 파일 검증)
THUMBS (썸네일 이미지 추출)
COMPLETE (업로드 전체 완료)
U_ERROR (업로드 에러)