Ringkasan dokumentasi Suno API

Diperbarui 2026-09-18 · tim Suno-API

Daftar dengan alamat email dan Anda sudah bisa membuat kunci API. Satu kali pembuatan berbiaya 0,6 ¥, menghasilkan 2 lagu, dan mencakup unduhan MP3/WAV, lagu cover, Extend, pemisahan stem, serta kloning suara. URL dasar: https://www.suno-api.io.

Halaman ini mencantumkan model yang tersedia saat ini, seluruh endpoint pembuatan dan pengeditan, cara penagihan, dan urutan baca yang disarankan. Jika Anda baru pertama kali berintegrasi, bacalah dari atas ke bawah; bagian penanganan masalah 401/403/429 juga ada di sini.

Jawaban singkat

Bagaimana cara mendapatkan kunci API? Daftar dengan alamat email, buka konsol, masuk ke manajemen token, lalu buat token. Tidak perlu nomor telepon dan tidak perlu kartu bank.

Berapa biaya satu panggilan? Satu kali pembuatan berbiaya 0,6 ¥ dan menghasilkan 2 lagu. Kueri status, WAV, lirik bertimestamp, dan saran prompt gratis.

Model apa yang didukung? suno-v6 (default), suno-v6-wild, dan suno-v6-mini. Model pembuatan standar v5.5 dan yang lebih lama sudah dihentikan; karya yang sudah ada tidak terpengaruh.

Apa URL dasarnya? https://www.suno-api.io, dengan header Authorization: Bearer YOUR_API_KEY.

Model yang tersedia saat ini

Model untuk pelanggan pada pembuatan lagu standar adalah suno-v6, suno-v6-wild, dan suno-v6-mini. Jika model dikosongkan, sistem memakai suno-v6.

Model standar suno-v2, suno-v3, suno-v3-5, suno-v4, suno-v4-5, suno-v4-5-all, suno-v4-5-plus, suno-v5, dan suno-v5-5 sudah dihentikan. Tugas lama mungkin masih menampilkan nama-nama itu; itu data riwayat, bukan tanda bahwa model tersebut masih bisa dipakai untuk permintaan baru. Pemisahan stem adalah pengecualian — lihat API pemisahan stem (pisah vokal/musik).

Autentikasi

Semua endpoint publik berkunci API memakai set header yang sama:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

URL dasar:

https://www.suno-api.io

Konvensi parameter umum

Batas kolom teks

Melebihi batas teks mengembalikan HTTP 400 secara langsung: tidak ada yang dibuat, tidak ada pre-charge, dan tidak ada catatan tugas yang dibuat. Perhitungannya per karakter Unicode (satu aksara Han dihitung 1) dan spasi di awal/akhir ikut dihitung.

Kolom (termasuk alias kompatibel yang didokumentasikan di tiap endpoint) Batas
prompt / lyrics / description / theme / gpt_description_prompt 3000 karakter
style_tags / tags / style / original_tags 1000 karakter
negative_tags 1000 karakter
song_title / title 100 karakter

Kolom message menyebutkan kolom mana yang melanggar beserta panjang terukurnya, jadi dua angka itu sudah cukup untuk memangkasnya:

{
  "error": {
    "message": "style_tags must not exceed 1000 characters; received 2772",
    "type": "invalid_request_error"
  }
}

Berlaku untuk: /api/music/create, /api/music/create/custom, /api/music/extend, /api/music/upload-cover, /api/music/generate-from-source, /api/music/add-instrumental, /api/music/add-vocal, /api/music/add-stem, /api/music/mashup, /api/music/sample, /api/music/inspo, /api/music/crop, /api/music/remove-section, /api/music/fade, /api/music/reverse, /api/music/speed, /api/music/replace-section, /api/music/generate-with-voice.

Satu pengecualian: kolom description pada POST /api/music/sounds dibatasi 100 karakter, karena jalur efek suara memakai batas platform yang lebih pendek.

Pembuatan asinkron dan alamat audio

Endpoint pembuatan musik secara default bekerja asinkron. Ketika respons pertama membawa status bernilai pending, submitted, atau processing, audio_url, video_url, atau cover_url yang kosong adalah hal normal dan bukan tanda tugas gagal. Simpan song_id yang asli (atau client_request_id yang dikembalikan endpoint) lalu panggil endpoint kueri yang sesuai; baca dan unduh alamat audio hanya setelah statusnya selesai.

⚠️ Alamat audio kedaluwarsa setelah 7 hari — pindahkan berkas Anda tepat waktu

audio_url, wav_url, video_url, dan alamat yang dikembalikan endpoint unduhan dilayani dari penyimpanan objek platform dan kedaluwarsa setelah 7 hari secara default (berkas didaur ulang; alamat lama mengembalikan 404 / gagal diunduh).

  • Dalam 7 hari itu, pindahkan berkas ke penyimpanan Anda sendiri (penyimpanan objek Anda, CDN, atau disk server). Jangan memperlakukan alamat kami sebagai tautan berumur panjang.
  • Alamat yang kedaluwarsa tidak perlu membuat ulang lagu dan tidak berbiaya tambahan: panggil lagi API kueri lagu (atau API unduh media) untuk memperoleh alamat baru yang masih berlaku bagi lagu tersebut.

Waktu tunggu dan pengaturan timeout

Endpoint pembuatan bersifat sinkron: pesanan baru diterima dan diteruskan ke platform untuk digenerate ketika responsnya tiba. Sebelum itu, layanan harus menjadwalkan akun dan melewati pemeriksaan keamanan yang diwajibkan, dan tidak ada respons antara — tidak ada endpoint lain yang bisa melihat pesanan tersebut. Jadi satu-satunya bukti andal bahwa "sesuatu sudah dibuat" adalah responsnya sendiri, bukan apa pun yang Anda amati selama menunggu.

Waktu tunggu terukur (keluarga /api/music/create di produksi, 2026-09-18 sampai 2026-09-20)

Persentil Waktu tunggu
p50 sekitar 1,2–1,6 detik
p75 sekitar 2–6 detik
p90 sekitar 42–49 detik
p95 sekitar 48–76 detik
p99 sekitar 109–160 detik
terlama sekitar 230 detik

Persyaratan integrasi

  1. Setel timeout klien 300 detik atau lebih. Klien yang default 30, 60, atau 120 detik akan memutus koneksi saat menunggu.
  2. Tidak ada respons bukan berarti tidak ada yang dibuat. Saat timeout atau koneksi terputus, pesanan bisa sudah diterima dan sedang digenerate.
  3. Jangan mencoba ulang langsung setelah timeout: pengiriman ganda membuat pesanan kedua dan menagih lagi.
  4. Jika koneksi terputus, daftarkan lagu Anda dengan GET /api/music/songs (terbaru dulu) beberapa saat kemudian — pesanan yang sudah diterima akan muncul normal. Kirim ulang hanya setelah Anda memastikan pesanan itu benar-benar tidak ada.
  5. Saat melaporkan masalah, sertakan header respons X-Oneapi-Request-Id agar permintaan itu bisa dilacak langsung.

Tidak mau menahan koneksi lama? Gunakan mode terima-tanda-terima. POST /api/music/create dan POST /api/music/create/custom mendukung tanda terima opsional: tambahkan "accept_mode": "async" ke body (atau header X-Accept-Mode: async) dan endpoint langsung mengembalikan 202 beserta nomor tanda terima sementara pembuatan berlanjut di latar belakang; panggil GET /api/music/requests/{request_id} untuk memantau kemajuannya. Klien yang timeout-nya hanya beberapa puluh detik jadi tidak salah membaca "tidak ada respons" sebagai "tidak ada yang dibuat", dan tidak bisa tertagih dua kali karena percobaan ulang. Lihat "Mode terima-tanda-terima" di API pembuatan mode sederhana.

Sebagai referensi: python requests memakai timeout=300, urllib memakai urlopen(..., timeout=300), Node memakai req.setTimeout(300000), curl memakai --max-time 300.

Daftar endpoint yang disarankan

Kemampuan Method Path Catatan biaya Dokumentasi
Saldo akun GET /api/user/balance Gratis Lihat
Pembuatan mode sederhana POST /api/music/create Berbayar, saat ini default 0,6 ¥ per panggilan Lihat
Pembuatan mode kustom POST /api/music/create/custom Berbayar; mendukung gender vokal, pengaruh gaya, dan tingkat keanehan Lihat
Pembuatan ucapan POST /api/music/speech Berbayar, saat ini default 0,6 ¥ per panggilan; musik latar opsional Lihat
Progres lewat tanda terima GET /api/music/requests/{request_id} Gratis; dipakai bersama accept_mode=async Lihat
Efek suara POST /api/music/sounds Berbayar, saat ini default 0,6 ¥ per panggilan Lihat
Pembuatan lirik POST /api/lyrics/generate Gratis dalam kuota (10/menit, 300/hari), setelah itu 0,1 ¥ per panggilan Lihat
Pembuatan profil suara (disarankan) POST /api/music/voice-profile/create Gratis (enhanced=true ditagih dengan harga unggah yang disempurnakan) Lihat
Cover dengan suara (disarankan) POST /api/music/voice-profile/cover 1,2 ¥ per panggilan; 2,4 ¥ dengan Max Mode Lihat
Daftar / detail / hapus suara (disarankan) GET/POST /api/music/voice-profile/list, /{voice_id}, /delete Gratis Lihat
Kloning suara (jalur lama, tidak disarankan) POST /api/voice/clone/validate Gratis Lihat
Kueri tugas kloning suara GET /api/voice/clone/tasks/:voice_task_id Gratis Lihat
Buat ulang teks verifikasi POST /api/voice/clone/tasks/:voice_task_id/regenerate Gratis Lihat
Kirim audio verifikasi dan buat suara POST /api/voice/clone/tasks/:voice_task_id/generate Ditagih menurut aturan kloning suara Lihat
Periksa apakah suara hasil kloning bisa dipakai POST /api/voice/clone/tasks/:voice_task_id/check Gratis Lihat
Hapus suara hasil kloning DELETE /api/voice/clone/voices/:voice_task_id Gratis Lihat
Buat musik dengan suara pilihan POST /api/music/generate-with-voice Berbayar, 1,2 ¥ per panggilan; 2,4 ¥ dengan Max Mode Lihat
Kueri hasil pembuatan dengan suara pilihan GET /api/music/generate-with-voice/results Gratis Lihat
Penguatan gaya POST /api/music/boost-style Gratis dalam kuota (10/menit, 300/hari), setelah itu 0,1 ¥ per panggilan Lihat
Saran prompt POST /api/prompts/suggestions Gratis dalam kuota (10/menit, 300/hari), setelah itu 0,1 ¥ per panggilan Lihat
Unggah audio sumber POST /api/music/upload-source Gratis Lihat
Kirim unggahan yang disempurnakan POST /api/music/enhanced-upload Berbayar, 10 ¥ per panggilan Lihat
Daftar tugas unggahan yang disempurnakan GET /api/music/enhanced-upload Gratis Lihat
Kueri satu tugas unggahan yang disempurnakan GET /api/music/enhanced-upload/:id Gratis Lihat
Batalkan tugas unggahan yang disempurnakan POST /api/music/enhanced-upload/:id/cancel Gratis; hanya tahap yang bisa dibatalkan yang direfund Lihat
Unggah lalu cover POST /api/music/upload-cover Berbayar, saat ini default 0,6 ¥ per panggilan; untuk audio besar sebaiknya pakai dua langkah upload-source + generate-from-source Lihat
Cover dari klip sumber POST /api/music/generate-from-source Berbayar, saat ini default 0,6 ¥ per panggilan Lihat
Extend POST /api/music/extend Berbayar, saat ini default 0,6 ¥ per panggilan Lihat
Replace Section POST /api/music/replace-section Berbayar, saat ini default 0,6 ¥ per panggilan Lihat
Get Full Song POST /api/music/concat Berbayar, tetap 0,05 ¥ per panggilan Lihat
Remaster POST /api/music/remaster Berbayar, saat ini default 0,6 ¥ per panggilan Lihat
Tambah instrumental POST /api/music/add-instrumental Berbayar, ditagih menurut model yang diminta Lihat
Tambah vokal POST /api/music/add-vocal Berbayar, ditagih menurut model yang diminta Lihat
Tambah stem POST /api/music/add-stem Berbayar, ditagih menurut model yang diminta Lihat
Mashup POST /api/music/mashup Berbayar, ditagih menurut model yang diminta Lihat
Sample POST /api/music/sample Berbayar, ditagih menurut model yang diminta Lihat
Inspo POST /api/music/inspo Berbayar, ditagih menurut model yang diminta Lihat
Crop POST /api/music/crop Berbayar, ditagih menurut model yang diminta Lihat
Hapus bagian POST /api/music/remove-section Berbayar, ditagih menurut model yang diminta Lihat
Fade in/out POST /api/music/fade Berbayar, ditagih menurut model yang diminta Lihat
Balik arah POST /api/music/reverse Berbayar, ditagih menurut model yang diminta Lihat
Ubah kecepatan POST /api/music/speed Berbayar, ditagih menurut model yang diminta Lihat
Pemisahan stem (pisah vokal/musik) POST /api/music/separate Berbayar; two default 0,6 ¥ per panggilan, twelve 3,0 ¥ Lihat
Hilangkan vokal POST /api/music/vocal-removal Gratis Lihat
Hapus stem POST /api/music/stem-delete Gratis Lihat
Buat / ambil WAV POST /api/music/wav Gratis Lihat
Ambil MIDI POST /api/music/download-file (kind=midi) Gratis Lihat
Alamat media / stream pratinjau POST /api/music/download-url, /api/music/generation-stream-url Gratis Lihat
Unduh berkas lagu POST /api/music/download-file Gratis Lihat
Unduh paket lagu POST /api/music/download-all Gratis Lihat
Alamat unduh stabil GET /api/music/download Gratis Lihat
Unduhan free2 POST /api/music/free2 Berbayar, 0,2 ¥ per lagu yang berhasil Lihat
Kueri status satu lagu POST /api/music/query Gratis Lihat
Riwayat lagu akun GET /api/music/songs Gratis Lihat
Parameter pembuatan lagu GET /api/music/songs/:song_id Gratis Lihat
Lirik bertimestamp POST /api/lyrics/timeline Gratis Lihat
Kelayakan lisensi dan identitas GET /api/music/authorization/context Gratis Lihat
Ikat identitas lisensi POST /api/music/authorization/identity Gratis; tidak bisa diubah setelah dikonfirmasi Lihat
Daftar lagu yang bisa dilisensikan GET /api/music/authorization/songs Gratis; wajib mengikat identitas Lihat
Terbitkan lisensi komersial POST /api/music/authorization/certificates Gratis; wajib memenuhi kelayakan Lihat
Riwayat lisensi GET /api/music/authorization/certificates Gratis Lihat
Detail lisensi GET /api/music/authorization/certificates/:id Gratis Lihat
Unduh PDF lisensi GET /api/music/authorization/certificates/:id/download Gratis Lihat

/api/voice/clone/* dan /api/music/generate-with-voice adalah jalur kloning suara generasi awal dan tidak disarankan untuk integrasi baru; gunakan 【Disarankan】 API profil suara sebagai gantinya.

Parameter lanjutan: Max Mode dan Variety

Endpoint pembuatan mendukung dua parameter opsional ini (mengosongkannya mempertahankan perilaku dan harga sebelumnya):

Parameter Tipe Rentang Catatan
max_mode boolean true / false Memakai komputasi lebih banyak untuk meningkatkan konsistensi sepanjang lagu; permintaan ini ditagih 2× harga
variety integer 0-4 Tingkat variasi gaya: 0=Mati, 1=Normal, 2=Tinggi, 3=Ekstra, 4=Maksimal. Kosongkan untuk memakai tingkat default model (keluarga v6 default 1); tanpa biaya tambahan

Kedua parameter ini didukung oleh: POST /api/music/create, POST /api/music/create/custom, POST /api/music/extend, POST /api/music/upload-cover, POST /api/music/generate-from-source, POST /api/music/add-instrumental, POST /api/music/add-vocal, POST /api/music/add-stem, POST /api/music/mashup, POST /api/music/sample, POST /api/music/inspo, POST /api/music/replace-section, POST /api/music/voice-profile/cover, POST /api/music/speech.

Kolom respons lagu yang umum

Endpoint pembuatan, cover, extend, pemisahan, dan kueri biasanya mengembalikan array lagu dengan kolom berikut:

Kolom Tipe Catatan
song_id string ID lagu atau tugas
song_title string Judul lagu
status string Status seperti pending, completed, failed
audio_url string Alamat audio, dikembalikan setelah pembuatan selesai
video_url string Alamat video, bisa kosong
cover_url string Alamat gambar sampul
lyrics string Teks lirik
style_tags string Tag gaya
duration number Durasi audio dalam detik
created_at string Waktu pembuatan
model_version string Versi model
generation_type string Jenis pembuatan
error_message string Alasan kegagalan

Empat langkah berintegrasi (contoh minimal yang berjalan)

Lakukan keempat langkah ini dan Anda sudah punya lagu pertama; daftar kolom lengkap tiap langkah ada di halaman yang sesuai pada daftar endpoint yang disarankan.

# 1) Kirim permintaan pembuatan: 0,6 ¥, menghasilkan 2 lagu
curl -X POST https://www.suno-api.io/api/music/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"description": "bright Mandarin pop, piano intro, warm female vocal", "model": "suno-v6"}'

# 2) Polling tugas sampai status completed (interval 3-5 detik sudah bagus)
curl -X POST https://www.suno-api.io/api/music/query \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "song_id yang dikembalikan di langkah 1"}'

# 3) Ambil alamat media: endpoint baca semuanya gratis; tersedia song / wav / video / cover / midi
curl -X POST https://www.suno-api.io/api/music/download-url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "song_id yang sama", "kind": "song"}'

Jika ada masalah: 401 / 402 / 403 / 429 dibahas di referensi kesalahan; timeout dan tagihan ganda di bagian "Waktu tunggu dan pengaturan timeout" di atas; detail per endpoint di daftar endpoint yang disarankan di bawah.

Rekomendasi

Tentang dokumentasi ini

Halaman ini disusun ulang mengikuti kemampuan yang benar-benar ditampilkan Create UI, dan integrasi baru sebaiknya membacanya lebih dulu. Dokumentasi API lama masih tersedia di bagian "Dokumentasi API lama (kompatibel)" bagi pemanggil yang ingin terus memakainya.

BerikutnyaAPI kueri saldo akun

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