본문 바로가기
개발가이드SNS 조회유튜브 썸네일 다운로드

유튜브 썸네일 다운로드 API

명세 내보내기
OpenAPI 3.0.3Postman 컬렉션Markdown

공개 영상에서 제공하는 가장 큰 썸네일을 JPG 파일로 받습니다. 성공하면 응답 본문이 이미지 파일 자체입니다.

POSThttps://apick.app/rest/youtube_thumbnail
인증
Bearer 키
요청 형식
form-data
응답
JSON · 파일
경로
1개

왜 유튜브 썸네일 다운로드인가

가장 선명한 썸네일을 캡처 없이 바로 확보

썸네일 하나 받으려고 화면을 캡처하고 자르던 번거로움을 끝내세요. 공개 영상의 가장 큰 썸네일을 JPG 파일로 바로 받아 카드·미리보기·아카이브에 씁니다.

도입 효과

  • 캡처·편집 수작업이 필요 없다
  • 가장 큰 해상도로 깔끔한 미리보기
  • 영상 카드 이미지가 자동으로 완성

이런 곳에서 많이 씁니다

  • 큐레이션 서비스 영상 카드 이미지
  • 썸네일 디자인 벤치마킹 아카이브
  • 사내 교육 포털 영상 미리보기
가입하고 API 키 받기API 키 하나로 바로 호출 · 실패한 요청은 과금되지 않습니다

알아둘 점

이용 전 확인

성공한 다운로드 한 건당 20P가 차감됩니다. 파일 응답에는 form-data 본문이 없으므로 차감액은 응답 헤더 cost에서 확인하세요. 입력 오류·영상 없음·연령 제한·회원 전용·시간 초과처럼 실패한 호출은 이미지 대신 JSON 오류(data.error)가 오고 과금되지 않습니다(api.cost 0).

성공과 실패의 본문 형식이 다르므로, 저장하기 전에 HTTP 상태가 200이고 Content-Type이 image/jpeg인지 먼저 확인하세요. 썸네일 주소만 필요하면 유튜브 영상 정보 조회의 thumbnail·thumbnails[]를 쓰세요.

응답 시간은 보통 6초 이내이고 최대 약 60초입니다. 요청 시간 제한을 90초 이상으로 잡으세요.

인증키는 서버 환경변수에 보관하고 공개 저장소·웹페이지에 넣지 마세요.

요청과 응답

API 요청
POST/rest/youtube_thumbnail
  • Bearer 인증
  • multipart/form-data
  • 파일 응답
요청 파라미터 1개 · 필수 1
파라미터
설명
urlstring필수
조회할 유튜브 영상의 URL 또는 11자리 ID입니다. 예: https://youtu.be/dQw4w9WgXcQ 또는 dQw4w9WgXcQ. 재생목록·채널 URL은 영상 조회에 쓸 수 없습니다.
예시
https://www.youtube.com/watch?v=dQw4w9WgXcQ
응답 필드 파일

정상 응답은 파일 본문입니다. 실패 시 JSON 오류가 올 수 있으므로 HTTP 상태와 Content-Type을 먼저 확인하세요.

입력 조건·전송 규칙
항목
설정
메서드·주소
POST https://apick.app/rest/youtube_thumbnail
인증 헤더
Authorization: Bearer — 내 계정의 API 인증키
본문 형식
multipart/form-data
요청 예시

썸네일을 파일로 저장하는 예입니다. 성공 시 과금되는 실제 요청입니다. --fail을 붙이면 실패 응답(JSON)을 이미지 파일로 저장하지 않습니다.

사용 예시

상황별로 보내는 값과 응답에서 확인할 값을 모았습니다. 언어 탭에서 그대로 복사해 쓸 수 있습니다.

예시 1. 영상 썸네일을 파일로 저장

응답 본문이 JPG 이미지입니다. 파일로 저장할 때는 HTTP 상태와 Content-Type을 먼저 확인합니다.

요청POST/rest/youtube_thumbnail
curl --fail-with-body --request POST 'https://apick.app/rest/youtube_thumbnail' \
  --header "Authorization: Bearer $APICK_API_KEY" \
  --form-string 'url=https://www.youtube.com/watch?v=dQw4w9WgXcQ' \
  --dump-header response.headers --output result.bin
# response.headers의 Content-Type을 확인한 뒤 파일을 사용하세요.
  • 성공하면 Content-Type이 image/jpeg이고 파일 이름은 영상ID.jpg입니다.
  • 실패하면 JSON으로 data.error가 옵니다. 이 응답을 이미지로 저장하지 마세요.
예시 2. 쇼츠 썸네일

쇼츠 주소도 그대로 보냅니다.

요청POST/rest/youtube_thumbnail
curl --fail-with-body --request POST 'https://apick.app/rest/youtube_thumbnail' \
  --header "Authorization: Bearer $APICK_API_KEY" \
  --form-string 'url=https://www.youtube.com/shorts/dQw4w9WgXcQ' \
  --dump-header response.headers --output result.bin
# response.headers의 Content-Type을 확인한 뒤 파일을 사용하세요.
  • 영상에서 제공하는 가장 큰 썸네일이 옵니다. 크기는 영상마다 다르므로 표시 영역에 맞춰 축소하세요.
예시 3. 영상 ID 목록으로 일괄 저장

검색·채널 조회 결과의 id를 하나씩 넣어 썸네일을 차례로 받습니다.

요청POST/rest/youtube_thumbnail
curl --fail-with-body --request POST 'https://apick.app/rest/youtube_thumbnail' \
  --header "Authorization: Bearer $APICK_API_KEY" \
  --form-string 'url=dQw4w9WgXcQ' \
  --dump-header response.headers --output result.bin
# response.headers의 Content-Type을 확인한 뒤 파일을 사용하세요.
  • 삭제·비공개 영상은 HTTP 404이며 과금되지 않습니다. 해당 ID는 건너뛰고 다음 ID를 요청하세요.

응답 처리

HTTP 성공과 업무 결과를 구분하세요. 경로별 응답 필드와 예시는 위 요청과 응답에 함께 있습니다.

성공하면 HTTP 200과 함께 JPG 이미지가 본문으로 옵니다. 크기는 영상마다 다르므로 표시 영역에 맞춰 축소하세요.

성공 응답 헤더
헤더
값
설명
Content-Type
image/jpeg
본문이 JPG 이미지입니다.
Content-Disposition
attachment; filename=영상ID.jpg
저장할 파일 이름입니다. 예: dQw4w9WgXcQ.jpg
Content-Length
정수
이미지 크기(바이트)입니다.
cost
정수
차감된 포인트입니다.
success
1
성공 표시입니다.
ms
정수
처리 시간(밀리초)입니다.

실패하면 이미지 대신 아래 형식의 JSON이 옵니다. 이 응답을 이미지로 저장하지 마세요.

{
  "data": { "error": "영상을 찾을 수 없습니다. 삭제·비공개 영상이거나 잘못된 주소입니다.", "success": 0 },
  "api": { "cost": 0, "success": true, "ms": 2100 }
}

오류 코드

응답을 아래 순서로 확인하세요. 결과 유무와 과금 여부는 서로 다릅니다.

  1. HTTP 상태전송·인증·입력 오류
  2. api.successAPI 처리 여부
  3. data · result업무 결과와 오류 문구
  4. api.cost이번 요청의 과금
서비스 코드·조건

오류와 복구

아래 경우는 JSON의 data.error로 응답하며 과금되지 않습니다(api.cost 0). 실패 응답은 표의 HTTP 상태 코드와 함께 옵니다. 화면에 보여 줄 안내는 본문의 data.error를 쓰세요.

상황
HTTP
data.error
해결
입력 오류
400
입력 항목이 잘못됐습니다. 유튜브 영상 주소 또는 11자리 영상 ID를 입력해 주세요.
영상 주소 형식이나 11자리 ID를 확인합니다.
영상 없음
404
영상을 찾을 수 없습니다. 삭제·비공개 영상이거나 잘못된 주소입니다.
주소와 공개 여부를 확인합니다. 여러 영상을 차례로 받는 중이면 이 ID는 건너뜁니다.
썸네일 없음
404
영상의 썸네일을 찾을 수 없습니다.
썸네일을 제공하지 않는 영상입니다. 영상 정보 조회의 thumbnails[]를 확인합니다.
연령 제한
403
연령 제한 영상은 조회할 수 없습니다.
연령 제한 영상은 제공하지 않습니다.
회원 전용
403
채널 회원 전용 영상은 조회할 수 없습니다.
채널 회원 전용 영상은 제공하지 않습니다.
시간 초과
408
처리 시간 초과로 실패했습니다. 잠시 후 다시 시도해 주세요.
잠시 후 같은 요청을 다시 보냅니다.
일시적 조회 실패
424
일시적으로 영상 정보를 가져오지 못했습니다. 잠시 후 다시 시도해 주세요.
잠시 후 같은 요청을 다시 보냅니다.
인증·포인트 오류 result.error 문구
코드
HTTP
의미·조치
유효하지 않은 API키 입니다.
401
Authorization: Bearer 헤더의 인증키를 확인하세요.
허용되지 않은 IP주소 입니다.
401
마이페이지의 허용 IP 설정과 요청 서버 IP를 확인하세요.
비활성화된 계정입니다.
401
계정 이용 상태를 고객지원으로 문의하세요.
사용 가능한 포인트이 부족합니다.
200
HTTP 200이어도 result.error가 있으면 실패입니다. 포인트를 충전한 뒤 다시 요청하세요. 이 응답은 과금되지 않습니다.
인증 정보를 확인할 수 없습니다.
424
일시적인 확인 실패입니다. 잠시 후 다시 시도하세요.
폼 입력 오류 error.code
코드
HTTP
의미·조치
FORM_DATA_INVALID
400
필드 이름·값의 타입·배열 인덱스를 확인하세요. 인덱스는 0부터 연속으로 사용합니다.
FORM_DATA_FIELD_CONFLICT
400
같은 값과 중첩 경로를 동시에 지정하지 마세요.
MULTIPART_LIMIT_OR_PARSE_ERROR
400·413
boundary·파일 크기·필드 개수를 확인하세요. 서비스별 제한이 우선 적용됩니다.

요금·이용 조건

기본 요금기본 단가 20P · 건당

실제 차감 금액은 응답의 api.cost로 확인하세요. 상세 요금은 요금정책에서 볼 수 있습니다.

연동 팁

  • 요청 예제의 오류 처리 포함 모드는 시간 제한과 업무 실패 판정을 함께 보여줍니다.
  • 인증키는 서버 환경변수에 두고 브라우저·앱에 넣지 마세요.
  • HTTP 성공과 업무 결과를 구분하고, 실패 응답의 오류 문구를 그대로 기록하세요.
추가 예제·서비스별 연동 안내

호출 예시

같은 요청을 JavaScript(Node.js 18 이상)와 Python으로 옮긴 예시입니다. 키는 환경변수 APICK_API_KEY 에서 읽고, 성공 응답만 파일로 저장합니다.

JavaScript 예시
Python 예시

개발가이드 검색

API 이름·경로·파라미터·오류 코드로 찾을 수 있습니다.

표시 가격은 기본 단가입니다. 상세 과금 조건은 각 가이드에서 확인하세요.