開発者
API ドキュメント
MeloLab API で開発するために必要なすべて:認証、クレジット、生成、ジョブ、webhook、ライブラリ検索。
はじめに
すべてのリクエストは、Authorization: Bearer ヘッダーで API キーを使って認証します。ベース URL は https://melolab.ai です。読み取り系エンドポイントはクレジットを消費しません。生成の作成は既存の MeloLab クレジットを使用し、費用と返金のルールはウェブアプリと同じです。生成の作成時には Idempotency-Key ヘッダーを送ると再試行が安全になります。成功時のレスポンスは data オブジェクトに包まれ、エラーは code、message、request_id を返します。
アカウント
API プロフィール、クレジット残高、最近の利用状況を取得します。
認証された API プロフィール(アカウントティアと API 利用可否を含む)を返します。
curl -X GET https://melolab.ai/api/v1/me \
-H "Authorization: Bearer $MELOLAB_API_KEY"既存の MeloLab クレジット残高を返します。クレジットは消費しません。
curl -X GET https://melolab.ai/api/v1/credits \
-H "Authorization: Bearer $MELOLAB_API_KEY"利用状況の概要と、最近の秘匿化済みリクエストイベントを返します。
curl -X GET https://melolab.ai/api/v1/usage \
-H "Authorization: Bearer $MELOLAB_API_KEY"モデル
利用可能な MeloLab モデルとそのクレジット費用を一覧表示します。
利用可能な MeloLab モデルとそのクレジット費用を一覧表示します。
curl -X GET https://melolab.ai/api/v1/models \
-H "Authorization: Bearer $MELOLAB_API_KEY"id で 1 つのモデルを返します。
curl -X GET https://melolab.ai/api/v1/models/suno/v5-5 \
-H "Authorization: Bearer $MELOLAB_API_KEY"生成
音楽生成を作成し、最近の生成を一覧表示し、ジョブが完了するまでポーリングします。
非同期の音楽生成を作成します。既存の MeloLab クレジットを使用し、Idempotency-Key ヘッダーが必要です。
curl -X POST https://melolab.ai/api/v1/generations \
-H "Authorization: Bearer $MELOLAB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model_id":"suno/v5-5","prompt":"warm lofi beat for a focus playlist"}'最近の生成ジョブを一覧表示します。
curl -X GET https://melolab.ai/api/v1/generations \
-H "Authorization: Bearer $MELOLAB_API_KEY"生成をポーリングし、完了後にそのトラックを返します。
curl -X GET https://melolab.ai/api/v1/generations/gen_123 \
-H "Authorization: Bearer $MELOLAB_API_KEY"非同期ジョブ(音楽、ステム分離、ボーカル除去)をポーリングし、プロバイダーの完了後に出力を返します。
curl -X GET https://melolab.ai/api/v1/jobs/job_123 \
-H "Authorization: Bearer $MELOLAB_API_KEY"ライブラリ
再生可能なトラックとプレイリストを検索し、個々のトラックやプレイリストの詳細を取得します。
自分の非公開アイテムを含め、再生可能なトラックとプレイリストを検索します。
curl -X GET https://melolab.ai/api/v1/library/search?q=lofi \
-H "Authorization: Bearer $MELOLAB_API_KEY"トラックの再生用メタデータを返します。
curl -X GET https://melolab.ai/api/v1/tracks/track_123 \
-H "Authorization: Bearer $MELOLAB_API_KEY"利用可能なプレイリストを一覧表示します。
curl -X GET https://melolab.ai/api/v1/playlists \
-H "Authorization: Bearer $MELOLAB_API_KEY"プレイリストとそのトラックを返します。
curl -X GET https://melolab.ai/api/v1/playlists/playlist_123 \
-H "Authorization: Bearer $MELOLAB_API_KEY"Webhook
非同期ジョブが完了したときに通知を受け取る HTTPS エンドポイントを登録すれば、ポーリングは不要です。完全な署名シークレットはエンドポイント作成時に一度だけ表示されます。
有効な webhook エンドポイントを一覧表示します。
curl -X GET https://melolab.ai/api/v1/webhook-endpoints \
-H "Authorization: Bearer $MELOLAB_API_KEY"公開 HTTPS の webhook エンドポイントを登録します。署名シークレットは一度だけ返されます。
curl -X POST https://melolab.ai/api/v1/webhook-endpoints \
-H "Authorization: Bearer $MELOLAB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/melolab/webhook"}'webhook エンドポイントの URL またはステータスを更新します。
curl -X PATCH https://melolab.ai/api/v1/webhook-endpoints/wh_123 \
-H "Authorization: Bearer $MELOLAB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"status":"disabled"}'webhook エンドポイントを削除します。
curl -X DELETE https://melolab.ai/api/v1/webhook-endpoints/wh_123 \
-H "Authorization: Bearer $MELOLAB_API_KEY"ログ
過去 30 日間の API リクエストログを確認します。
過去 30 日間の API リクエストログを一覧表示します。
curl -X GET https://melolab.ai/api/v1/logs?limit=20 \
-H "Authorization: Bearer $MELOLAB_API_KEY"レート制限
読み取り系エンドポイントは 1 分あたり 600 回(1 日 50,000 回)。音楽生成は 1 分あたり 12 回(1 日 500 回)。認証は IP ごとに 1 分あたり 120 回です。制限を超えると 429 rate_limited を返します。
エラー
エラーは HTTP ステータスと { error: { code, message, request_id } } の JSON 本文を返します。サポートに連絡する際は request_id を添えてください。
| ステータス | コード | 意味 |
|---|---|---|
| 401 | authentication_required | Authorization ヘッダーに API キーがありません。 |
| 401 | invalid_api_key | API キーが無効または取り消されています。 |
| 403 | insufficient_scope | API キーに必要なスコープがありません。 |
| 400 | invalid_request | リクエストの本文またはパラメーターが無効です。 |
| 400 | invalid_model | 指定されたモデル id が存在しません。 |
| 402 | insufficient_credits | この生成を作成するための MeloLab クレジットが不足しています。 |
| 409 | idempotency_conflict | Idempotency-Key が異なるリクエスト本文で再利用されました。 |
| 404 | not_found | 要求されたリソースが存在しないか、あなたのものではありません。 |
| 429 | rate_limited | リクエストが多すぎます。時間をおいて再試行してください。 |
| 502 | provider_unavailable | 上流プロバイダーが一時的に利用できません。 |