Référence API
Musique
/v1/music/generations/v1/music/tasks/{task_id}/v1/music/tasks/{task_id}/contentGénération de musique asynchrone pour les chansons et les instrumentaux. La soumission renvoie immédiatement un task_id ; interrogez la tâche ou recevez un callback webhook, puis lisez l'audio terminé depuis /content.
#Paramètres de la requête
modelstringobligatoireUn ID de modèle de musique issu de la page des modèles, par ex. suno.
promptstringobligatoireDécrivez la chanson, l'ambiance, l'instrumentation ou l'orientation des paroles.
titlestringfacultatifTitre de piste facultatif, transmis aux familles de modèles qui le prennent en charge.
tagsstring | arrayfacultatifIndications facultatives de genre ou de style, comme cinematic, pop ou ambient.
versionstringfacultatifSélecteur de version de la famille de modèles lorsque le fournisseur propose plusieurs générations.
mvstringfacultatifSélecteur de mode musical propre au fournisseur ; gardez-le côté serveur sauf si les utilisateurs ont besoin d'un contrôle explicite.
instrumentalbooleanfacultatifGénère une sortie instrumentale sans voix lorsque le modèle le permet.
make_instrumentalbooleanfacultatifIndicateur alternatif pour une sortie instrumentale ; certains fournisseurs l'utilisent à la place de instrumental.
continue_clip_idstringfacultatifProlonge ou étend un clip précédent au lieu de démarrer une nouvelle piste.
continue_atnumberfacultatifPoint de reprise en secondes pour les parcours de continuation.
webhook_urlstringfacultatifURL HTTPS appelée dès que la tâche atteint un état final.
webhook_secretstringfacultatifSi défini, les envois portent X-Xiaoxiang-Signature: sha256=hex(HMAC-SHA256(body, secret)).
Commencez simplement
Même contrat asynchrone que les autres tâches média
#Erreurs associées
- 404 not_foundChemin inconnu, nom de modèle inconnu, ou task_id expiré / appartenant à un autre compte.
- 422 unprocessable_entityLe fournisseur a rejeté des valeurs de paramètres transmises par la passerelle (par ex. taille ou durée non prise en charge).
- 401Jeton bearer invalide ou manquant. Pas de error.code sur ce chemin — basez-vous sur le statut.
- 402 insufficient_user_quotaLe solde du portefeuille ne couvre pas l'estimation préréservée.
- 429Limitation par clé. Corps vide ; attendez Retry-After. Un 429 qui contient insufficient_user_quota correspond en revanche à un plafond de dépenses quotidien.
- 503 model_not_foundModèle inconnu, ou aucun canal opérationnel ne le sert actuellement.
#Exemple de requête
# 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#Réponse
// 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": "…"
}
}Toujours bloqué ?
Envoyez-nous l'ID de requête ou le message d'erreur, et nous examinerons le problème.