機能別

音楽

音楽はタスクとして実行されます:プロンプトを送信し、後で確認するかコールバックを受け取ります。まずはプロンプトだけで始めましょう。

#1. モデルを選ぶ

suno$0.07 / リクエスト制限とステータス

この用途で稼働中のモデルは 1 個です。切り替えると下のコードが変わります。

#2. リクエストをコピー

YOUR_API_KEY を自分のキーに置き換えて実行します。表示されているオプションは、このモデルが受け付けるものです。

POSThttps://www.aisplice.store/v1/music/generationsBearer API key非同期タスク

オプションこのモデルで公開されているオプションのみ表示しています。

# Requires curl and jq
API_KEY="${API_KEY:-YOUR_API_KEY}"

# 1. Submit once
SUBMITTED=$(curl --fail-with-body -sS https://www.aisplice.store/v1/music/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: model-docs-$(date +%s)-$$" \\
  -d '{
  "model": "Suno",
  "prompt": "An uplifting electronic track for a product launch",
  "operation": "music",
  "version": "v6",
  "custom": false,
  "instrumental": false
}')
TASK_ID=$(printf '%s' "$SUBMITTED" | jq -r '.task_id // .id // empty')
if [ -z "$TASK_ID" ]; then
  printf '%s\n' "$SUBMITTED" >&2
  exit 1
fi
echo "task_id=$TASK_ID"

# 2. Poll until terminal
while true; do
  STATUS_JSON=$(curl --fail-with-body -sS \
    "https://www.aisplice.store/v1/music/tasks/$TASK_ID" \
    -H "Authorization: Bearer $API_KEY")
  STATUS=$(printf '%s' "$STATUS_JSON" | jq -r '.status // empty' | tr '[:upper:]' '[:lower:]')
  echo "status=$STATUS"
  case "$STATUS" in
    completed|succeeded|success) break ;;
    failed|failure|cancelled|canceled)
      printf '%s\n' "$STATUS_JSON" | jq .
      exit 1
      ;;
  esac
  sleep 3
done

# 3. Fetch the final result
curl --fail-with-body -sS \
  "https://www.aisplice.store/v1/music/tasks/$TASK_ID/content" \
  -H "Authorization: Bearer $API_KEY" | jq .

すべてのパラメーター

このモデルが受け付けるすべてのフィールドと、指定できる値。

prompt
string任意

目的の結果を記述する指示。

レスポンスの流れ

タスクのステータス、終了状態、結果レスポンスの例。

送信
{
  "id": "task_xxx",
  "task_id": "task_xxx",
  "object": "music.task",
  "model": "Suno",
  "status": "queued"
}

待機中

queued · submitted · in_progress · processing

成功

completed · succeeded · success

失敗

failed · failure · cancelled · canceled

すべてのフィールド:API リファレンスの /v1/music →

#3. 結果を取得

送信するとすぐに task_id が返ります。status が completed になるまで数秒ごとにタスクを確認するか、webhook_url を渡せば完了時にこちらから呼び出します。

GET https://www.aisplice.store/v1/music/tasks/{task_id}

GET https://www.aisplice.store/v1/music/tasks/{task_id}/content

成功した場合のみ課金

失敗またはキャンセルされたタスクは自動で返金されます。各タスクの最終的な費用はリクエストログで確認できます。

ステータスの値とポーリング →確認する代わりにコールバックを受け取る →

#うまくいかないとき

  • フィールド名付きの 400:そのオプションはこのモデルでは受け付けられません。手順 2 に表示される値を使ってください。
  • モデルがコンテンツを拒否した場合:プロンプトを言い換えてください。拒否されたリクエストは課金されません。
  • 402:残高がこのリクエストに足りません。ウォレットでチャージしてから再試行してください。
  • 429:ペースを落とし、Retry-After の秒数が経ってから再試行してください。
  • 503 model_not_found:モデル名が間違っているか、モデルがオフラインです。手順 1 から選び直してください。

その他のエラーを調べる →

プロダクトに組み込む最初にユーザーに見せるオプションと、後回しにするオプション。
最初にユーザーに見せるべき選択肢まずはプロンプトと料金に影響する設定を 1 つだけ用意し、基本フローが動いてから残りを追加します。+

創作の意図

prompt のようなフィールドは、変更による結果をユーザーが直接理解できるため、UI に置くべきです。

コストの倍率要因

duration、resolution、size、count のようなフィールドは、料金をすでに説明できる状態になってから導入してください。

モード切り替え

image、mask、継続用の ID のようなフィールドはワークフロー自体を変えるため、専用のモードでのみ表示してください。

システム内部の設定

webhook_secret のようなフィールドは日常的なクリエイターではなく統合する開発者向けなので、デフォルトの UI には含めないでください。

  • prompt
    表示するタイミング
    常に。音楽生成に最低限必要な入力です。
    推奨デフォルト
    UI で必須にします。
    重要な理由
    テーマ、ジャンル、感情の方向性を伝えます。
  • instrumental / make_instrumental
    表示するタイミング
    ボーカルありとインストゥルメンタルの出力をプロダクトで明確に区別する場合に表示します。
    推奨デフォルト
    ユーザーがボーカルありとインストゥルメンタルを選ぶ場合を除き、サーバー側で設定します。
    重要な理由
    出力の種類が変わるため、明確なビジネス上の選択に対応させるべきです。
  • title / tags
    表示するタイミング
    プロンプトのみの生成をユーザーが理解してから表示します。
    推奨デフォルト
    任意の詳細フィールドとして扱います。
    重要な理由
    スタイルの調整に役立ちますが、初回の生成成功を妨げるべきではありません。
  • version / mv
    表示するタイミング
    ユーザーがモデルファミリーや生成モードを選ぶ必要がある場合のみ表示します。
    推奨デフォルト
    推奨バージョンを 1 つサーバー側で固定します。
    重要な理由
    判断の負担が増えるため、通常は運用者向けの設定に置きます。
  • continue_clip_id / continue_at
    表示するタイミング
    継続や延長のワークフローでのみ表示します。
    推奨デフォルト
    通常の作成フローでは非表示にします。
    重要な理由
    上級者向けの設定なので、早い段階で見せると初めてのユーザーが混乱します。
recommended-rollout.txt
Phase 1
- prompt
- one size or one duration default
- submit -> poll -> content

Phase 2
- one quality or resolution selector
- clear pricing hint

Phase 3
- advanced controls such as reference media, continuation, webhook, or vendor-specific tuning

結果の信頼できる情報源は 1 つに

タスクが完了したら、/content が返すプラットフォーム URL を基準にアプリを統一してください。上流ベンダーの詳細を隠せるうえ、過去の再生も安定します。

まだ解決しませんか?

リクエスト ID かエラーメッセージを送っていただければ、こちらで調査します。