소개
SeedVR2 Video는 ByteDance Seed 팀이 2025년 6월에 발표한 영상 복원 모델로, 적대적 후학습으로 다듬은 원스텝 확산 모델입니다. 일반 업스케일러로는 살릴 수 없는 영상, 즉 저해상도, 강한 압축, 흐림, 노이즈를 위해 만들어졌습니다. 클립 하나(video_url)를 보내고 출력 해상도(resolution)를 고르면 질감을 다시 그린 클립이 720p, 1080p, 2K, 4K로 돌아오며 길이, 구도, 프레임 레이트, 오디오 트랙은 그대로입니다. 프롬프트는 없습니다.
핵심 기능 및 하이라이트
확대가 아니라 복원
SeedVR2는 기존 픽셀을 선명하게 하는 대신 디테일을 생성하므로 압축 블록과 번짐이 증폭되지 않습니다. 매우 낮은 비트레이트로 인코딩한 3초 624×360 클립에서 스웨터의 꽈배기 니트, 랜턴의 황동, 등대 창 너머의 수평선을 다시 그렸습니다. 같은 클립을 일반 업스케일러에 넣으면 블록감이 그대로 더 선명해졌을 뿐입니다.
같은 클립을 더 높은 해상도로
길이, 컷, 움직임, 구도는 보낸 그대로이고 사운드트랙도 통과합니다. AAC 오디오가 있는 4초 640×360 클립이 1280×720, 24fps, 4.0초로 같은 트랙과 함께 돌아왔습니다. 해상도는 비율을 유지한 픽셀 예산이어서 624×360을 1080p로 하면 1896×1094가 됐습니다.
초 단위로 예측 가능한 비용
가격은 원본 클립 초 수 기준이며 올림, 최소 3초, 초당 요금은 해상도가 정합니다. 720p가 가장 싸고 2K는 1080p의 1.5배, 4K는 2배입니다. 실패한 작업은 과금되지 않습니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
video_url | 예 | 복원할 클립, 3~60초, MP4 파일 직접 링크 또는 업로드. 압축되거나 흐릿하거나 저해상도인 영상일수록 효과가 크며, 길이 범위를 벗어난 클립은 과금 전에 거부됩니다. 1자 이상 |
resolution | 아니요 | 출력 해상도: 720p, 1080p(기본값), 2k, 4k. 비율을 유지한 픽셀 예산이라 624×360 클립은 1080p에서 1896×1094가 됩니다. |
요금
복원은 보낸 영상의 초 수로 과금되며 남는 부분은 1초로 올리고 최소 3초, 단가는 고른 해상도 기준입니다. 시작 전에 업로드는 실측 길이에 1초를, 링크는 60초분을 잡아 두고 쓰지 않은 금액은 복원 후 돌려드립니다.
| 사양 | 요금 |
|---|---|
| $0.024 / 초 |
| $0.048 / 초 |
| $0.072 / 초 |
| $0.096 / 초 |
활용 사례
오래되거나 재업로드된 영상
여러 번 압축된 휴대폰 영상, SNS 앱에서 저장한 클립, 낮은 비트레이트의 화면 녹화가 이 모델이 겨냥하는 소재입니다. 편집 전에 1080p로 복원해 두면 흐릿한 블록감이 최종본까지 이어지지 않습니다.
AI 생성 영상 납품
480p나 720p 초안 생성본은 흐릿해 보이기 쉽습니다. 편집이 확정된 뒤 고른 테이크만 SeedVR2로 1080p나 4K로 올리는 마지막 단계로 쓰면, 남길 초만큼만 비용을 냅니다.
프롬프트 가이드 및 실전 팁
보내기 전에 자르기
과금은 원본 클립 길이를 따르므로 필요한 부분만 잘라서 보내세요. 클립은 3~60초여야 하며, 긴 영상은 나눈 뒤 복원본을 이어 붙이세요.
쓰임새에 맞춰 해상도 고르기
휴대폰과 미리보기에는 720p, 대부분의 웹과 SNS에는 1080p, 큰 화면에서 보여 줄 때만 2K나 4K를 쓰세요. 높은 해상도일수록 오래 걸리고 초당 요금이 높습니다.
얼굴, 손, 글자 확인하기
복원은 그럴듯한 디테일을 채웁니다. 결과의 얼굴, 손, 로고, 글자를 확인하고 중요한 부분이 다르게 그려졌다면 덜 손상된 원본이나 낮은 해상도를 쓰면 원본에 더 가깝게 남습니다.
깨끗한 영상은 저렴한 길로
이미 선명하고 픽셀만 부족한 클립이라면 일반 해상도 업스케일이 더 빠르고 저렴합니다. SeedVR2는 손상돼 보이는 영상에서 값을 합니다.
API 빠른 시작
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "bytedance/seedvr2-video/upscale",
"input": {
"resolution": "1080p",
"video_url": "https://example.com/reference.mp4"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
인증, 전체 스키마, 폴링과 오류 처리는 API 레퍼런스에서 확인하세요.


