Lyria
Génération texte-vers-musique de un à huit extraits demandés, avec réponse synchrone.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
google/lyria crée de la musique depuis un prompt écrit via /v1/music/generations. Demandez par exemple un fond instrumental sobre pour une démonstration produit, en précisant instruments principaux et place laissée à la narration. Choisissez-le pour obtenir un extrait musical généré.
model et prompt sont obligatoires. n ou count accepte un à huit extraits et la méthode retourne le résultat synchroniquement. Gardez chaque extrait et ses métadonnées réelles. Ni référence audio, durée ni tempo ne sont des réglages exposés. Décrivez l’intention musicale sans la prendre pour une propriété mesurée garantie du résultat.
Ailoot · Musique POST /v1/music/generations google/lyria
google/lyriaPremiers pas
Génération texte-vers-musique de un à huit extraits demandés, avec réponse synchrone.
- Entrées acceptées
- Texte
- Résultats
- music
Disponible dans Ailoot · entrées et méthodes
Ailoot · Musique POST /v1/music/generations
- Entrée
text- Sortie
music- Format de sortie
- extraits audio complets dont vous êtes propriétaire / liens JSON
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites google/lyria | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites Longueur minimale: 1 | Par défaut— |
Champn | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: 1 Maximum: 8 | Par défaut1 |
Champcount | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: 1 Maximum: 8 Conditions: Si n est également fourni, les nombres doivent correspondre | Par défaut— |
Combinaisons d’éléments d’entrée
text_to_music · Obligatoire : prompt
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrematerial_types | Contrattext |
Paramètrerequired | Contratnull |
Paramètreoptional_controls | Contratnull |
Cycle de vie : synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id effectivement renvoyé ou enregistrement de la bibliothèque multimédia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Les structures des méthodes et les identifiants sont exacts ; la capacité du fournisseur est distincte de l’admission.
Tarifs
Tarifs des méthodes Ailoot
POST /v1/music/generations- Sortie
- 0,08 USD par clip
- Référence uniquement · non ajouté
- 0,08 USD par requête
Clips livrés × tarif de base par clip. Le tarif indicatif par requête ne s’ajoute pas. Exemples avant ajustements applicables.
1 × 0,08 USD = 0,08 USD
4 × 0,08 USD = 0,32 USD
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Exemples de requêtes
Ailoot · Musique
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
Recevoir et enregistrer les résultats
Ailoot · Musique
extraits audio complets dont vous êtes propriétaire / liens JSON
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Conserver tous les résultats terminés
Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.
Enregistrez ou récupérez chaque extrait renvoyé et conservez son ID réel, son type MIME et ses métadonnées. La méthode est synchrone ; aucune generationpollingURL distincte pour la génération musicale Ailoot n’est introduite.
Si la réponse d’origine doit être vérifiée
Si un résultat musical nécessite une vérification, conservez operation_id/X-Client-Request-ID d’origine et les informations des extraits renvoyés. Récupérez les extraits existants dont vous êtes propriétaire dans la bibliothèque de médias à l’aide des valeurs réelles task_id ou asset_id. Ne soumettez pas de nouveau la requête musicale et ne construisez pas d’URL d’interrogation de génération à partir d’operation_id.
Champs de la réponse
| Champ | Type |
|---|---|
Champmodel | Typestring |
Champresponse_id | Typestring |
Champdata[] | Typeowned clip record |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse400 · invalid_request_error | ConditionChamps obligatoires, représentation des contenus ou valeur de paramètre non valides | Étape suivanteCorrigez les champs indiqués avant une nouvelle requête de création. |
Réponseserver_error | ConditionLa réponse renvoyée indique que l’opération ou le résultat nécessite une vérification | Étape suivanteConservez l’identifiant d’opération/de tâche initialement renvoyé, les en-têtes de la requête et la réponse ; poursuivez les lectures prises en charge de cette opération d’origine. Ne soumettez pas à nouveau la requête de création. |
Alias
Alias du modèle
Ailoot google/lyria
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
FAQ · Lyria
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/music/generations·google/lyria:text→music- Quels champs la requête utilise-t-elle ?
POST /v1/music/generations·google/lyria:model,prompt,n,count- Quelles limites s’appliquent ?
POST /v1/music/generations·google/lyria:n.minimum:1;n.maximum:8;count.minimum:1;count.maximum:8