開発者

API ドキュメント

MeloLab API で開発するために必要なすべて:認証、クレジット、生成、ジョブ、webhook、ライブラリ検索。

はじめに

すべてのリクエストは、Authorization: Bearer ヘッダーで API キーを使って認証します。ベース URL は https://melolab.ai です。読み取り系エンドポイントはクレジットを消費しません。生成の作成は既存の MeloLab クレジットを使用し、費用と返金のルールはウェブアプリと同じです。生成の作成時には Idempotency-Key ヘッダーを送ると再試行が安全になります。成功時のレスポンスは data オブジェクトに包まれ、エラーは code、message、request_id を返します。

アカウント

API プロフィール、クレジット残高、最近の利用状況を取得します。

GET/api/v1/meprofile:read

認証された API プロフィール(アカウントティアと API 利用可否を含む)を返します。

curl -X GET https://melolab.ai/api/v1/me \
  -H "Authorization: Bearer $MELOLAB_API_KEY"
GET/api/v1/creditscredits:read

既存の MeloLab クレジット残高を返します。クレジットは消費しません。

curl -X GET https://melolab.ai/api/v1/credits \
  -H "Authorization: Bearer $MELOLAB_API_KEY"
GET/api/v1/usageprofile:read

利用状況の概要と、最近の秘匿化済みリクエストイベントを返します。

curl -X GET https://melolab.ai/api/v1/usage \
  -H "Authorization: Bearer $MELOLAB_API_KEY"

モデル

利用可能な MeloLab モデルとそのクレジット費用を一覧表示します。

GET/api/v1/modelsmodels:read

利用可能な MeloLab モデルとそのクレジット費用を一覧表示します。

curl -X GET https://melolab.ai/api/v1/models \
  -H "Authorization: Bearer $MELOLAB_API_KEY"
GET/api/v1/models/{model_id}models:read

id で 1 つのモデルを返します。

curl -X GET https://melolab.ai/api/v1/models/suno/v5-5 \
  -H "Authorization: Bearer $MELOLAB_API_KEY"

生成

音楽生成を作成し、最近の生成を一覧表示し、ジョブが完了するまでポーリングします。

POST/api/v1/generationsgenerations:create

非同期の音楽生成を作成します。既存の 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"}'
GET/api/v1/generationsgenerations:read

最近の生成ジョブを一覧表示します。

curl -X GET https://melolab.ai/api/v1/generations \
  -H "Authorization: Bearer $MELOLAB_API_KEY"
GET/api/v1/generations/{id}generations:read

生成をポーリングし、完了後にそのトラックを返します。

curl -X GET https://melolab.ai/api/v1/generations/gen_123 \
  -H "Authorization: Bearer $MELOLAB_API_KEY"
GET/api/v1/jobs/{job_id}

非同期ジョブ(音楽、ステム分離、ボーカル除去)をポーリングし、プロバイダーの完了後に出力を返します。

curl -X GET https://melolab.ai/api/v1/jobs/job_123 \
  -H "Authorization: Bearer $MELOLAB_API_KEY"

ライブラリ

再生可能なトラックとプレイリストを検索し、個々のトラックやプレイリストの詳細を取得します。

GET/api/v1/library/searchlibrary:read

自分の非公開アイテムを含め、再生可能なトラックとプレイリストを検索します。

curl -X GET https://melolab.ai/api/v1/library/search?q=lofi \
  -H "Authorization: Bearer $MELOLAB_API_KEY"
GET/api/v1/tracks/{id}library:read

トラックの再生用メタデータを返します。

curl -X GET https://melolab.ai/api/v1/tracks/track_123 \
  -H "Authorization: Bearer $MELOLAB_API_KEY"
GET/api/v1/playlistslibrary:read

利用可能なプレイリストを一覧表示します。

curl -X GET https://melolab.ai/api/v1/playlists \
  -H "Authorization: Bearer $MELOLAB_API_KEY"
GET/api/v1/playlists/{id}library:read

プレイリストとそのトラックを返します。

curl -X GET https://melolab.ai/api/v1/playlists/playlist_123 \
  -H "Authorization: Bearer $MELOLAB_API_KEY"

Webhook

非同期ジョブが完了したときに通知を受け取る HTTPS エンドポイントを登録すれば、ポーリングは不要です。完全な署名シークレットはエンドポイント作成時に一度だけ表示されます。

GET/api/v1/webhook-endpoints

有効な webhook エンドポイントを一覧表示します。

curl -X GET https://melolab.ai/api/v1/webhook-endpoints \
  -H "Authorization: Bearer $MELOLAB_API_KEY"
POST/api/v1/webhook-endpoints

公開 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"}'
PATCH/api/v1/webhook-endpoints/{id}

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"}'
DELETE/api/v1/webhook-endpoints/{id}

webhook エンドポイントを削除します。

curl -X DELETE https://melolab.ai/api/v1/webhook-endpoints/wh_123 \
  -H "Authorization: Bearer $MELOLAB_API_KEY"

ログ

過去 30 日間の API リクエストログを確認します。

GET/api/v1/logs

過去 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 を添えてください。

ステータスコード意味
401authentication_requiredAuthorization ヘッダーに API キーがありません。
401invalid_api_keyAPI キーが無効または取り消されています。
403insufficient_scopeAPI キーに必要なスコープがありません。
400invalid_requestリクエストの本文またはパラメーターが無効です。
400invalid_model指定されたモデル id が存在しません。
402insufficient_creditsこの生成を作成するための MeloLab クレジットが不足しています。
409idempotency_conflictIdempotency-Key が異なるリクエスト本文で再利用されました。
404not_found要求されたリソースが存在しないか、あなたのものではありません。
429rate_limitedリクエストが多すぎます。時間をおいて再試行してください。
502provider_unavailable上流プロバイダーが一時的に利用できません。

無料で作成を開始

クレジットカード不要。数秒で作成を始められます。

料金の詳細を見る