suno-api
A Suno rövid írásos ötletből készít zenét. A dokumentált automatikus munkafolyamat két dalt hoz létre, és instrumentális választási lehetőséget is tartalmaz; a kész hanganyag és a zeneszámok metaadatai a generálási feladaton keresztül érkeznek vissza.
A modellről
Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.
A Suno zenegeneráló szolgáltatás, amely írásos ötletből készít dalokat. A dokumentált automatikus munkafolyamat a tervezett zene rövid leírását és egy instrumentális beállítást fogad, majd két dalt generál. Az instrukcióval határozd meg a témát, a hangulatot és azt a zenei irányt, amelyet a kész zeneszámokban hallani szeretnél.
Kezdd azzal a szereppel, amelyet a zenének be kell töltenie. Egy magyarázat nyugodt zenei háttere, egy rövid videó energikus nyitánya vagy egy utazásról szóló, merengő hangulatú dal mind konkrét célt ad az instrukciónak. Néhány egyértelmű kifejezéssel írd le a kívánt hangulatot és a cél szempontjából fontos zenei jellemzőket.
Énekes dalnál az alkotói instrukcióban tedd egyértelművé a témát és a nyelvet. Írd le a zeneszámmal kifejezni kívánt gondolatot és az előadás által közvetítendő hangvételt. A kész eredményt abból a szempontból hallgasd meg, hogyan működik együtt az ének, a dalszöveg és a hangszerelés. Az ellenőrzéshez a generált zeneszám adatait a hanganyag mellett őrizd meg.
Instrumentális eredményhez használd a dokumentált instrumentális választási lehetőséget, és a szövegben írd le a zenei irányt. Add meg a kívánt atmoszférát és a meghatározó hangszereket, ha ezek fontosak a projekthez. A kész zeneszámot a vágásban betöltendő szerepe alapján ellenőrizd, beleértve a beszéd alatt szóló vagy egy vizuális átmenetet támogató részeket is.
Az automatikus munkafolyamat a beküldött ötletből két dalt készít. Kezeld őket különálló változatként, és mindkét kész hangfájlt őrizd meg. Mindegyiket hallgasd végig a nyitástól a kibontakozáson át a befejezésig. A tényleges zeneszámokat ugyanahhoz a célhoz mérd, a hangulatukat, hangszerelésüket és a tervezett felhasználásra való alkalmasságukat is figyelembe véve.
A generálás feladatként fut. Az eredmény ellenőrzése közben őrizd meg a visszakapott feladatazonosítót, és különböztesd meg a kész zeneszámokat a még folyamatban lévő elemektől. A dokumentált eredmény zeneszámonkénti adatokat tartalmaz, például címet, állapotot, a hanganyag elérési helyét és időtartamot. Magát a kész hanganyagot is mentsd el az elérhető metaadatokkal és az eredeti instrukcióval együtt.
Videóhoz vagy prezentációhoz a kiválasztott zenét a tényleges anyaggal együtt próbáld ki. A tervezett hallgatási hangerőn ellenőrizd a nyitást, az átmeneteket és a befejezést. Jelöld meg azt a szakaszt, amely a vágást szolgálja, és a későbbi változtatásokhoz őrizd meg a teljes zeneszámot. A megfelelő zenei részletet a kész mű beszédhangjával, képeivel és ritmusával összefüggésben lehet megítélni.
Az írásos ötletet, az instrumentális beállítást, a modellválasztást és az összes kész zeneszámot együtt őrizd meg. Ha egy változat javításra szorul, nevezd meg a zenei eltérést, például a beszéd alatt túl sűrű hangszerelést vagy a túl lassan kibontakozó nyitást. A hasznos irányt tartsd meg, és az instrukciónak a problémához kapcsolódó részét módosítsd.
Ailoot Ultra · Music POST /v1/music/generations suno-api
suno-apiKezdő lépések
A Suno rövid írásos ötletből készít zenét. A dokumentált automatikus munkafolyamat két dalt hoz létre, és instrumentális választási lehetőséget is tartalmaz; a kész hanganyag és a zeneszámok metaadatai a generálási feladaton keresztül érkeznek vissza.
- Elfogadott bemenetek
- Szöveg
- Eredmények
- Hang · Képek · Videó
Elérhető az Ailootban · bemenetek és metódusok
Ailoot Ultra · Music POST /v1/music/generations
- Bemenet
text- Kimenet
audio,image,video
| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
|---|---|---|---|---|
Mezőmodel | Típusstring | KövetelményKötelező | Értékek és korlátok suno-api Feltételek: Pontosan ezt az Ailoot-útválasztási azonosítót használja. | Alapértelmezett— |
Mezőgpt_description_prompt | Típusstring | KövetelményKötelező | Értékek és korlátok Feltételek: Írja le a zenei ötletet vagy a dal témáját. | Alapértelmezett— |
Mezőmv | Típusstring | KövetelményKötelező | Értékek és korlátok chirp-fenix, chirp-crow, chirp-bluejay, chirp-auk, chirp-v4, chirp-v3-5 Feltételek: Kifejezetten válasszon egy dokumentált Suno-verziót; a példa chirp-crow (v5) verziót használ. | Alapértelmezett— |
Mezőmake_instrumental | Típusboolean | KövetelményKötelező | Értékek és korlátok Feltételek: Hangszeres zenéhez állítsa true, dalhoz false értékre. | Alapértelmezett— |
Metódus paraméterei és életciklusa
| Paraméter | Szerződés |
|---|---|
Paramétercontent_type | Szerződésapplication/json |
Paraméterrequired | Szerződésmodel, gpt_description_prompt, mv, make_instrumental |
Paraméteroptional | Szerződés |
Paramétermaterial_types | Szerződéstext |
Paraméterconditions | SzerződésPontosan ezt az Ailoot-útválasztási azonosítót használja., Írja le a zenei ötletet vagy a dal témáját., Kifejezetten válasszon egy dokumentált Suno-verziót; a példa chirp-crow (v5) verziót használ., Hangszeres zenéhez állítsa true, dalhoz false értékre. |
Életciklus: submit_once_poll_original
GET /v1/music/generations/{request_id}
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Díjcsomagok
A végső díj számítása
A megjelenített díjtételek a generálás előtti költségbecsléshez szolgálnak. A végleges díj az eredeti generáláshoz rögzített költségből számítódik. A kimenet mért időtartama és az előre jelzett mennyiségek nem azonosak a véglegesen elszámolandó mennyiséggel.
A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.
- Gyors mód
- Nincs megadva Ha a gyors mód van kiválasztva
- Flex mód
- Nincs megadva Ha a flex mód van kiválasztva
- Maximális gondolkodási ráfordítás
- Nincs megadva Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik
Becsült díjak összehasonlításhoz
Árak beállításonként
Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.
| Beállítás | Díjtáblázat | Előre jelzett mennyiség | Elszámolási mennyiség | Díj |
|---|---|---|---|---|
| BeállításTokenek alapdíjai | DíjtáblázatAlapdíj | Előre jelzett mennyiség— | Elszámolási mennyiség— | Díj Bemenet · Bemeneti tokenek · Becslés, csak összehasonlításra — / 1K token Kimenet · Kimeneti tokenek · Becslés, csak összehasonlításra — / 1K token Bemenet · Gyorsítótár olvasása · Becslés, csak összehasonlításra — / 1K token Bemenet · Írás a gyorsítótárba · Becslés, csak összehasonlításra — / 1K token Bemenet · Írás a gyorsítótárba, 1 óra · Becslés, csak összehasonlításra — / 1K token |
| BeállításKérésenként | Díjtáblázat— | Előre jelzett mennyiség— | Elszámolási mennyiségegy kérés | Díj Bemenet · Becslés, csak összehasonlításra $0.2 kérésenként |
| BeállításA generálás becsült költsége | Díjtáblázat— | Előre jelzett mennyiségbecslés egy generálásra | Elszámolási mennyiség— | Díj Kimenet · Becsült generálási költség · Becslés, csak összehasonlításra $0.2 becslés a generálás előtt Ez a becslés nem jelent további díjat, és nem rögzített díjszabás az elkészült generálásra. |
Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →
Példakérések
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
Eredmények fogadása és mentése
Ailoot Ultra · Music
Töltsön le minden visszaadott képet, vagy mentse a Base64-tartalmat
GET /v1/music/generations/{request_id}GET /v1/media/assetsGET /v1/media/assets/{asset_id}
Őrizzen meg minden elkészült eredményt
Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.
Őrizze meg a teljes választ és fejléceit, az eredeti azonosítókat, az összes tényleges kimenetet és minden felhasználási, illetve elszámolási mezőt. Mentsen el minden egyedi saját médiaállományt, és őrizzen meg minden rá mutató szerepet.
Ha az eredeti választ ellenőrizni kell
Őrizze meg a visszaadott nyilvános feladat- vagy műveletazonosítót és az összes fejlécet. Csak az eredeti feladatot kérdezze le; az unknown vagy result_pending_check nem jogosít fel újabb létrehozásra.
Válaszmezők
| Mező | Típus |
|---|---|
Mezőid | Típusstring |
Mezőpolling_url | Típusstring |
Mezőprovider_task_id | Típusstring |
Meződata.task_id | Típusstring |
Meződata.status | Típusstring |
Meződata.data[].audio_url | Típusstring |
Meződata.data[].image_url | Típusstring |
Meződata.data[].image_large_url | Típusstring |
Meződata.data[].video_url | Típusstring |
Álnevek
Modell álnevei
Ailoot Ultra suno-api
Metódusútvonalak álnevei
Használja a fent látható metódusútvonalakat.
Kapcsolódó modellazonosítók
FAQ · suno-api
- Milyen bemenetek és eredmények érhetők el?
POST /v1/music/generations·suno-api:text→audio,image,video- Mely mezőket használja a kérés?
POST /v1/music/generations·suno-api:model,gpt_description_prompt,mv,make_instrumental