Lyria
Generación de música desde texto, con entre uno y ocho clips solicitados y entrega síncrona.
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
google/lyria crea música desde un prompt escrito mediante /v1/music/generations. Puedes solicitar una base instrumental contenida para una demostración de producto, describiendo instrumentos principales y espacio para narración. Elige esta ruta si necesitas un clip musical generado.
Exige model y prompt. n o count admite entre uno y ocho clips y el resultado se devuelve de forma síncrona. Guarda cada clip devuelto y sus metadatos reales. No expone referencia de audio, duración ni tempo como controles independientes. Describe intención musical sin tratarla como una propiedad medida garantizada de la salida.
Ailoot · Música POST /v1/music/generations google/lyria
google/lyriaInicio
Generación de música desde texto, con entre uno y ocho clips solicitados y entrega síncrona.
- Entradas aceptadas
- Texto
- Resultados
- music
Disponible en Ailoot · entradas y métodos
Ailoot · Música POST /v1/music/generations
- Entrada
text- Salida
music- Formato de salida
- clips de audio completos que te pertenecen / enlaces JSON
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites google/lyria | Predeterminado— |
Campoprompt | Tipostring | RequisitoObligatorio | Valores y límites Longitud mínima: 1 | Predeterminado— |
Campon | Tipointeger | RequisitoOpcional | Valores y límites Mínimo: 1 Máximo: 8 | Predeterminado1 |
Campocount | Tipointeger | RequisitoOpcional | Valores y límites Mínimo: 1 Máximo: 8 Condiciones: Si también se proporciona n, la cantidad debe coincidir | Predeterminado— |
Combinaciones de materiales de entrada
text_to_music · Obligatorio: prompt
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetromaterial_types | Contratotext |
Parámetrorequired | Contratonull |
Parámetrooptional_controls | Contratonull |
Ciclo de vida: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · El task_id real devuelto o el registro de la biblioteca multimedia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Las estructuras e ID de los métodos son exactos; la capacidad del proveedor y la admisión son conceptos distintos.
Tarifas
Tarifas de métodos Ailoot
POST /v1/music/generations- Salida
- USD 0.08 por clip
- Solo referencia · no se suma
- USD 0.08 por solicitud
Clips entregados × tarifa base por clip. La referencia por solicitud no se suma. Ejemplos antes de los ajustes aplicables.
1 × USD 0.08 = USD 0.08
4 × USD 0.08 = USD 0.32
Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot · Música
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
Recibir y guardar resultados
Ailoot · Música
clips de audio completos que te pertenecen / enlaces JSON
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Guarda o recupera cada clip devuelto y conserva su ID, MIME y metadatos reales. El método es síncrono; no se incorpora una URL de consulta independiente de Ailoot para la generación de música.
Si es necesario revisar la respuesta original
Si un resultado de música requiere verificación, conserva el operation_id/X-Client-Request-ID original y la información de los clips devueltos. Recupera los clips existentes que te pertenezcan desde la biblioteca multimedia usando valores reales de task_id o asset_id. No vuelvas a enviar la solicitud de música ni construyas una URL de consulta de generación a partir de operation_id.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campomodel | Tipostring |
Camporesponse_id | Tipostring |
Campodata[] | Tipoowned clip record |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónCampos obligatorios, representación del material o valor del parámetro no válidos | Siguiente pasoCorrige los campos indicados antes de una nueva solicitud de creación. |
Respuestaserver_error | CondiciónLa respuesta devuelta indica que la operación o el resultado requiere una revisión | Siguiente pasoConserva el ID original de operación o tarea devuelto, los encabezados de la solicitud y la respuesta; continúa con las consultas admitidas de esa operación original. No vuelvas a enviar la solicitud de creación. |
Alias
Alias del modelo
Ailoot google/lyria
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · Lyria
- ¿Qué entradas y resultados están disponibles?
POST /v1/music/generations·google/lyria:text→music- ¿Qué campos utiliza la solicitud?
POST /v1/music/generations·google/lyria:model,prompt,n,count- ¿Qué límites se aplican?
POST /v1/music/generations·google/lyria:n.minimum:1;n.maximum:8;count.minimum:1;count.maximum:8