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.
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" \
-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 |
| 403 | Tidak punya izin, biasanya saldo kurang | Isi ulang akun |
| 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"
}
}
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.
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