VideoUpscaler API
직접 작성한 코드에서 동영상을 1080p, 2K 또는 4K로 업스케일합니다. 동영상 URL을 보내고, 작업 상태를 폴링한 뒤, 결과를 다운로드하세요.
VideoUpscaler API는 videoupscaler.co와 동일한 AI 동영상 업스케일러를 실행하며, 크레딧도 같은 잔액에서 차감됩니다. 모든 요청은 JSON 본문을 사용하는 일반 HTTPS 호출이므로 어떤 언어로든 사용할 수 있습니다.
Base URL: https://videoupscaler.co/api/v1
유료 계정 전용
API는 크레딧을 구매했거나 구독한 계정에서 사용할 수 있습니다. 요금제 페이지에서 크레딧 팩을 하나라도 구매하면 이용할 수 있으며, 무료 계정은 403 paid_plan_required를 받습니다.
작동 방식
- 동영상을 보냅니다. 공개된
video_url을 사용하거나, 먼저 파일을 업로드할 수 있습니다. - 동영상 길이를 읽어 해당 크레딧을 차감하고 작업을 시작합니다.
- 작업이
completed가 될 때까지 폴링한 다음output_url에서 결과를 다운로드합니다.
빠른 시작
API 키 생성
크레딧을 구매했거나 구독한 계정으로 로그인한 뒤 설정 → API 키를 엽니다. 키를 생성하고 복사해 두세요. 키는 생성 시 한 번만 표시됩니다. 키는 vu_live_… 형식입니다.
업스케일 시작
curl https://videoupscaler.co/api/v1/upscale \
-H "Authorization: Bearer $VIDEOUPSCALER_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: my-video-001" \
-d '{"video_url": "https://example.com/clip.mp4", "resolution": "4k"}'const res = await fetch('https://videoupscaler.co/api/v1/upscale', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.VIDEOUPSCALER_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': 'my-video-001',
},
body: JSON.stringify({ video_url: 'https://example.com/clip.mp4', resolution: '4k' }),
});
const task = await res.json();
console.log(task.id, task.status);import os, requests
res = requests.post(
"https://videoupscaler.co/api/v1/upscale",
headers={
"Authorization": f"Bearer {os.environ['VIDEOUPSCALER_API_KEY']}",
"Idempotency-Key": "my-video-001",
},
json={"video_url": "https://example.com/clip.mp4", "resolution": "4k"},
)
task = res.json()
print(task["id"], task["status"])응답은 상태가 processing인 작업입니다.
완료될 때까지 폴링
curl https://videoupscaler.co/api/v1/tasks/TASK_ID \
-H "Authorization: Bearer $VIDEOUPSCALER_API_KEY"5–10초마다 폴링하거나, 대신 작업 이벤트를 스트리밍할 수 있습니다. status가 completed가 되면 output_url에서 동영상을 다운로드하세요. failed인 경우 크레딧은 환불되며, error에서 실패 원인을 확인할 수 있습니다.
엔드포인트
| 메서드 | 경로 | 설명 |
|---|---|---|
POST | /upscale | 크레딧을 차감하고 동영상 업스케일 시작 |
POST | /uploads | 로컬 파일 업로드용 서명된 URL 발급 |
GET | /tasks/{id} | 작업 하나 조회 |
GET | /tasks/{id}/events | 상태 변경 스트리밍(Server-Sent Events) |
GET | /tasks | 작업 목록을 최신순으로 조회 |
GET | /account | 크레딧 잔액 및 요금 |