tunova について
tunovaは、開発者やMCPクライアント向けのSuno AI音楽生成SDKとホスト型MCPサービスです。v5.5に対応し、非同期で生成して成功時のみ課金します。
主な機能
- 01Suno v5.5による音楽生成
- 02PythonとNode/TypeScript SDK
- 03ジョブの送信と結果のポーリング
- 04コールバックURLと署名付きWebhook
- 05失敗時は課金なし
活用シーン
- 01MCPクライアントから楽曲を生成
- 02PythonやNodeのプロジェクトから音楽生成を呼び出す
- 03Webhookで非同期ジョブの結果を受信
MCP 対応
ホスト型のStreamable HTTP MCPサービスは、Tunova APIキーを使い、generate_song、wait_for_song、check_songツールを提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.tunova.ai/mcpclaude mcp add --transport http erliona-tunova https://api.tunova.ai/mcp{"mcpServers":{"erliona-tunova":{"type":"http","url":"https://api.tunova.ai/mcp"}}}Cursor で開く{"servers":{"erliona-tunova":{"type":"http","url":"https://api.tunova.ai/mcp"}}}VS Code で開く{"mcpServers":{"erliona-tunova":{"type":"http","url":"https://api.tunova.ai/mcp"}}}{"mcpServers":{"erliona-tunova":{"serverUrl":"https://api.tunova.ai/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://api.tunova.ai/mcp認証が必要ツール
3| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| tags | string | いいえ | スタイル/ジャンル。例:'lofi hip hop, mellow, rainy'。カスタムモードで最も役立ちます。 |
| model | enum | いいえ | Sunoモデル:v6、または互換性エイリアスとしてのv5.5(v6を指します)。任意。アカウントのデフォルト設定は変更されません。v6 | v5.5 |
| title | string | いいえ | 曲のタイトル(カスタムモード)。 |
| custom | boolean | いいえ | false(デフォルト):曲の内容を説明すると、Suno がすべて作成します。true:`prompt` は歌詞そのもので、`tags`/`title` を使用します。 |
| prompt | string | はい | 曲のテーマ(シンプルモード)、または正確な歌詞(custom=true の場合)。 |
| instrumental | boolean | いいえ | true の場合、ボーカルなしで生成します。 |
| idempotency_key | string | いいえ | 任意の論理リクエスト ID。同じ値を再利用すると、1 回の送信を復元できます。同じ曲を意図的に再生成する場合や、ジョブが最終的に失敗した後に再試行する場合は、新しい値を使用します。省略すると、Tunova は曲の引数から安定したキーを導出し、安全な自動再試行を可能にします。 |
詳細
Tunova SDK
Tunova の音楽 API 向けの、依存関係ゼロの小さなクライアントと MCP マニフェストです — シンプルな REST または MCP インターフェースを使って、Suno(v5.5)で音楽を生成できます。 生成は非同期で、成功した場合にのみ課金されます。レンダリングに失敗した場合は、料金が自動的に返金されます。
- Python →
python/tunova.py— 標準ライブラリのみを使用。Python 3.8 以降に対応。 - Node / TypeScript →
node/tunova.ts— Node 18 以降に対応(fetchは組み込み)。 - MCP →
server.json—https://api.tunova.ai/mcpでホストされる Streamable-HTTP サーバー。
https://tunova.ai で API キーを取得できます(無料トークン 50 個、カード不要)。詳しいリファレンス: https://api.tunova.ai/docs · ライブステータス:https://tunova.ai/status。
Tunova は独立したサービスであり、Suno とは提携も推奨関係もありません。楽曲は有料の Suno プランから生成されます。ご利用の際は、用途に応じて Suno の利用規約をご確認ください。
Python
pip install tunova
from tunova import Tunova
t = Tunova("sk_live_…")
job = t.generate("warm lo-fi piano to study to", model="v5.5")
print(job["clips"][0]["audio_url"] if job["status"] == "complete" else job["error"])
インストールせずに使いたい場合は、python/tunova.py は標準ライブラリのみを使用するため、このファイルだけを同梱して import できます。
Node / TypeScript
npm i tunova
import { Tunova } from "tunova";
const t = new Tunova(process.env.TUNOVA_API_KEY!);
const job = await t.generate("warm lo-fi piano to study to", { model: "v5.5" });
console.log(job.status === "complete" ? job.clips[0]?.audio_url : job.error);
どちらの generate() 呼び出しもジョブを送信し、楽曲が配信されるまでポーリングします。処理を待たずに済ませたい場合は、
submit() に callback_url を指定して、HMAC 署名付きの Webhook を受け取ってください。
MCP — AI エージェントに音楽を作る力を与える
claude mcp add --transport http tunova https://api.tunova.ai/mcp \
--header "X-API-Key: sk_live_…"
ツール:generate_song · wait_for_song · check_song。同じ API キーを使用し、成功した場合にのみ課金されるルールも同じです。
Webhook の検証
callback_url を指定すると、Tunova は最終状態のジョブを X-Webhook-Signature: sha256=<hmac> ヘッダーとともに POST します。署名は <X-Webhook-Timestamp>.<rawBody> に対して計算され、whsec_… シークレット(ダッシュボードの API キーページで確認・ローテーションできます)を使用します。解析する前に、生のボディに対して検証してください — どちらの SDK にも検証関数(Tunova.verify_webhook / verifyWebhook)が含まれています。
ライセンス
MIT — LICENSE をご覧ください。SDK コードは自由にご利用いただけます。Tunova API のご利用には 利用規約が適用されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。