Panduan cepat

Diperbarui 2026-09-18 · tim Suno-API

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 dari suno-v2 sampai suno-v5-5 sudah dinonaktifkan: masih bisa muncul di tugas lama, tetapi tidak menerima permintaan baru.

Langkah 1: dapatkan kunci API

  1. Buka https://www.suno-api.io.
  2. Klik Dapatkan kunci API lalu mendaftar. Cukup e-mail, tanpa nomor telepon.
  3. Di konsol, buka pengelolaan token dan buat kunci.
  4. 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

Langkah berikutnya

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