suno-api
Suno vytváří hudbu z krátkého písemného nápadu. Dokumentovaný automatický postup vytváří dvě skladby a zahrnuje volbu instrumentální verze; dokončené audio a metadata skladeb vrací prostřednictvím úlohy generování.
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
Suno je služba pro generování hudby, která převádí písemný nápad na skladby. Dokumentovaný automatický postup přijímá krátký popis zamýšlené hudby a volbu instrumentální verze a poté generuje dvě skladby. Zadáním určete téma, náladu a hudební směřování, které chcete v dokončených skladbách slyšet.
Začněte úlohou, kterou má hudba plnit. Klidný podkres výkladu, energický úvod krátkého videa nebo zamyšlená píseň o cestě dávají zadání konkrétní účel. V několika jasných formulacích popište zamýšlenou náladu a hudební rysy, které jsou pro tento účel důležité.
U skladby se zpěvem v tvůrčím zadání jasně vymezte téma a jazyk. Popište myšlenku, kterou má skladba vyjadřovat, a jak má přednes vyznít. Dokončený výsledek si poslechněte a posuďte, jak spolu fungují zpěv, slova a aranžmá. Pro účely posouzení uchovávejte informace o vygenerované skladbě spolu s audiem.
Pro instrumentální výsledek použijte dokumentovanou volbu instrumentální verze a v textu popište hudební směřování. Uveďte požadovanou atmosféru a nástroje, které mají být v hudbě výrazně slyšet, pokud jsou pro projekt důležité. Hotovou skladbu posuďte podle místa, které zaujme ve střihu, včetně úseků, které mají tvořit podkres mluveného slova nebo podpořit vizuální přechod.
Automatický postup vytváří z odeslaného nápadu dvě skladby. Pojímejte je jako samostatné varianty a uchovejte oba dokončené zvukové soubory. Každý si poslechněte od úvodu přes vývoj až po závěr. Skutečné skladby porovnejte podle stejného účelu, včetně jejich nálady, aranžmá a vhodnosti pro plánované použití.
Generování je uspořádáno jako úloha. Při kontrole výsledku uchovávejte vrácené ID úlohy a rozlišujte dokončené skladby od položek, které se stále zpracovávají. Dokumentovaný výsledek zahrnuje informace na úrovni jednotlivých skladeb, například název, stav, umístění audia a délku. Samotné hotové audio uložte spolu s dostupnými metadaty a původním zadáním.
U videa nebo prezentace vybranou hudbu vyzkoušejte se skutečným materiálem. Při zamýšlené hlasitosti poslechu zkontrolujte úvod, přechody a závěr. Označte úsek, který střihu slouží, a celou skladbu uchovejte pro pozdější změny. Vhodný hudební úryvek se posuzuje v kontextu hlasu, obrazu a tempa hotového díla.
Písemný nápad, volbu instrumentální verze, výběr modelu a všechny dokončené skladby uchovávejte společně. Pokud varianta potřebuje úpravu, určete hudební nesoulad, například příliš hutné aranžmá pod mluveným slovem nebo úvod, který se rozvíjí příliš pomalu. Zachovejte užitečné směřování a upravte část zadání související s daným problémem.
Ailoot Ultra · Music POST /v1/music/generations suno-api
suno-apiÚvod
Suno vytváří hudbu z krátkého písemného nápadu. Dokumentovaný automatický postup vytváří dvě skladby a zahrnuje volbu instrumentální verze; dokončené audio a metadata skladeb vrací prostřednictvím úlohy generování.
- Přijímané vstupy
- Text
- Výsledky
- Zvuk · Obrázky · Video
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Music POST /v1/music/generations
- Vstup
text- Výstup
audio,image,video
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity suno-api Podmínky: Použijte přesně tento směrovací selektor Ailoot. | Výchozí— |
Polegpt_description_prompt | Typstring | PožadavekPovinné | Hodnoty a limity Podmínky: Popište hudební nápad nebo téma písně. | Výchozí— |
Polemv | Typstring | PožadavekPovinné | Hodnoty a limity chirp-fenix, chirp-crow, chirp-bluejay, chirp-auk, chirp-v4, chirp-v3-5 Podmínky: Vyberte konkrétní dokumentovanou verzi Suno; příklad používá chirp-crow (v5). | Výchozí— |
Polemake_instrumental | Typboolean | PožadavekPovinné | Hodnoty a limity Podmínky: Pro instrumentální hudbu nastavte true, pro píseň false. | Výchozí— |
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, gpt_description_prompt, mv, make_instrumental |
Parametroptional | Kontrakt |
Parametrmaterial_types | Kontrakttext |
Parametrconditions | KontraktPoužijte přesně tento směrovací selektor Ailoot., Popište hudební nápad nebo téma písně., Vyberte konkrétní dokumentovanou verzi Suno; příklad používá chirp-crow (v5)., Pro instrumentální hudbu nastavte true, pro píseň false. |
Životní cyklus: submit_once_poll_original
GET /v1/music/generations/{request_id}
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Tarify
Jak se vypočítá konečný poplatek
Zobrazené sazby slouží k odhadu ceny před generováním. Konečný poplatek se vypočítá z nákladů zaznamenaných u původního generování. Naměřená délka výstupu ani odhadovaná množství nejsou konečným účtovaným množstvím.
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Neuvedeno Při výběru rychlého režimu
- Režim flex
- Neuvedeno Při výběru režimu flex
- Maximální intenzita uvažování
- Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Odhadované sazby pro srovnání
Ceny podle konfigurace
Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.
| Konfigurace | Tabulka sazeb | Předpokládané množství | Množství pro účtování | Poplatek |
|---|---|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Předpokládané množství— | Množství pro účtování— | Poplatek Vstup · Vstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů Výstup · Výstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů Vstup · Čtení z mezipaměti · Odhad pouze pro srovnání — / 1K tokenů Vstup · Zápis do mezipaměti · Odhad pouze pro srovnání — / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina · Odhad pouze pro srovnání — / 1K tokenů |
| KonfiguraceZa požadavek | Tabulka sazeb— | Předpokládané množství— | Množství pro účtováníjeden požadavek | Poplatek Vstup · Odhad pouze pro srovnání $0.2 za požadavek |
| KonfiguraceOdhadovaná cena generování | Tabulka sazeb— | Předpokládané množstvíodhad pro jedno generování | Množství pro účtování— | Poplatek Výstup · Odhadovaná cena generování · Odhad pouze pro srovnání $0.2 odhad před generováním Tento odhad není dodatečným poplatkem ani pevnou sazbou za dokončené generování. |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
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
Přijímání a ukládání výsledků
Ailoot Ultra · Music
Stáhněte každý vrácený obrázek nebo uložte jeho obsah Base64
GET /v1/music/generations/{request_id}GET /v1/media/assetsGET /v1/media/assets/{asset_id}
Uchovejte všechny dokončené výsledky
Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.
Uchovejte celou odpověď a hlavičky, původní identifikátory, každý skutečný výstup a všechna pole využití a účtování. Uložte každý jedinečný soubor spravovaný službou a zachovejte každou roli, která na něj odkazuje.
Pokud je nutné ověřit původní odpověď
Uchovejte vrácené veřejné id úlohy nebo operace a všechny hlavičky. Načítejte pouze původní úlohu; unknown ani result_pending_check neopravňují k dalšímu vytvoření.
Pole odpovědi
| Pole | Typ |
|---|---|
Poleid | Typstring |
Polepolling_url | Typstring |
Poleprovider_task_id | Typstring |
Poledata.task_id | Typstring |
Poledata.status | Typstring |
Poledata.data[].audio_url | Typstring |
Poledata.data[].image_url | Typstring |
Poledata.data[].image_large_url | Typstring |
Poledata.data[].video_url | Typstring |
Aliasy
Aliasy modelu
Ailoot Ultra suno-api
Aliasy cest metod
Použijte cesty metod uvedené výše.
Související ID modelů
FAQ · suno-api
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/music/generations·suno-api:text→audio,image,video- Jaká pole požadavek používá?
POST /v1/music/generations·suno-api:model,gpt_description_prompt,mv,make_instrumental