Referencia de la API
Música
Modelos de este endpoint (1)
/v1/music/generations/v1/music/tasks/{task_id}/v1/music/tasks/{task_id}/contentGeneración de música asíncrona para canciones e instrumentales. El envío devuelve un task_id de inmediato; consulta la tarea o acepta un callback de webhook y luego lee el audio terminado en /content.
#Parámetros de la solicitud
modelstringobligatorioUn ID de modelo de música de la página de modelos, p. ej. suno.
promptstringobligatorioDescribe la canción, el ambiente, la instrumentación o la dirección de la letra.
titlestringopcionalTítulo opcional de la pista, reenviado a las familias de modelos que lo admiten.
tagsstring | arrayopcionalPistas opcionales de género o estilo, como cinematic, pop o ambient.
versionstringopcionalSelector de versión de la familia de modelos cuando el proveedor ofrece varias generaciones.
mvstringopcionalSelector del modo musical propio del proveedor; mantenlo en el servidor salvo que los usuarios necesiten un control explícito.
instrumentalbooleanopcionalGenera una salida instrumental sin voz cuando el modelo lo admite.
make_instrumentalbooleanopcionalFlag alternativo del proveedor para salida instrumental; algunos proveedores lo usan en lugar de instrumental.
continue_clip_idstringopcionalContinúa o extiende un clip anterior en lugar de empezar una pista nueva.
continue_atnumberopcionalPunto de reanudación en segundos para los flujos de continuación.
webhook_urlstringopcionalURL HTTPS a la que se llama cuando la tarea llega a un estado final.
webhook_secretstringopcionalSi se define, las entregas incluyen X-Xiaoxiang-Signature: sha256=hex(HMAC-SHA256(body, secret)).
Empieza simple
El mismo contrato asíncrono que otras tareas multimedia
#Errores relacionados
- 404 not_foundRuta desconocida, nombre de modelo desconocido, o un task_id caducado o de otra cuenta.
- 422 unprocessable_entityEl proveedor rechazó valores de parámetros que el gateway reenvió (p. ej. tamaño o duración no admitidos).
- 401Bearer token no válido o ausente. Esta ruta no tiene error.code — compara por el estado.
- 402 insufficient_user_quotaEl saldo de la billetera no cubre la estimación reservada previamente.
- 429Limitación por clave. Cuerpo vacío; espera el Retry-After. Un 429 que sí incluye insufficient_user_quota indica en cambio un límite de gasto diario.
- 503 model_not_foundModelo desconocido, o ningún canal sano lo atiende ahora mismo.
#Ejemplo de solicitud
# submit
curl https://www.aisplice.store/v1/music/generations \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno",
"prompt": "a warm cinematic piano theme",
"instrumental": true
}'
# poll every 5s
curl https://www.aisplice.store/v1/music/tasks/$TASK_ID -H "Authorization: Bearer sk-YOUR_KEY"
# fetch the finished track
curl -L https://www.aisplice.store/v1/music/tasks/$TASK_ID/content \
-H "Authorization: Bearer sk-YOUR_KEY" \
-o song.mp3#Respuesta
// POST — submit accepted
{"task_id": "task_xxx", "status": "queued"}
// GET /v1/music/tasks/{task_id}
{
"task_id": "task_xxx",
"status": "in_progress",
"progress": "42%"
}
// GET /v1/music/tasks/{task_id}/content
{
"task_id": "task_xxx",
"status": "completed",
"metadata": {
"audio_url": "https://…",
"lyric": "…"
}
}¿Sigues con el problema?
Envíanos el ID de solicitud o el mensaje de error y lo revisaremos.