Panduan cepat
Panduan ini membawa Anda dari membuat kunci API sampai lagu pertama, memeriksa kemajuan, dan mengunduh audionya dalam sekitar lima menit. Semua contoh bisa disalin dan dijalankan apa adanya.
Model bawaan saat ini adalah
suno-v6. Model pembuatan lagu darisuno-v2sampaisuno-v5-5sudah dinonaktifkan: masih bisa muncul di tugas lama, tetapi tidak menerima permintaan baru.
Buka asisten AI Anda dan kirim kalimat berikut. AI akan mengikuti onboarding Agent Kit dan menyelesaikan penyiapan.
Unduh, pasang, dan konfigurasikan suno-api agent kit dari alamat ini https://www.suno-api.io/suno-agent-kit.zip
Direkomendasikan: biarkan AI menyelesaikan integrasi
AI akan membaca 00_START_HERE.md dan membantu pendaftaran, menyimpan API Key, memeriksa saldo, menjelaskan semua fitur, serta pembuatan pertama. Tindakan berbayar dikonfirmasi lebih dulu dan timeout tidak dikirim ulang otomatis.
Langkah 1: dapatkan kunci API
- Buka https://www.suno-api.io.
- Klik Dapatkan kunci API lalu mendaftar. Cukup e-mail, tanpa nomor telepon.
- Di konsol, buka pengelolaan token dan buat kunci.
- Salin segera — kunci hanya ditampilkan sekali. Isi saldo dengan kode penukaran sebelum panggilan berbayar pertama.
Langkah 2: siapkan permintaan
Semua panggilan memakai alamat dasar dan header yang sama:
POST https://www.suno-api.io
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Langkah 3: kirim permintaan pertama
Contoh 1 — membuat dari deskripsi
Jelaskan musiknya, lalu API menulis lirik, melodi, dan aransemennya:
curl -X POST https://www.suno-api.io/api/music/create \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
--max-time 300 \
-d '{
"description": "lagu folk ceria tentang hari pertama musim semi",
"model": "suno-v6"
}'
Respons:
[
{
"song_id": "abc123",
"status": "pending",
"song_title": "Kisah Musim Semi",
"description": "lagu folk ceria tentang hari pertama musim semi",
"created_at": "2026-04-22T10:30:00Z"
},
{
"song_id": "def456",
"status": "pending",
"song_title": "Langkah Musim Semi",
"description": "lagu folk ceria tentang hari pertama musim semi",
"created_at": "2026-04-22T10:30:00Z"
}
]
Setiap kali dijalankan Anda mendapat dua versi berbeda untuk dipilih. Satu pembuatan berbiaya 0,6 ¥.
Contoh 2 — memeriksa kemajuan
Kirim song_id yang diterima ke endpoint kueri:
curl -X POST https://www.suno-api.io/api/music/query \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"song_ids": ["abc123", "def456"],
"model": "suno-v6"
}'
Saat tugas berjalan:
[
{
"song_id": "abc123",
"status": "processing",
"song_title": "Kisah Musim Semi",
"progress": "60%"
}
]
Saat selesai:
[
{
"song_id": "abc123",
"status": "completed",
"song_title": "Kisah Musim Semi",
"audio_url": "https://media.code-go.com/assets/abc123-mp3.mp3",
"video_url": "https://media.code-go.com/assets/abc123-mp4.mp4",
"cover_url": "https://media.code-go.com/assets/abc123-cover.jpg",
"duration": 168
}
]
status melewati pending, submitted, processing, lalu berakhir di completed. Alamat bisa
tetap kosong selama tugas berjalan: nilai berdasarkan status, bukan ada atau tidaknya
audio_url.
Langkah 4: unduh berkasnya
Ketika status bernilai completed, cukup minta audio_url. Unduhan MP3 dan WAV tidak terbatas
dan tidak menambah biaya. Kalau perlu audio tanpa kehilangan data untuk penyuntingan, gunakan
endpoint WAV.
Skenario umum
Musik latar untuk video
{
"description": "musik latar lo-fi tenang untuk video produk, tanpa vokal, dinamika stabil",
"instrumental": true,
"model": "suno-v6"
}
Dengan instrumental bernilai true, hasilnya tidak mengandung vokal.
Lirik dan gaya sendiri
{
"lyrics": "[Verse 1]\nLampu kota meredup perlahan\n\n[Chorus]\nKami terus melangkah",
"style": "acoustic pop, vokal wanita hangat, 92 BPM",
"model": "suno-v6"
}
Menanyakan sampai selesai
import time
import requests
API_KEY = "sk-your-key-here"
BASE = "https://www.suno-api.io"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
created = requests.post(
f"{BASE}/api/music/create",
headers=HEADERS,
json={"description": "lagu folk ceria tentang musim semi", "model": "suno-v6"},
).json()
song_ids = [track["song_id"] for track in created]
for _ in range(60):
time.sleep(10)
tracks = requests.post(
f"{BASE}/api/music/query",
headers=HEADERS,
json={"song_ids": song_ids, "model": "suno-v6"},
).json()
if all(track.get("status") == "completed" for track in tracks):
for track in tracks:
print(track["song_title"], track["audio_url"])
break
Penanganan kesalahan
Kode utama
| Kode | Arti | Yang harus dilakukan |
|---|---|---|
| 200 | Berhasil | Baca isi respons |
| 400 | Permintaan tidak valid — parameter hilang atau salah | Bandingkan dengan dokumentasi |
| 401 | Kunci tidak ada atau tidak valid | Periksa header Authorization |
| 402 | Saldo tidak cukup | Isi ulang lalu coba lagi |
| 403 | Kunci dinonaktifkan atau akun ditangguhkan | Hubungi dukungan |
| 429 | Batas permintaan | Kirim ulang dengan backoff eksponensial |
| 500 | Kesalahan server | Kirim ulang; jika berlanjut, hubungi dukungan |
Format kesalahan
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
Waktu tunggu dan timeout (penting): endpoint pembuatan bersifat sinkron — pesanan baru diterima dan diteruskan ke pembuatan saat respons tiba. Dari pengukuran, sebagian besar permintaan merespons dalam 1-3 detik, sekitar 10% melewati 30 detik, dan terlama sekitar 230 detik. Setel timeout klien 300 detik atau lebih (
--max-time 300pada contoh); tidak ada respons bukan berarti tidak ada yang dibuat, dan jangan mencoba ulang langsung setelah timeout (itu menduplikasi pesanan dan menagih dua kali). Jika koneksi terputus, periksa lagi nanti denganGET /api/music/songs. Lihat "Waktu tunggu dan pengaturan timeout" di Ringkasan API baru.
Praktik terbaik
- Simpan kunci di server, jangan pernah di peramban atau aplikasi yang dibagikan.
- Lakukan kueri setiap 10–15 detik, bukan dalam perulangan rapat.
- Simpan
song_id: itu satu-satunya pengenal untuk menemukan audio nanti. - Kirim ulang saat
429dan500; perbaiki penyebabnya sebelum mengirim ulang saat400dan401. - Pembuatan yang gagal dikembalikan otomatis, jadi tugas yang gagal tidak memakan biaya.
- Timeout klien: endpoint pembuatan baru dianggap diterima saat respons datang; setel timeout 300 detik atau lebih.
- Percobaan ulang: coba ulang hanya pada kegagalan yang jelas (4xx/5xx). Setelah timeout atau koneksi terputus, periksa dulu dengan
GET /api/music/songsapakah pesanan sudah diterima, agar tidak dobel dan tidak tertagih dua kali.
Langkah berikutnya
- Autentikasi — kunci, kesalahan, dan batas
- Model yang didukung — nama model, pemisahan stem, dan model yang dinonaktifkan
Dapatkan kunci API
Buat kunci API di konsol setelah mendaftar. Setiap pembuatan berbiaya 0,6 ¥ dan menghasilkan 2 lagu, unduhan tidak terbatas, dan nomor telepon tidak diperlukan.
Ambil kunci API Kembali ke ringkasan