suno-api
Suno menciptakan musik dari gagasan tertulis singkat. Alur kerja otomatis yang didokumentasikan menghasilkan dua lagu dan mencakup pilihan instrumental, dengan audio yang telah selesai serta metadata lagu dikembalikan melalui tugas pembuatan.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
Suno adalah layanan pembuat musik yang mengubah gagasan tertulis menjadi lagu. Alur kerja otomatis yang didokumentasikan menerima deskripsi singkat tentang musik yang diinginkan dan pilihan instrumental, lalu menghasilkan dua lagu. Gunakan arahan untuk menetapkan tema, suasana, dan arah musikal yang ingin Anda dengar dalam lagu yang telah selesai.
Mulailah dari peran yang harus dimainkan musik. Musik latar yang tenang untuk penjelasan, pembukaan yang energik untuk video singkat, atau lagu reflektif tentang perjalanan masing-masing memberi tujuan yang konkret pada arahan. Jelaskan suasana yang diinginkan dan ciri musikal yang penting bagi tujuan tersebut dalam beberapa frasa yang jelas.
Untuk lagu dengan vokal, jelaskan tema dan bahasa dalam arahan kreatif. Uraikan gagasan yang harus disampaikan lagu dan nuansa yang harus disampaikan melalui pembawaannya. Dengarkan hasil yang telah selesai untuk menilai bagaimana vokal, lirik, dan aransemen bekerja bersama. Simpan informasi lagu yang dihasilkan bersama audio untuk peninjauan.
Untuk hasil instrumental, gunakan pilihan instrumental yang didokumentasikan dan jelaskan arah musikal dalam teks. Nyatakan suasana yang diinginkan dan instrumen yang menonjol jika penting bagi proyek. Tinjau lagu yang telah selesai sesuai perannya dalam penyuntingan, termasuk bagian yang perlu menjadi latar bagi tuturan atau mendukung transisi visual.
Alur kerja otomatis menghasilkan dua lagu dari gagasan yang dikirimkan. Perlakukan keduanya sebagai kandidat yang berbeda dan simpan kedua berkas audio yang telah selesai. Dengarkan setiap lagu dari pembukaan, perkembangan, hingga bagian akhir. Bandingkan lagu yang benar-benar dihasilkan berdasarkan tujuan yang sama, termasuk suasana, aransemen, dan kesesuaian untuk penggunaan yang direncanakan.
Pembuatan diatur sebagai suatu tugas. Simpan ID tugas yang dikembalikan saat memeriksa hasilnya dan bedakan lagu yang telah selesai dari yang masih diproses. Hasil yang didokumentasikan mencakup informasi per lagu, seperti judul, status, lokasi audio, dan durasi. Simpan audio yang telah selesai itu sendiri bersama metadata yang tersedia dan arahan awal.
Untuk video atau presentasi, uji kesesuaian musik yang dipilih dengan memutarnya bersama materi yang sebenarnya. Periksa pembukaan, transisi, dan bagian akhir pada tingkat volume yang diinginkan. Tandai bagian yang mendukung penyuntingan dan simpan lagu lengkap untuk perubahan di kemudian hari. Kesesuaian suatu cuplikan musik dinilai dalam konteks suara, gambar, dan ritme penyajian karya yang telah selesai.
Simpan gagasan tertulis, pilihan instrumental, pilihan model, dan semua lagu yang telah selesai bersama-sama. Jika kandidat perlu direvisi, tentukan ketidaksesuaian musikal, seperti aransemen yang terlalu padat untuk menjadi latar bagi tuturan atau pembukaan yang berkembang terlalu lambat. Pertahankan arah yang berguna dan revisi bagian arahan yang terkait dengan masalah tersebut.
Ailoot Ultra · Music POST /v1/music/generations suno-api
suno-apiMulai
Suno menciptakan musik dari gagasan tertulis singkat. Alur kerja otomatis yang didokumentasikan menghasilkan dua lagu dan mencakup pilihan instrumental, dengan audio yang telah selesai serta metadata lagu dikembalikan melalui tugas pembuatan.
- Masukan yang diterima
- Teks
- Hasil
- Audio · Gambar · Video
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Music POST /v1/music/generations
- Masukan
text- Keluaran
audio,image,video
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan suno-api Kondisi: Gunakan pemilih perutean Ailoot ini persis seperti yang ditampilkan. | Bawaan— |
Kolomgpt_description_prompt | Jenisstring | PersyaratanWajib | Nilai & batasan Kondisi: Jelaskan ide musik atau tema lagu. | Bawaan— |
Kolommv | Jenisstring | PersyaratanWajib | Nilai & batasan chirp-fenix, chirp-crow, chirp-bluejay, chirp-auk, chirp-v4, chirp-v3-5 Kondisi: Pilih versi Suno tertentu yang didokumentasikan; contoh menggunakan chirp-crow (v5). | Bawaan— |
Kolommake_instrumental | Jenisboolean | PersyaratanWajib | Nilai & batasan Kondisi: Tetapkan true untuk musik instrumental atau false untuk lagu. | Bawaan— |
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, gpt_description_prompt, mv, make_instrumental |
Parameteroptional | Kontrak |
Parametermaterial_types | Kontraktext |
Parameterconditions | KontrakGunakan pemilih perutean Ailoot ini persis seperti yang ditampilkan., Jelaskan ide musik atau tema lagu., Pilih versi Suno tertentu yang didokumentasikan; contoh menggunakan chirp-crow (v5)., Tetapkan true untuk musik instrumental atau false untuk lagu. |
Siklus hidup: submit_once_poll_original
GET /v1/music/generations/{request_id}
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Paket
Cara menghitung biaya akhir
Tarif yang ditampilkan memperkirakan biaya sebelum pembuatan. Biaya akhir dihitung dari biaya yang tercatat untuk proses pembuatan awal. Durasi keluaran yang terukur dan kuantitas perkiraan bukanlah kuantitas akhir yang ditagihkan.
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tidak ditentukan Saat mode fast dipilih
- Mode Flex
- Tidak ditentukan Saat mode flex dipilih
- Upaya penalaran maksimum
- Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default
Perkiraan tarif untuk perbandingan
Harga menurut konfigurasi
Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.
| Konfigurasi | Jadwal tarif | Jumlah perkiraan | Jumlah penagihan | Biaya |
|---|---|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Jumlah perkiraan— | Jumlah penagihan— | Biaya Masukan · Token masukan · Perkiraan hanya untuk perbandingan — / 1K token Keluaran · Token keluaran · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Pembacaan cache · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Penulisan cache · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Penulisan cache, 1 jam · Perkiraan hanya untuk perbandingan — / 1K token |
| KonfigurasiPer permintaan | Jadwal tarif— | Jumlah perkiraan— | Jumlah penagihansatu permintaan | Biaya Masukan · Perkiraan hanya untuk perbandingan $0.2 per permintaan |
| KonfigurasiPerkiraan biaya pembuatan | Jadwal tarif— | Jumlah perkiraanestimasi satu kali pembuatan | Jumlah penagihan— | Biaya Keluaran · Perkiraan biaya pembuatan · Perkiraan hanya untuk perbandingan $0.2 estimasi sebelum pembuatan Perkiraan ini bukan biaya tambahan maupun tarif tetap untuk proses pembuatan yang telah selesai. |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Contoh permintaan
Ailoot Ultra · Music
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
"model": "suno-api",
"gpt_description_prompt": "古诗词",
"mv": "chirp-crow",
"make_instrumental": false
}
JSON
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/music/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
# Create once; retain id, polling_url, original task identifiers and every header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("status.json").read_text())
roles={}
def visit(v,path=""):
if isinstance(v,dict):
for k,x in v.items(): visit(x,path+"/"+k)
elif isinstance(v,list):
for i,x in enumerate(v): visit(x,path+"/"+str(i))
elif isinstance(v,str):
u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
target=Path(f"asset-{i}.bin")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
raw=target.read_bytes()
if not raw: raise SystemExit("Empty asset; retain original status and metadata")
ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
name=f"asset-{i}.{ext}"
if target.name!=name: target.rename(name)
manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
Terima dan simpan hasil
Ailoot Ultra · Music
Unduh setiap gambar yang dikembalikan atau simpan konten Base64-nya
GET /v1/music/generations/{request_id}GET /v1/media/assetsGET /v1/media/assets/{asset_id}
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.
Simpan respons dan header secara utuh, pengenal asli, setiap keluaran aktual, dan semua bidang penggunaan/akuntansi. Simpan setiap aset unik milik Ailoot dan pertahankan setiap peran yang menunjuk kepadanya.
Jika respons asli perlu diperiksa
Simpan id tugas atau operasi publik yang dikembalikan beserta semua header. Baca hanya tugas awal; unknown atau result_pending_check tidak mengizinkan pembuatan lain.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolomid | Jenisstring |
Kolompolling_url | Jenisstring |
Kolomprovider_task_id | Jenisstring |
Kolomdata.task_id | Jenisstring |
Kolomdata.status | Jenisstring |
Kolomdata.data[].audio_url | Jenisstring |
Kolomdata.data[].image_url | Jenisstring |
Kolomdata.data[].image_large_url | Jenisstring |
Kolomdata.data[].video_url | Jenisstring |
Alias
Alias model
Ailoot Ultra suno-api
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · suno-api
- Input dan hasil apa yang tersedia?
POST /v1/music/generations·suno-api:text→audio,image,video- Kolom apa yang digunakan permintaan?
POST /v1/music/generations·suno-api:model,gpt_description_prompt,mv,make_instrumental