개발가이드SNS 수집유튜브 오디오 다운로드

유튜브 오디오 다운로드 API

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

유튜브 공개 영상의 소리만 MP3·M4A·Opus 파일로 내려받습니다. 구간만 잘라 받을 수 있고 파일 또는 1시간 유효 다운로드 링크로 받습니다.

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

알아둘 점

요금

항목
설명
기본요금
20P (후불 30P)
용량 요금
받은 파일 크기 10MB(10,485,760바이트)마다 2P (후불 3P), 10MB 단위로 올림
계산 예
5MB: 기본요금 + 2P
100MB: 기본요금 + 20P
1GB(1,024MB): 기본요금 + 206P
미리 확인
유튜브 다운로드 화질 조회(youtube_formats)로 화질별 예상 용량과 예상 요금을 볼 수 있습니다.
잔액 확인
받기 전에 예상 요금보다 포인트가 적으면 받지 않고 402로 응답합니다(과금 없음).
미과금
입력 오류, 영상 없음, 2GB 초과, 시간 초과 등으로 파일을 받지 못하면 과금하지 않습니다.

API 호출

요청
Key
Value
url
format
bitrate
start
end
delivery
응답

            

요청과 응답

API 요청
POST/rest/youtube_audio_download
  • Bearer 인증
  • multipart/form-data
  • JSON 응답
요청 파라미터 6개 · 필수 1
파라미터
설명
urlstring필수
유튜브 영상 URL 또는 11자리 영상 ID
예시
https://www.youtube.com/watch?v=dQw4w9WgXcQ
formatstring선택
파일 형식 mp3(기본)·m4a·opus
허용값
mp3 m4a opus
예시
mp3
bitratestring선택
MP3 비트레이트(kbps). 기본 192
허용값
128 192 320
예시
320
startstring선택
구간 시작(초 또는 시:분:초)
endstring선택
구간 끝(초 또는 시:분:초)
deliverystring선택
file: 응답 본문으로 오디오 파일 (기본값)link: JSON과 1시간 유효한 다운로드 주소
응답 필드 23개
응답 필드
설명
dataobject
조회 데이터
data.video_idstring
11자리 영상 ID
data.titlestring
영상 제목
data.durationinteger
받은 길이(초). 구간을 지정하면 구간 길이
data.sizeinteger
파일 크기(바이트)
data.size_unitsinteger
용량 요금 단위 수(10MB 단위 올림)
data.content_typestring
파일 형식
data.filenamestring
파일명
data.download_urlstring
다운로드 주소. 인증키 없이 받을 수 있고 이어받기(Range)를 지원합니다.
data.expires_atstring
다운로드 주소 만료 시각(ISO 8601, 발급 1시간 뒤)
data.formatstring
파일 형식 (mp3·m4a·opus)
data.bitrateinteger
MP3 비트레이트(kbps). 그 밖의 형식은 null null 허용.
data.billingobject
요금 내역
data.successinteger
API 서버 정상 응답 여부
apiobject
API 호출 공통 데이터
api.successboolean
API 서버 정상 응답 여부
api.costinteger
이번 호출 요금(기본요금 + 용량 요금)
api.pl_idinteger
API 결제 로그 ID
api.msinteger
API 응답 시간
하위 필드 4개 더 보기
응답 필드
설명
data.billing.baseinteger
기본요금
data.billing.size_unit_costinteger
10MB당 요금
data.billing.size_costinteger
용량 요금
data.billing.totalinteger
합계(= api.cost)

응답 처리

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

원문 응답 필드 표 보기
Header (delivery=file)
이름
필수
설명
success
O
API 서버 정상 응답 여부
cost
O
이번 호출 요금(기본요금 + 용량 요금)
ms
O
API 응답 시간
size
O
파일 크기(바이트)
duration
X
받은 길이(초). 구간을 지정하면 구간 길이
Content-Type
O
mp3: audio/mpeg
m4a: audio/mp4
opus: audio/ogg
Content-Disposition
O
파일명 (영상ID.형식)
Body (delivery=file)
이름
타입
설명
오디오 파일 데이터
Binary
요청한 형식의 파일
Body (delivery=link)
이름
타입
설명
data
Object
조회 데이터
video_id
String
11자리 영상 ID
title
String
영상 제목
duration
Number
받은 길이(초)
size
Integer
파일 크기(바이트)
size_units
Integer
용량 요금 단위 수(10MB 단위 올림)
content_type
String
파일 형식
filename
String
파일명
download_url
String
다운로드 주소. 인증키 없이 받을 수 있고 이어받기(Range)를 지원합니다.
expires_at
String
다운로드 주소 만료 시각(ISO 8601, 발급 1시간 뒤)
format
String
파일 형식 (mp3·m4a·opus)
bitrate
Integer
MP3 비트레이트(kbps). 그 밖의 형식은 null
billing
Object
요금 내역
base
Integer
기본요금
size_unit_cost
Integer
10MB당 요금
size_cost
Integer
용량 요금
total
Integer
합계(= api.cost)
success
Integer
과금 여부
0: 실패
1: 성공
api
Object
API 호출 공통 데이터
success
Boolean
API 서버 정상 응답 여부
cost
Integer
API 호출 요금
ms
Integer
API 응답 시간
pl_id
Integer
API 결제 로그 ID

오류 코드

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

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

오류

HTTP 상태 코드
HTTP
상황
설명
400
입력 오류
영상 주소, format, bitrate, start·end, delivery 값을 확인하세요. 파일이 최대 2GB를 넘을 때도 400으로 응답합니다(낮은 화질이나 구간을 지정하세요).
402
포인트 부족
예상 요금 또는 실제 요금보다 사용 가능한 포인트가 적습니다. 과금하지 않습니다.
404
영상 없음
삭제·비공개 영상이거나 잘못된 주소입니다.
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 + 10MB당 2P

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

연동 팁

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

{
    "data": {
        "video_id": "dQw4w9WgXcQ",
        "title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
        "duration": 213,
        "size": 3449213,
        "size_units": 1,
        "content_type": "audio/mp4",
        "filename": "dQw4w9WgXcQ.m4a",
        "download_url": "https://apick.app/youtube-files/9a8b7c6d5e4f30211203f4e5d6c7b8a9/dQw4w9WgXcQ.m4a",
        "expires_at": "2026-10-06T10:35:12.000Z",
        "format": "m4a",
        "bitrate": null,
        "billing": {
            "base": 20,
            "size_unit_cost": 2,
            "size_cost": 2,
            "total": 22
        },
        "success": 1
    },
    "api": {
        "success": true,
        "cost": 22,
        "pl_id": 1595635,
        "ms": 3210
    }
}
            

개발가이드 검색

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

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