suno-api
Suno mencipta muzik daripada idea bertulis yang ringkas. Aliran kerja automatik yang didokumenkan menghasilkan dua lagu dan merangkumi pilihan instrumental, dengan audio yang telah siap dan metadata trek dikembalikan melalui tugasan penjanaan.
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
Suno ialah perkhidmatan penjanaan muzik yang menukarkan idea bertulis kepada lagu. Aliran kerja automatik yang didokumenkan menerima penerangan ringkas tentang muzik yang dikehendaki serta pilihan instrumental, kemudian menjana dua lagu. Gunakan taklimat untuk menetapkan tema, suasana dan arah muzik yang mahu didengar dalam trek yang telah siap.
Mulakan dengan peranan yang patut dimainkan oleh muzik. Latar yang tenang untuk penerangan, pembukaan bertenaga untuk video ringkas atau lagu renungan tentang perjalanan masing-masing memberikan tujuan nyata kepada taklimat. Terangkan suasana yang dikehendaki dan ciri muzik yang penting untuk tujuan itu dalam beberapa frasa yang jelas.
Untuk lagu dengan vokal, jelaskan tema dan bahasa dalam taklimat kreatif. Terangkan idea yang patut diungkapkan oleh trek dan nada yang patut disampaikan oleh persembahan. Dengar hasil yang telah siap untuk menilai bagaimana vokal, kata-kata dan susunan muzik berfungsi bersama. Simpan maklumat trek yang dijana bersama audio untuk semakan.
Untuk hasil instrumental, gunakan pilihan instrumental yang didokumenkan dan terangkan arah muzik dalam teks. Nyatakan suasana yang dikehendaki dan alat muzik utama apabila perkara itu penting kepada projek. Semak trek yang telah siap mengikut kedudukannya dalam suntingan, termasuk bahagian yang perlu menjadi latar kepada pertuturan atau menyokong peralihan visual.
Aliran kerja automatik menghasilkan dua lagu daripada idea yang dihantar. Anggap kedua-duanya sebagai calon yang berbeza dan simpan kedua-dua fail audio yang telah siap. Dengar setiap satunya dari pembukaan, perkembangan hingga pengakhiran. Bandingkan trek sebenar berdasarkan tujuan yang sama, termasuk suasana, susunan muzik dan kesesuaiannya untuk kegunaan yang dirancang.
Penjanaan diatur sebagai tugasan. Simpan ID tugasan yang dikembalikan semasa menyemak hasilnya dan bezakan trek yang telah siap daripada item yang masih dalam proses. Hasil yang didokumenkan merangkumi maklumat pada peringkat trek seperti tajuk, status, lokasi audio dan tempoh. Simpan audio yang telah siap itu sendiri bersama metadata yang tersedia dan taklimat asal.
Untuk video atau persembahan, uji dengar muzik yang dipilih bersama bahan sebenar. Periksa pembukaan, peralihan dan pengakhiran pada aras kelantangan mendengar yang dikehendaki. Tandakan bahagian yang menyokong suntingan dan simpan keseluruhan trek untuk perubahan kemudian. Petikan muzik yang sesuai dinilai dalam konteks suara, imej dan rentak karya yang telah siap.
Simpan idea bertulis, pilihan instrumental, pilihan model dan semua trek yang telah siap bersama-sama. Apabila calon memerlukan semakan, kenal pasti ketidakpadanan muzik, seperti susunan muzik yang terlalu padat sebagai latar kepada pertuturan atau pembukaan yang berkembang terlalu perlahan. Kekalkan arah yang berguna dan semak semula bahagian taklimat yang berkaitan dengan masalah itu.
Ailoot Ultra · Music POST /v1/music/generations suno-api
suno-apiPengenalan
Suno mencipta muzik daripada idea bertulis yang ringkas. Aliran kerja automatik yang didokumenkan menghasilkan dua lagu dan merangkumi pilihan instrumental, dengan audio yang telah siap dan metadata trek dikembalikan melalui tugasan penjanaan.
- Input yang diterima
- Teks
- Hasil
- Audio · Imej · Video
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Music POST /v1/music/generations
- Input
text- Output
audio,image,video
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had suno-api Syarat: Gunakan pemilih penghalaan Ailoot ini tepat seperti yang dinyatakan. | Lalai— |
Medangpt_description_prompt | Jenisstring | KeperluanDiperlukan | Nilai & had Syarat: Huraikan idea muzik atau tema lagu. | Lalai— |
Medanmv | Jenisstring | KeperluanDiperlukan | Nilai & had chirp-fenix, chirp-crow, chirp-bluejay, chirp-auk, chirp-v4, chirp-v3-5 Syarat: Pilih versi Suno tertentu yang didokumentasikan; contoh menggunakan chirp-crow (v5). | Lalai— |
Medanmake_instrumental | Jenisboolean | KeperluanDiperlukan | Nilai & had Syarat: Tetapkan true untuk muzik instrumental atau false untuk lagu. | Lalai— |
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, gpt_description_prompt, mv, make_instrumental |
Parameteroptional | Kontrak |
Parametermaterial_types | Kontraktext |
Parameterconditions | KontrakGunakan pemilih penghalaan Ailoot ini tepat seperti yang dinyatakan., Huraikan idea muzik atau tema lagu., Pilih versi Suno tertentu yang didokumentasikan; contoh menggunakan chirp-crow (v5)., Tetapkan true untuk muzik instrumental atau false untuk lagu. |
Kitar hayat: submit_once_poll_original
GET /v1/music/generations/{request_id}
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Pelan harga
Cara caj akhir dikira
Kadar yang dipaparkan menganggarkan kos sebelum penjanaan. Caj akhir dikira berdasarkan kos yang direkodkan untuk penjanaan asal. Tempoh output yang diukur dan kuantiti ramalan bukan kuantiti akhir yang boleh dibilkan.
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Tidak dinyatakan Apabila mod pantas dipilih
- Mod flex
- Tidak dinyatakan Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default
Anggaran kadar untuk perbandingan
Harga mengikut konfigurasi
Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.
| Konfigurasi | Jadual kadar | Kuantiti ramalan | Kuantiti pengebilan | Caj |
|---|---|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Kuantiti ramalan— | Kuantiti pengebilan— | Caj Input · Token input · Anggaran untuk perbandingan sahaja — / 1K token Output · Token output · Anggaran untuk perbandingan sahaja — / 1K token Input · Bacaan cache · Anggaran untuk perbandingan sahaja — / 1K token Input · Penulisan cache · Anggaran untuk perbandingan sahaja — / 1K token Input · Penulisan cache, 1 jam · Anggaran untuk perbandingan sahaja — / 1K token |
| KonfigurasiBagi setiap permintaan | Jadual kadar— | Kuantiti ramalan— | Kuantiti pengebilansatu permintaan | Caj Input · Anggaran untuk perbandingan sahaja $0.2 bagi setiap permintaan |
| KonfigurasiAnggaran kos penjanaan | Jadual kadar— | Kuantiti ramalananggaran untuk satu penjanaan | Kuantiti pengebilan— | Caj Output · Anggaran kos penjanaan · Anggaran untuk perbandingan sahaja $0.2 anggaran sebelum penjanaan Anggaran ini bukan caj tambahan atau kadar tetap bagi penjanaan yang telah selesai. |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
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
Muat turun setiap imej yang dikembalikan atau simpan kandungan 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, fail dan bahagian kandungan yang dikembalikan.
Simpan respons dan pengepala lengkap, pengecam asal, setiap output sebenar dan semua medan penggunaan/perakaunan. Simpan setiap aset unik milik anda dan kekalkan setiap peranan yang merujuk kepadanya.
Jika respons asal perlu disemak
Simpan id tugas atau operasi awam yang dikembalikan dan semua pengepala. Baca tugas asal sahaja; unknown atau result_pending_check tidak memberikan kebenaran untuk penciptaan lain.
Medan respons
| Medan | Jenis |
|---|---|
Medanid | Jenisstring |
Medanpolling_url | Jenisstring |
Medanprovider_task_id | Jenisstring |
Medandata.task_id | Jenisstring |
Medandata.status | Jenisstring |
Medandata.data[].audio_url | Jenisstring |
Medandata.data[].image_url | Jenisstring |
Medandata.data[].image_large_url | Jenisstring |
Medandata.data[].video_url | Jenisstring |
Alias
Alias model
Ailoot Ultra suno-api
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
FAQ · suno-api
- Apakah input dan hasil yang tersedia?
POST /v1/music/generations·suno-api:text→audio,image,video- Apakah medan yang digunakan oleh permintaan?
POST /v1/music/generations·suno-api:model,gpt_description_prompt,mv,make_instrumental