API 문서

App.apiDescription

시작하기

YTMP3CV.COM API를 사용하려면 API 키가 필요합니다. 아직 없다면 문의하기를 통해 시작하세요.

모든 API 요청은 다음 기본 URL로 보내야 합니다:

https://api.ytmp3cv.com/

인증

모든 요청의 헤더에 API 키를 포함하세요:

Authorization: Bearer YOUR_API_KEY

엔드포인트

YouTube를 MP3로 변환

POST /convert

YouTube 동영상을 MP3 형식으로 변환합니다.

매개변수

이름 유형 설명
url string YouTube 동영상 URL
quality string 선택사항. 오디오 품질 (high, medium, low). 기본값: high

요청 예시


import requests

api_key = 'YOUR_API_KEY'
headers = {
    'Authorization': f'Bearer {api_key}',
    'Content-Type': 'application/json'
}

data = {
    'url': 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',
    'quality': 'high'
}

response = requests.post('https://api.ytmp3cv.com/convert', headers=headers, json=data)

if response.status_code == 200:
    result = response.json()
    print(f"Download URL: {result['download_url']}")
else:
    print(f"Error: {response.status_code}")
                    

변환 상태 확인

GET /status/{conversion_id}

변환 작업의 상태를 확인합니다.

매개변수

이름 유형 설명
conversion_id string 변환 작업의 ID

요청 예시


import requests

api_key = 'YOUR_API_KEY'
headers = {
    'Authorization': f'Bearer {api_key}'
}

conversion_id = 'abc123'
response = requests.get(f'https://api.ytmp3cv.com/status/{conversion_id}', headers=headers)

if response.status_code == 200:
    result = response.json()
    print(f"Status: {result['status']}")
    print(f"Progress: {result['progress']}%")
else:
    print(f"Error: {response.status_code}")
                    

일괄 변환

POST /batch-convert

단일 요청으로 여러 YouTube 동영상을 MP3 형식으로 변환합니다.

매개변수

이름 유형 설명
urls array YouTube 동영상 URL 배열
quality string 선택사항. 오디오 품질 (high, medium, low). 기본값: high

요청 예시


import requests

api_key = 'YOUR_API_KEY'
headers = {
    'Authorization': f'Bearer {api_key}',
    'Content-Type': 'application/json'
}

data = {
    'urls': [
        'https://www.youtube.com/watch?v=dQw4w9WgXcQ',
        'https://www.youtube.com/watch?v=9bZkp7q19f0'
    ],
    'quality': 'high'
}

response = requests.post('https://api.ytmp3cv.com/batch-convert', headers=headers, json=data)

if response.status_code == 200:
    result = response.json()
    for job in result['jobs']:
        print(f"Conversion ID: {job['conversion_id']}")
else:
    print(f"Error: {response.status_code}")
                    

속도 제한

공정한 사용과 서비스 품질 유지를 위해 API에 속도 제한을 구현했습니다. 현재 제한은 다음과 같습니다:

시간 프레임 요청 제한
분당 100 requests
시간당 1,000 requests
일당 10,000 requests

이 제한을 초과하면 429 Too Many Requests 응답을 받게 됩니다. 응답에는 다음 헤더가 포함됩니다:

  • X-RateLimit-Limit: 해당 요청에 대한 속도 제한 상한
  • X-RateLimit-Remaining: 시간 창에 남은 요청 수
  • X-RateLimit-Reset: 속도 제한이 재설정되기 전 남은 시간 (UTC 에포크 초)

특정 사용 사례에 맞는 더 높은 속도 제한을 원하시면 영업팀에 문의해 주세요.

오류 처리

설명

코드 설명
200 OK 요청이 성공했습니다.
400 Bad Request 요청이 잘못되었거나 처리할 수 없습니다. 정확한 오류는 오류 메시지에 설명되어 있습니다.
401 Unauthorized 요청에 사용자 인증이 필요합니다.
403 Forbidden 서버가 요청을 이해했지만 승인을 거부합니다.
404 Not Found 요청한 리소스를 찾을 수 없습니다.
429 Too Many Requests 주어진 시간 동안 너무 많은 요청을 보냈습니다.
500 Internal Server Error 서버에 문제가 발생했습니다. 나중에 다시 시도해 주세요.

모든 오류 응답에는 다음 구조의 JSON 객체가 응답 본문에 포함됩니다:


{
    "error": {
        "code": "ERROR_CODE",
        "message": "A human-readable error message"
    }
}
                

이러한 시나리오를 원활하게 관리하고 부드러운 사용자 경험을 제공하기 위해 애플리케이션에 적절한 오류 처리를 구현하는 것이 좋습니다.

API 시작하기

강력한 YouTube to MP3 변환을 애플리케이션에 통합할 준비가 되셨나요?

영업팀 문의