개발자 문서 찾아보기

REST API

파일 업로드 및 공유

이 튜토리얼에서는 데모.mp4라는 로컬 파일 하나를 가져와서 작업 공유 URL로 변환합니다. 단계를 순서대로 완료하세요. 각 응답은 다음 요청에 사용되는 값을 제공합니다.

1

API 키 생성 및 저장

개발자 설정을 열고 uploads:write, files:read, shares:write 및 shares:read를 선택한 다음 키를 만듭니다. 지금 복사하세요. 전체 비밀은 한 번만 표시됩니다.

사용 가능한 범위: uploads:write, files:read, shares:write 및 shares:read.

예상 결과:Video2URL 키 접두사로 시작하는 비밀이 있습니다. 비공개로 유지하세요.
2

터미널 준비

모든 명령이나 셸 기록에 표시되지 않도록 환경 변수에 키를 넣으세요. Enter 키를 누르기 전에 자리 표시자를 바꾸세요.

Terminal
read -s VIDEO2URL_API_KEY
echo "key loaded"
예상 결과:이 명령은 비밀 자체가 아닌 로드된 키를 인쇄합니다.
3

업로드 작업 만들기

Video2URL에 정확한 파일 이름, MIME 유형 및 바이트 크기를 알려주십시오. 그러면 임시 R2 업로드 URL이 반환됩니다. 아직 영상은 업로드되지 않습니다.

POST /api/v1/uploads

curl
curl -sS -X POST https://video2url.com/api/v1/uploads \
  -H "Authorization: Bearer $VIDEO2URL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filename":"demo.mp4","mimeType":"video/mp4","sizeBytes":1048576}'
예상 결과:data.uploadId 및 data.upload.url을 포함하는 JSON 응답. 다음 단계를 위해 두 값을 모두 저장합니다.
Save response values
export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"
4

비디오 바이트 보내기

데모.mp4를 임시 URL에 직접 업로드하세요. 이 PUT 요청에 Video2URL API 키를 추가하지 마세요. 생성-업로드 응답에서 반환된 Content-Type을 사용하세요. 반환된 콘텐츠 유형을 사용하여 미리 서명된 URL에 원시 파일을 업로드합니다.

curl · PUT
curl --fail-with-body -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary @demo.mp4
예상 결과:업로드 서버는 HTTP 200을 반환합니다. 빈 응답 본문은 정상입니다.
5

업로드 완료 및 확인

PUT이 성공한 후 Video2URL에 저장된 개체를 확인하고 파일 레코드를 생성하도록 지시합니다. PUT이 완료되기 전에 이 단계를 호출하지 마세요.

POST /api/v1/uploads/{uploadId}/complete · GET /api/v1/uploads/{uploadId}

curl
curl -sS -X POST "https://video2url.com/api/v1/uploads/$UPLOAD_ID/complete" \
  -H "Authorization: Bearer $VIDEO2URL_API_KEY"
예상 결과:응답에는 data.file.fileId가 포함되어 있습니다. FILE_ID를 저장하세요. 완료된 파일을 식별합니다.
Save FILE_ID
export FILE_ID="paste data.file.fileId here"
6

최종 공유 만들기 URL

FILE_ID에서 비공개 링크를 만듭니다. 미등록이란 URL을(를) 가진 사람은 누구나 열 수 있지만 공개 디렉토리에 위치하지 않음을 의미합니다.

  • 제목은 선택사항입니다.
  • 비밀번호는 선택사항입니다.
  • 가시성은 선택 사항입니다.
  • 공개 상태는 기본적으로 미등록으로 설정되어 있습니다.

POST /api/v1/shares · GET / DELETE /api/v1/shares/{shareId}

curl
curl -sS -X POST https://video2url.com/api/v1/shares \
  -H "Authorization: Bearer $VIDEO2URL_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{"fileId":"$FILE_ID","visibility":"unlisted"}"
예상 결과:응답에는 공유 레코드와 URL이 포함됩니다. 개인 브라우저 창에서 SHARE_URL을 열어 확인하세요.
Open SHARE_URL
export SHARE_URL="paste the returned share URL here"
open "$SHARE_URL" # macOS; use xdg-open on Linux

JavaScript & Python

필요한 가장 좁은 키를 만듭니다. 이전 키를 취소하기 전에 대체 키를 생성 및 배포하여 순환하세요. 유료 액세스가 종료되면 키는 계속 저장되지만 통화는 일시 중지됩니다. 적격 플랜을 갱신하면 액세스가 복원됩니다.

JavaScript
const response = await fetch('https://video2url.com/api/v1/uploads', {
  method: 'POST',
  headers: { Authorization: `Bearer ${process.env.VIDEO2URL_API_KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({ filename: 'demo.mp4', mimeType: 'video/mp4', sizeBytes: file.size }),
});
const created = await response.json();
Python
import os, requests
headers = {"Authorization": f"Bearer {os.environ['VIDEO2URL_API_KEY']}"}
created = requests.post("https://video2url.com/api/v1/uploads", headers=headers, json={"filename": "demo.mp4", "mimeType": "video/mp4", "sizeBytes": 1048576})
created.raise_for_status()
with open("demo.mp4", "rb") as video:
    requests.put(created.json()["data"]["upload"]["url"], data=video).raise_for_status()