
チュートリアル
PythonでSuno APIを使う方法:ステップバイステップチュートリアル

EvoLink Team
Product Team
2026年3月28日
4 分
PythonでSuno APIを使う方法:ステップバイステップチュートリアル
メタディスクリプション: Suno APIを使ったAI音楽生成の実践的なPythonチュートリアル。非同期タスクの送信、結果のポーリング、カスタム歌詞の実装方法を学びましょう。
まとめ
- 目標:Pythonを使ってAI音楽トラック(ボーカル+楽器)を生成
- パターン:非同期タスクAPI(送信 → ポーリング → 結果取得)
- 前提条件:EvoLink APIキー、Python 3.x、
requestsライブラリ - 主要モデル:
suno-v5-beta、suno-v4.5-beta - チュートリアル:ステップ1に直接ジャンプ
ステップ1:インストール
HTTP通信のために
requests ライブラリが必要です。pip install requestsステップ2:基本ワークフロー(非同期パターン)
標準的なテキストモデルとは異なり、Suno音楽生成には20〜45秒かかります。そこで非同期タスクパターンを使用します:
- タスク送信:
/v1/audios/generationsへのPOSTリクエスト - タスクID取得:APIが即座に
idを返却 - ステータスポーリング:ステータスが
completedになるまで/v1/tasks/{task_id}へGETリクエスト - 結果ダウンロード:
result_data[0].audio_urlから生成されたオーディオURLを取得

ステップ3:Python実装
1. クライアントの初期化
import requests
import time
API_KEY = "sk-your-evolink-key"
BASE_URL = "https://api.evolink.ai/v1"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}2. 生成タスクの送信
def submit_suno_task(prompt, model="suno-v5-beta"):
url = f"{BASE_URL}/audios/generations"
payload = {
"model": model,
"prompt": prompt
}
response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()
# Returns the 'id' field
return response.json()["id"]
task_id = submit_suno_task("Upbeat pop song for Instagram Reels, energetic vocals")
print(f"Task submitted: {task_id}")3. 結果のポーリング
def get_song_result(task_id):
url = f"{BASE_URL}/tasks/{task_id}"
while True:
response = requests.get(url, headers=headers)
data = response.json()
status = data["status"]
if status == "completed":
# Access result from result_data list
return data["result_data"][0]["audio_url"]
elif status == "failed":
raise Exception(f"Task failed: {data.get('error')}")
print("Still generating...")
time.sleep(5) # Poll every 5 seconds
song_url = get_song_result(task_id)
print(f"Song ready: {song_url}")ステップ4:高度な機能
カスタム歌詞の使用
標準タグを使って歌詞を構造化することで、楽曲構成をより細かく制御できます。
lyrics_prompt = """
[Verse 1]
Walking down the street, feeling the beat
City lights are shining, life is so sweet
[Chorus]
We're alive tonight, dancing in the moonlight
Everything's alright, we're shining so bright
"""
task_id = submit_suno_task(lyrics_prompt)Personaの適用
persona_id パラメータを使用して、生成間で一貫したボーカルスタイルを維持できます(v4以上が必要)。カスタム構造を有効にするには custom_mode=True を設定してください。payload = {
"model": "suno-v5-beta",
"prompt": "Pop song",
"persona_id": "your-persona-id",
"custom_mode": True
}トラブルシューティングとFAQ
Q:「Task failed」エラーが出るのはなぜですか?
A:プロンプトの長さとスタイルパラメータが現在のドキュメント基準に従っているか確認してください。アカウントに十分なクレジットがあることも確認してください。
Q:タイムアウトの処理方法は?
A:同期的なブロッキングコードは使用しないでください。常にポーリングループを実装するか、Webhookコールバックを使用してください(大量処理のアプリケーションに推奨)。
Q:モデルを変更できますか?
A:はい。より高速・低コストの生成には
suno-v4.5-beta を、スタジオ品質のオーディオには suno-v5-beta をお使いください。生成を始めましょう
コーディングの準備はできましたか?
- APIキーを取得
- ステップ3のPythonスニペットをコピー
- 実行してAI音楽の生成を開始
SEOキーワード: Suno APIの使い方、Suno APIチュートリアル、Suno API Python、AI音楽生成 Python
内部リンク:


