Lyria
Tekst-naar-muziek met één tot acht gevraagde clips en synchrone resultaatlevering.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
google/lyria maakt muziek uit een geschreven prompt via /v1/music/generations. Vraag bijvoorbeeld rustige instrumentale achtergrondmuziek voor een productdemo en beschrijf voorgrondinstrumenten en de ruimte die de verteller nodig heeft. Kies deze route wanneer een muziekclip het gewenste resultaat is.
Het verzoek vereist model en prompt. n of count accepteert één tot acht clips en de methode geeft het generatieresultaat synchroon terug. Bewaar elke clip en de echte metadata. Audio-referentie-invoer, een duurinstelling of tempoveld ontbreken; die zijn niet apart te kiezen. Beschrijf muzikale bedoeling in de prompt zonder die als gegarandeerde gemeten uitvoereigenschap te behandelen.
Ailoot · Muziek POST /v1/music/generations google/lyria
google/lyriaAan de slag
Tekst-naar-muziek met één tot acht gevraagde clips en synchrone resultaatlevering.
- Toegestane invoer
- Tekst
- Resultaten
- music
Beschikbaar in Ailoot · invoer en methoden
Ailoot · Muziek POST /v1/music/generations
- Invoertypen
text- Uitvoertypen
music- Uitvoerformaat
- volledige audioclips die u bezit / JSON-links
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten google/lyria | Standaard— |
Veldprompt | Typestring | VereisteVereist | Waarden en limieten Minimumlengte: 1 | Standaard— |
Veldn | Typeinteger | VereisteOptioneel | Waarden en limieten Minimum: 1 Maximum: 8 | Standaard1 |
Veldcount | Typeinteger | VereisteOptioneel | Waarden en limieten Minimum: 1 Maximum: 8 Voorwaarden: Als n ook wordt opgegeven, moet count overeenkomen | Standaard— |
Combinaties van invoermaterialen
text_to_music · Vereist: prompt
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametermaterial_types | Contracttext |
Parameterrequired | Contractnull |
Parameteroptional_controls | Contractnull |
Levenscyclus: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · de daadwerkelijk geretourneerde task_id of het record in de mediabibliotheek
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
De methodestructuren en ID’s zijn exact; de mogelijkheden van de leverancier staan los van toelating.
Tarieven
Ailoot-methodetarieven
POST /v1/music/generations- Uitvoer
- US$ 0,08 per clip
- Alleen referentie · niet opgeteld
- US$ 0,08 per verzoek
Geleverde clips × basistarief per clip. Het referentietarief per verzoek wordt niet opgeteld. Voorbeelden vóór toepasselijke aanpassingen.
1 × US$ 0,08 = US$ 0,08
4 × US$ 0,08 = US$ 0,32
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
Ailoot · Muziek
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 music brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/lyria", "prompt": ""}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
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
export AILOOT_API_KEY
python3 - <<'PY_RESULT'
import json, os, subprocess
from pathlib import Path
from urllib.parse import urljoin, urlparse
result=json.loads(Path("result.json").read_text(encoding="utf-8"))
print(json.dumps(result,ensure_ascii=False,indent=2))
for number,clip in enumerate(result.get("data") or []):
u=urlparse(urljoin("https://api.ailoot.ai",clip["url"]))
if u.scheme!="https" or not u.hostname or u.username or u.password:
raise SystemExit("Result URL must be HTTPS without embedded credentials")
owned=u.netloc=="api.ailoot.ai" and u.path.startswith("/v1/media/assets/") and u.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",u.geturl()]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
raw=subprocess.check_output(args)
ext="wav" if raw.startswith(b"RIFF") and raw[8:12]==b"WAVE" else "flac" if raw.startswith(b"fLaC") else "ogg" if raw.startswith(b"OggS") else "mp3" if raw.startswith(b"ID3") or raw[:1]==b"\xff" else "bin"
f=Path("music-"+str(number)+"."+ext);f.write_bytes(raw)
print("Saved",f,clip.get("asset_id"))
PY_RESULT
Resultaten ophalen en opslaan
Ailoot · Muziek
volledige audioclips die u bezit / JSON-links
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Sla elke geretourneerde clip op of haal deze op en behoud de daadwerkelijke ID, MIME en metadata. De methode is synchroon; er wordt geen afzonderlijke Ailoot-URL voor het periodiek opvragen van muziekgeneratie ingevoerd.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Als een muziekresultaat controle vereist, bewaart u de oorspronkelijke operation_id/X-Client-Request-ID en de geretourneerde clipinformatie. Herstel bestaande clips die u bezit via de mediabibliotheek met daadwerkelijke task_id- of asset_id-waarden. Dien het muziekverzoek niet opnieuw in en maak geen URL voor generatiepolling op basis van operation_id.
Antwoordvelden
| Veld | Type |
|---|---|
Veldmodel | Typestring |
Veldresponse_id | Typestring |
Velddata[] | Typeowned clip record |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldig | Volgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag. |
Antwoordserver_error | VoorwaardeHet geretourneerde antwoord geeft aan dat de bewerking of het resultaat moet worden gecontroleerd | Volgende stapBewaar de oorspronkelijk geretourneerde bewerkings-/taak-ID, de aanvraagheaders en het antwoord; blijf de ondersteunde leesacties voor die oorspronkelijke bewerking uitvoeren. Dien de aanmaakaanvraag niet opnieuw in. |
Aliasnamen
Modelaliasnamen
Ailoot google/lyria
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · Lyria
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/music/generations·google/lyria:text→music- Welke velden gebruikt het verzoek?
POST /v1/music/generations·google/lyria:model,prompt,n,count- Welke limieten gelden?
POST /v1/music/generations·google/lyria:n.minimum:1;n.maximum:8;count.minimum:1;count.maximum:8