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
- Invoer
text- Uitvoer
music- Uitvoerformaat
- volledige audioclips die je toebehoren / 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 ook n is opgegeven, moet het aantal 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} · daadwerkelijk teruggegeven task_id of 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 je toebehoren / 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 teruggestuurde clip op of haal die op en bewaar de werkelijke ID, MIME en metadata. De methode is synchroon; er wordt geen afzonderlijke Ailoot-URL voor het opvragen van de status van muziekgeneratie ingevoerd.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Als een muziekresultaat moet worden gecontroleerd, bewaar dan de oorspronkelijke operation_id/X-Client-Request-ID en de teruggestuurde clipinformatie. Haal bestaande clips die je toebehoren terug via de mediabibliotheek met werkelijke task_id- of asset_id-waarden. Dien de muziekaanvraag niet opnieuw in en stel geen URL voor het opvragen van de generatiestatus samen 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 | VoorwaardeDe teruggegeven respons geeft aan dat de bewerking of het resultaat gecontroleerd moet worden | Volgende stapBewaar de oorspronkelijk teruggegeven bewerkings-/taak-ID, aanvraagheaders en respons; blijf de oorspronkelijke bewerking uitlezen via de ondersteunde leesaanvragen. 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