suno-api
Suno qisqa yozma g‘oyadan musiqa yaratadi. Hujjatlashtirilgan avtomatik jarayon ikkita qo‘shiq yaratadi va instrumental variantni tanlash imkonini beradi; tayyor audio hamda trek metama’lumotlari yaratish vazifasi orqali qaytariladi.
Model haqida
Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.
Suno — yozma g‘oyani qo‘shiqlarga aylantiradigan musiqa yaratish xizmati. Hujjatlashtirilgan avtomatik jarayon mo‘ljallangan musiqaning qisqa tavsifini va instrumental variant tanlovini qabul qilib, ikkita qo‘shiq yaratadi. Tayyor treklarda eshitmoqchi bo‘lgan mavzu, kayfiyat va musiqiy yo‘nalishni belgilash uchun tavsifdan foydalaning.
Musiqa bajarishi kerak bo‘lgan roldan boshlang. Tushuntirish uchun sokin fon, qisqa video uchun jo‘shqin kirish yoki sayohat haqidagi o‘ychan qo‘shiq tavsifga aniq maqsad beradi. Mo‘ljallangan kayfiyatni va shu maqsad uchun muhim bo‘lgan musiqiy xususiyatlarni bir nechta ravshan ibora bilan tasvirlang.
Vokalli qo‘shiq uchun ijodiy tavsifda mavzu va tilni aniq belgilang. Trek ifodalashi kerak bo‘lgan g‘oyani va ijro yetkazishi kerak bo‘lgan ohangni tasvirlang. Tayyor natijada vokal, so‘zlar va aranjirovka qanday uyg‘un ishlashini tinglang. Ko‘rib chiqish uchun yaratilgan trek ma’lumotlarini audio bilan birga saqlang.
Instrumental natija uchun hujjatlashtirilgan instrumental tanlovdan foydalaning va matnda musiqiy yo‘nalishni tasvirlang. Loyiha uchun ahamiyatli bo‘lsa, kerakli muhitni va asosiy eshitiladigan cholg‘ularni ayting. Tayyor trekni montajda egallaydigan o‘rniga nisbatan, jumladan nutq ostida yangrashi yoki vizual o‘tishni qo‘llab-quvvatlashi kerak bo‘lgan qismlarini ko‘rib chiqing.
Avtomatik jarayon yuborilgan g‘oyadan ikkita qo‘shiq yaratadi. Ularga alohida variantlar sifatida qarang va ikkala tayyor audiofaylni saqlang. Har birining boshlanishi, rivojlanishi va yakunini tinglang. Haqiqiy treklarni bir xil maqsad bo‘yicha, jumladan ularning kayfiyati, aranjirovkasi va rejalashtirilgan qo‘llanishga mosligi jihatidan solishtiring.
Yaratish vazifa shaklida tashkil etiladi. Natijani tekshirishda qaytarilgan vazifa ID sini saqlang va tayyor treklarni hali bajarilayotgan elementlardan ajrating. Hujjatlashtirilgan natija sarlavha, holat, audio manzili va davomiylik kabi trek darajasidagi ma’lumotlarni o‘z ichiga oladi. Tayyor audioning o‘zini mavjud metama’lumotlar va asl tavsif bilan birga saqlang.
Video yoki taqdimot uchun tanlangan musiqani haqiqiy material bilan birga tinglab sinab ko‘ring. Boshlanish, o‘tishlar va yakunni mo‘ljallangan ovoz darajasida tekshiring. Montajga xizmat qiladigan qismni belgilang va keyingi o‘zgarishlar uchun to‘liq trekni saqlang. Mos musiqa parchasi tayyor asardagi ovoz, tasvirlar va sur’at bilan birgalikda baholanadi.
Yozma g‘oya, instrumental variant tanlovi, model tanlovi va barcha tayyor treklarni birga saqlang. Variantni qayta ishlash kerak bo‘lsa, nutq ostida haddan tashqari zich eshitiladigan aranjirovka yoki juda sekin rivojlanadigan boshlanish kabi musiqiy nomuvofiqlikni belgilang. Foydali yo‘nalishni saqlang va tavsifning shu muammoga bog‘liq qismini o‘zgartiring.
Ailoot Ultra · Music POST /v1/music/generations suno-api
suno-apiBoshlash
Suno qisqa yozma g‘oyadan musiqa yaratadi. Hujjatlashtirilgan avtomatik jarayon ikkita qo‘shiq yaratadi va instrumental variantni tanlash imkonini beradi; tayyor audio hamda trek metama’lumotlari yaratish vazifasi orqali qaytariladi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- Audio · Rasmlar · Video
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot Ultra · Music POST /v1/music/generations
- Kirish
text- Chiqish
audio,image,video
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar suno-api Shartlar: Ailoot soʻrovlarini yoʻnaltirish uchun aynan shu selektordan foydalaning. | Standart— |
Maydongpt_description_prompt | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Shartlar: Musiqiy gʻoya yoki qoʻshiq mavzusini tasvirlab bering. | Standart— |
Maydonmv | Turstring | TalabMajburiy | Qiymatlar va cheklovlar chirp-fenix, chirp-crow, chirp-bluejay, chirp-auk, chirp-v4, chirp-v3-5 Shartlar: Hujjatda koʻrsatilgan aniq Suno versiyasini tanlang; misolda chirp-crow (v5) ishlatilgan. | Standart— |
Maydonmake_instrumental | Turboolean | TalabMajburiy | Qiymatlar va cheklovlar Shartlar: Instrumental musiqa uchun true, qoʻshiq uchun false qiymatini belgilang. | Standart— |
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrcontent_type | Parametr talablariapplication/json |
Parametrrequired | Parametr talablarimodel, gpt_description_prompt, mv, make_instrumental |
Parametroptional | Parametr talablari |
Parametrmaterial_types | Parametr talablaritext |
Parametrconditions | Parametr talablariAiloot soʻrovlarini yoʻnaltirish uchun aynan shu selektordan foydalaning., Musiqiy gʻoya yoki qoʻshiq mavzusini tasvirlab bering., Hujjatda koʻrsatilgan aniq Suno versiyasini tanlang; misolda chirp-crow (v5) ishlatilgan., Instrumental musiqa uchun true, qoʻshiq uchun false qiymatini belgilang. |
Hayot sikli: submit_once_poll_original
GET /v1/music/generations/{request_id}
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Tariflar
Yakuniy to‘lov qanday hisoblanadi
Ko‘rsatilgan tariflar xarajatni generatsiyadan oldin taxminiy hisoblash uchun xizmat qiladi. Yakuniy to‘lov dastlabki generatsiya uchun qayd etilgan xarajat asosida hisoblanadi. Natijaning o‘lchangan davomiyligi va oldindan taxmin qilingan miqdorlar haq undiriladigan yakuniy miqdor hisoblanmaydi.
Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.
- Tezkor rejim
- Ko‘rsatilmagan Tezkor rejim tanlanganda
- Flex rejimi
- Ko‘rsatilmagan flex rejimi tanlanganda
- Maksimal fikrlash darajasi
- Ko‘rsatilmagan Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
Taqqoslash uchun taxminiy tariflar
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Prognoz miqdori | Hisoblanadigan miqdor | To‘lov |
|---|---|---|---|---|
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Prognoz miqdori— | Hisoblanadigan miqdor— | To‘lov Kirish · Kirish tokenlari · Faqat taqqoslash uchun taxmin — / 1K token Chiqish · Chiqish tokenlari · Faqat taqqoslash uchun taxmin — / 1K token Kirish · Keshdan o‘qish · Faqat taqqoslash uchun taxmin — / 1K token Kirish · Keshga yozish · Faqat taqqoslash uchun taxmin — / 1K token Kirish · Keshga yozish, 1 soat · Faqat taqqoslash uchun taxmin — / 1K token |
| SozlamaHar bir so‘rov uchun | Tariflar jadvali— | Prognoz miqdori— | Hisoblanadigan miqdorbitta so‘rov | To‘lov Kirish · Faqat taqqoslash uchun taxmin $0.2 har bir so‘rov uchun |
| SozlamaYaratishning taxminiy qiymati | Tariflar jadvali— | Prognoz miqdoribir generatsiya uchun taxmin | Hisoblanadigan miqdor— | To‘lov Chiqish · Yaratishning taxminiy narxi · Faqat taqqoslash uchun taxmin $0.2 yaratishdan oldingi taxmin Bu taxmin qo‘shimcha to‘lov ham, tugallangan generatsiya uchun qat’iy tarif ham emas. |
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
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
Natijalarni olish va saqlash
Ailoot Ultra · Music
Har bir qaytarilgan rasmni yuklab oling yoki uning Base64 kontentini saqlang
GET /v1/music/generations/{request_id}GET /v1/media/assetsGET /v1/media/assets/{asset_id}
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
To‘liq javob va sarlavhalarni, dastlabki identifikatorlarni, har bir haqiqiy chiqishni va barcha foydalanish/hisob-kitob maydonlarini saqlang. Egalik qilinadigan har bir noyob aktivni saqlang va unga ishora qiluvchi har bir vazifani saqlab qoling.
Asl javobni tekshirish kerak bo‘lsa
Qaytarilgan ochiq vazifa yoki operatsiya id sini va barcha sarlavhalarni saqlang. Faqat dastlabki vazifani o‘qing; unknown yoki result_pending_check boshqa yaratish so‘roviga ruxsat bermaydi.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonpolling_url | Turstring |
Maydonprovider_task_id | Turstring |
Maydondata.task_id | Turstring |
Maydondata.status | Turstring |
Maydondata.data[].audio_url | Turstring |
Maydondata.data[].image_url | Turstring |
Maydondata.data[].image_large_url | Turstring |
Maydondata.data[].video_url | Turstring |
Taxalluslar
Model taxalluslari
Ailoot Ultra suno-api
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
FAQ · suno-api
- Qanday kirish ma’lumotlari va natijalar mavjud?
POST /v1/music/generations·suno-api:text→audio,image,video- So‘rov qaysi maydonlardan foydalanadi?
POST /v1/music/generations·suno-api:model,gpt_description_prompt,mv,make_instrumental