ドキュメント

音声生成タスク

2026-08-30に更新

API 概要

Suno と FlowMusic の音楽生成は非同期処理です:

  1. 呼び出し POST /v1/audios/tasks タスクの送信
  2. レスポンス内の公開タスク ID を保存します
  3. 呼び出し GET /v1/tasks/{task_id} ステータスと結果の照会

Base URL は https://api.rokoapi.com/v1です。すべてのリクエストには Authorization: Bearer $API_KEY

利用可能なモデル

  • suno-v3.5
  • suno-v4
  • suno-v4.5
  • suno-v4.5-all
  • suno-v4.5-plus
  • suno-v5
  • suno-v5.5
  • flowmusic-lyria-3-pro
  • flowmusic-lyria-3.5

実際の利用可能な範囲は /v1/models および API キーが属するグループに基づきます。

FlowMusic Lyria で音楽を生成

FlowMusic ではモデルカタログに公開されたフィールドだけを使用します。prompt または metadata.lyrics の少なくとも一方を指定し、メタデータにないパラメータは送信しないでください。

{
  "model": "flowmusic-lyria-3.5",
  "prompt": "温かいストリングスと穏やかなピアノによるシネマティックなアンビエント音楽",
  "duration": 30,
  "metadata": {
    "lyrics": "[Verse]\nNeon rain falls softly tonight",
    "title": "Neon Rain",
    "bpm": 120,
    "seed": "42"
  }
}

楽曲の生成

curl https://api.rokoapi.com/v1/audios/tasks \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-v5.5",
    "action": "generate",
    "mode": "easy",
    "prompt": "明るいギターと女性ボーカルによる軽快な夏のポップソング"
  }'

action 省略時のデフォルト値は generatemode 省略時のデフォルト値は easy

アドバンスドモード

{
  "model": "suno-v5.5",
  "action": "generate",
  "mode": "advanced",
  "lyrics": "[Verse]\nWalking through the neon rain...",
  "style": "synth-pop, female vocal, 120 bpm",
  "title": "Neon Rain",
  "instrumental": false
}

advanced モードでは、promptlyricsstyle を少なくとも 1 つ指定してください。 lyrics_model を設定する場合は、 prompt

クリップの拡張

{
  "model": "suno-v5.5",
  "action": "extend",
  "continue_clip_id": "clip_123",
  "continue_at": 90,
  "prompt": "より力強いサビへ展開する"
}

extend 指定が必要です continue_clip_id および非負の continue_at

送信レスポンス

送信が成功すると HTTP 202

{
  "id": "task_public_id",
  "object": "audio.generation.task",
  "status": "queued",
  "upstream": "Suno Task API"
}

その後の照会では、常にここで示される公開 idを使用してください。上流の内部タスク ID は使用しないでください。

タスクの照会

curl https://api.rokoapi.com/v1/tasks/task_public_id \
  -H "Authorization: Bearer $API_KEY"

一般的なステータスには queuedin_progresscompleted および failedがあります。タスクが完了すると、結果に生成された音声の URL が含まれます。高頻度な照会を避けるため、ポーリング間隔を段階的に増加させることを推奨します。

結果のアーカイブとメディア URL

サーバー側でメディアアーカイブが有効な場合、タスクの成功はファイル URL が安定していることを意味しません。ダウンストリームでは、 archive_statusready(または部分的に成功した場合は partial)になるまでポーリングを続け、その後 assets[].url

アーカイブされた音声、カバー、動画、歌詞はプラットフォームの CDN(https://cdn.rokoapi.com)に転送され、推測できない公開 HTTPS URL が返されます。API Token の提示なしで直接アクセスできます。

保持期間

  • アーカイブメディアはデフォルトで 24 時間保持され、期限が過ぎるとオブジェクトが削除され、対応するアセットのステータスが expired
  • 各アセットの有効期限は assets[].expires_at(Unix 秒単位タイムスタンプ)を参照してください。
  • ダウンストリームで長期利用が必要な場合は、24 時間以内にダウンロードして自前のストレージに転送してください。プラットフォームの CDN URL を永続リンクとして扱わないでください。
  • archive_statusexpired 後、元の assets[].url 利用できなくなります。

クエリ応答の例:

{
  "code": "success",
  "data": {
    "task_id": "task_public_id",
    "status": "SUCCESS",
    "progress": "100%",
    "result_url": "https://cdn.rokoapi.com/media/2026/07/abcdef.mp3",
    "archive_status": "ready",
    "assets": [
      {
        "output_id": "clip-1",
        "kind": "audio",
        "title": "Neon Rain",
        "url": "https://cdn.rokoapi.com/media/2026/07/abcdef.mp3",
        "content_type": "audio/mpeg",
        "size": 3456789,
        "expires_at": 1753862400,
        "status": "ready"
      },
      {
        "output_id": "clip-1",
        "kind": "cover",
        "title": "Neon Rain",
        "url": "https://cdn.rokoapi.com/media/2026/07/coverxyz.jpg",
        "content_type": "image/jpeg",
        "expires_at": 1753862400,
        "status": "ready"
      },
      {
        "output_id": "clip-1",
        "kind": "lyrics",
        "title": "Neon Rain",
        "url": "https://cdn.rokoapi.com/media/2026/07/lyricsxyz.txt",
        "content_type": "text/plain; charset=utf-8",
        "expires_at": 1753862400,
        "status": "ready"
      }
    ]
  }
}

説明:

  • archive_statuspending / processing / ready / partial / failed / expired
  • assets:1回のタスクには複数の clip が含まれる場合があり、各 clip には audiocovervideolyrics
  • result_url:最初のアーカイブ済み音声の公開 URL。アーカイブ完了前は、上流の一時 URL のままになる場合があります。
  • assets[].expires_at:このファイルの予定削除時刻。デフォルトでは、アーカイブ完了後約 24 時間です。
  • 公開メディア URL は推測できず、プラットフォーム Token の付与は不要です。デフォルトでは 24 時間保持された後に削除されます**
  • 下流サイトでは、アーカイブ後の公開 URL のみを保存し(期限切れ前に転送してください)、上流の一時 CDN アドレスに依存しないでください。

ポーリングの推奨事項:

# タスク成功後も archive_status=ready になるまでポーリングを続ける
curl https://api.rokoapi.com/v1/tasks/task_public_id \
  -H "Authorization: Bearer $API_KEY"

パラメータ

パラメータ説明
modelstringSuno モデル ID、必須
actionstringgenerate または extend
modestring生成モード:easy または advanced
promptstring自然言語による楽曲の説明
lyricsstringカスタム歌詞
stylestringジャンル、ムード、楽器などの説明
instrumentalboolean純音楽を生成するかどうか
titlestring楽曲タイトル
vocal_genderstring任意のボーカル性別の指定
continue_clip_idstring継続生成の元クリップ ID
continue_atnumber元クリップの指定秒数から継続生成します。負の値は指定できません。
timeout_msinteger上流タスクのタイムアウト。範囲は 10,000〜7,200,000 ミリ秒です。

課金

Suno の各バージョンはデフォルトで回あたりの課金制です。現在のコードのデフォルト価格は回あたり $0.06 です。 $0.06。コンソールのモデル価格とグループ倍率はデフォルト値を上書きできます。料金ページに表示される内容が優先されます。

旧版 Suno API との違い

/v1/audios/tasks 使用 suno-v* モデル ID と統一タスククエリ API。旧版 /suno/submit 使用 suno_musicsuno_lyrics などのモデル名。2 つの API とモデル名は混在して使用できません。

よくあるエラー

  • 400:パス、action、mode、または必須パラメータが正しくありません。
  • 403:キーのグループにモデル権限がないか、残高が不足しています。
  • 404:タスク ID が存在しないか、モデルが利用可能なチャネルで有効化されていません。
  • 502:上流から無効な応答が返されたか、タスクサービスが一時的に利用できません。