Par capacité
Musique
La musique s'exécute sous forme de tâche : soumettez un prompt, puis revenez vérifier ou recevez un callback. Commencez avec le prompt seul.
#1. Choisir un modèle
suno$0.07 / requêteLimites et état
1 modèles en ligne pour cet usage. En changer modifie le code ci-dessous.
#2. Copier la requête
Remplacez YOUR_API_KEY par votre clé, puis exécutez la requête. Les options affichées sont celles que ce modèle accepte.
https://www.aisplice.store/v1/music/generationsBearer API keyTâche asynchroneOptionsSeules les options publiées pour ce modèle sont affichées.
# Requires curl and jq
API_KEY="${API_KEY:-YOUR_API_KEY}"
# 1. Submit once
SUBMITTED=$(curl --fail-with-body -sS https://www.aisplice.store/v1/music/generations \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: model-docs-$(date +%s)-$$" \\
-d '{
"model": "Suno",
"prompt": "An uplifting electronic track for a product launch",
"operation": "music",
"version": "v6",
"custom": false,
"instrumental": false
}')
TASK_ID=$(printf '%s' "$SUBMITTED" | jq -r '.task_id // .id // empty')
if [ -z "$TASK_ID" ]; then
printf '%s\n' "$SUBMITTED" >&2
exit 1
fi
echo "task_id=$TASK_ID"
# 2. Poll until terminal
while true; do
STATUS_JSON=$(curl --fail-with-body -sS \
"https://www.aisplice.store/v1/music/tasks/$TASK_ID" \
-H "Authorization: Bearer $API_KEY")
STATUS=$(printf '%s' "$STATUS_JSON" | jq -r '.status // empty' | tr '[:upper:]' '[:lower:]')
echo "status=$STATUS"
case "$STATUS" in
completed|succeeded|success) break ;;
failed|failure|cancelled|canceled)
printf '%s\n' "$STATUS_JSON" | jq .
exit 1
;;
esac
sleep 3
done
# 3. Fetch the final result
curl --fail-with-body -sS \
"https://www.aisplice.store/v1/music/tasks/$TASK_ID/content" \
-H "Authorization: Bearer $API_KEY" | jq .Tous les paramètres
Tous les champs acceptés par ce modèle, avec les valeurs autorisées.
Tous les paramètres
Tous les champs acceptés par ce modèle, avec les valeurs autorisées.
promptInstruction décrivant le résultat souhaité.
Cycle de la réponse
Statut des tâches, états finaux et exemples de réponses de résultat.
Cycle de la réponse
Statut des tâches, états finaux et exemples de réponses de résultat.
{
"id": "task_xxx",
"task_id": "task_xxx",
"object": "music.task",
"model": "Suno",
"status": "queued"
}En attente
queued · submitted · in_progress · processing
Succès
completed · succeeded · success
Échec
failed · failure · cancelled · canceled
#3. Obtenir le résultat
L'appel de soumission répond immédiatement avec un task_id. Vérifiez la tâche toutes les quelques secondes jusqu'à ce que status vaille completed, ou transmettez webhook_url et nous vous appellerons une fois la tâche terminée.
GET https://www.aisplice.store/v1/music/tasks/{task_id}
GET https://www.aisplice.store/v1/music/tasks/{task_id}/content
Facturé uniquement en cas de succès
Valeurs de statut et interrogation →Recevoir un callback au lieu d'interroger →
#En cas de problème
- 400 avec un nom de champ : cette option n'est pas acceptée par ce modèle ; utilisez les valeurs listées à l'étape 2.
- Contenu refusé par le modèle : reformulez le prompt ; les requêtes refusées ne sont pas facturées.
- 402 : le solde ne couvre pas cette requête ; rechargez dans Portefeuille, puis réessayez.
- 429 : ralentissez et réessayez après le nombre de secondes indiqué par Retry-After.
- 503 model_not_found : le nom du modèle est incorrect ou le modèle est hors ligne ; choisissez-en un à l'étape 1.
L'intégrer à votre produitLes options à montrer en premier à vos utilisateurs, et celles à garder pour plus tard.
Les options à montrer en premier à vos utilisateursCommencez par le prompt et un seul réglage de prix ; ajoutez le reste une fois le parcours de base fonctionnel.+
Intention créative
Les champs comme prompt ont leur place dans l'interface, car l'utilisateur comprend directement le résultat qu'ils modifient.
Multiplicateur de coût
Les champs comme duration, resolution, size et count ne doivent être introduits que lorsque la tarification est déjà explicable.
Changement de mode
Les champs comme image, mask ou les ID de continuation changent le workflow lui-même et ne doivent apparaître que dans des modes dédiés.
Mécanique interne
Les champs comme webhook_secret s'adressent aux intégrateurs, pas aux créateurs au quotidien : gardez-les hors de l'interface par défaut.
prompt- Quand l'exposer
- Toujours. C'est l'entrée minimale pour générer de la musique.
- Valeur par défaut recommandée
- Obligatoire dans l'interface.
- Pourquoi c'est important
- Il porte le thème, le genre et la direction émotionnelle.
instrumental / make_instrumental- Quand l'exposer
- À exposer lorsque le produit distingue clairement une sortie chantée d'une sortie instrumentale.
- Valeur par défaut recommandée
- Garder côté serveur, sauf si les utilisateurs choisissent entre pistes chantées et instrumentales.
- Pourquoi c'est important
- Ce paramètre change le type de sortie et doit correspondre à un choix métier clair.
title / tags- Quand l'exposer
- À exposer uniquement une fois que les utilisateurs maîtrisent déjà la génération par prompt seul.
- Valeur par défaut recommandée
- Champs avancés facultatifs.
- Pourquoi c'est important
- Ils aident à contrôler le style, mais ne doivent pas freiner le premier succès.
version / mv- Quand l'exposer
- À exposer uniquement si les utilisateurs doivent choisir une famille de modèles ou un mode de génération.
- Valeur par défaut recommandée
- Fixez une version recommandée côté serveur.
- Pourquoi c'est important
- Ce paramètre alourdit les décisions et relève généralement des réglages d'exploitation.
continue_clip_id / continue_at- Quand l'exposer
- À exposer uniquement dans les workflows de continuation ou d'extension.
- Valeur par défaut recommandée
- Masquer dans les parcours de création standard.
- Pourquoi c'est important
- Ce sont des réglages experts qui déroutent les nouveaux utilisateurs s'ils apparaissent trop tôt.
Phase 1
- prompt
- one size or one duration default
- submit -> poll -> content
Phase 2
- one quality or resolution selector
- clear pricing hint
Phase 3
- advanced controls such as reference media, continuation, webhook, or vendor-specific tuningUne seule source de vérité pour les résultats
Toujours bloqué ?
Envoyez-nous l'ID de requête ou le message d'erreur, et nous examinerons le problème.