開発者

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 キーが無効または取り消されています。
401revoked_api_keyAPI キーは取り消されており、使用できません。
403api_terms_not_acceptedAPI 利用規約が承認されていないため、API アカウントはまだ利用できません。
403insufficient_scopeAPI キーに必要なスコープがありません。
400invalid_requestリクエストの本文またはパラメーターが無効です。
400invalid_model指定されたモデル id が存在しません。
402insufficient_creditsこの生成を作成するための MeloLab クレジットが不足しています。
400idempotency_key_requiredこのリクエストには Idempotency-Key ヘッダーが必要です。
409idempotency_key_conflictIdempotency-Key が異なるリクエスト形式で再利用されました。
409idempotency_conflictIdempotency-Key が異なるリクエスト本文で再利用されました。
409generation_concurrency_exceededこのアカウントでは実行中の生成ジョブが多すぎます。
404job_not_found指定されたジョブが存在しないか、このアカウントのものではありません。
404track_not_found指定されたトラックが存在しないか、このアカウントからアクセスできません。
404playlist_not_found指定されたプレイリストが存在しないか、このアカウントからアクセスできません。
404webhook_endpoint_not_found指定された webhook エンドポイントが存在しないか、あなたのものではありません。
400webhook_url_invalidwebhook URL が無効です。
400webhook_https_requiredwebhook エンドポイントは HTTPS を使用する必要があります。
400webhook_credentials_forbiddenwebhook URL に埋め込み認証情報を含めることはできません。
400webhook_host_blockedwebhook URL は localhost、プライベートアドレス、またはブロックされたホストを指すことはできません。
429rate_limitedリクエストが多すぎます。時間をおいて再試行してください。
502provider_unavailable上流プロバイダーが一時的に利用できません。
502provider_timeout上流プロバイダーがタイムアウトしました。
500generation_failed生成は受け付けられましたが、最終的に失敗しました。
500internal_error予期しない API プラットフォームエラーです。

無料で作成を開始

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

料金の詳細を見る
MeloLabMeloLab

ジャンル、ムード、楽器、歌詞を説明するだけで、ダウンロード可能なAI音楽を生成できます。

© 2026 MeloLab. 無断転載を禁じます。