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
1回のリクエストで複数の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にはレート制限が実装されています。現在の制限は以下の通りです:
時間枠 | リクエスト制限 |
---|---|
1分あたり | 100 requests |
1時間あたり | 1,000 requests |
1日あたり | 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"
}
}
アプリケーションに適切なエラー処理を実装し、これらのシナリオを適切に管理し、スムーズなユーザーエクスペリエンスを提供することをお勧めします。