Passer au contenu principal
La génération de musique est asynchrone. POST /v1/music/generations crée une tâche publique TokenLab et renvoie id / task_id, status, et généralement poll_url. Votre application doit stocker cette identité de tâche, afficher la progression et interroger jusqu’à un statut terminal.

Choisissez le Flux de Travail

Flux de travailChamps clésRemarques
Chanson complète ou instrumentalemodel, prompt, title optionnel, tags, action: "MUSIC"À utiliser lorsque l’utilisateur s’attend à un audio final
Paroles uniquementmodel, prompt, action: "LYRICS"À utiliser uniquement avec des modèles qui exposent la génération de paroles
Continuer un clip existantcontinue_clip_id, continue_at optionnelStockez l’identité du clip/tâche publique précédente avant d’offrir la continuation
Interrogez le catalogue de modèles actuel avant d’expédier une liste de modèles codée en dur :
curl "https://api.tokenlab.sh/v1/models?recommended_for=music" \
  -H "Authorization: Bearer sk-your-api-key"
Les exemples publics actuels utilisent suno_music pour la génération de musique. Pour les flux uniquement de paroles, envoyez action: "LYRICS" avec un modèle dont le contrat public documente la génération de paroles. Traitez les ID de modèle comme des ID publics TokenLab, et non comme une garantie que les champs spécifiques au fournisseur sont des champs de contrat public.

Créer une Tâche de Musique

curl https://api.tokenlab.sh/v1/music/generations \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno_music",
    "prompt": "Une piste synth-pop entraînante avec des voix chaleureuses et un refrain clair",
    "title": "Morning Static",
    "tags": "synth-pop, entraînant",
    "action": "MUSIC"
  }'
Gardez les prompts, titres et tags visibles par l’utilisateur et sûrs à stocker. Ne placez pas de clés API, d’URLs privées ou d’informations de routage internes dans aucun champ de prompt.

Interroger pour la Complétion

Utilisez d’abord poll_url. Si votre client a besoin d’une route fixe, appelez GET /v1/tasks/{id} avec le id ou task_id retourné.
curl "https://api.tokenlab.sh/v1/tasks/$TASK_ID" \
  -H "Authorization: Bearer sk-your-api-key"
Les statuts publics attendus sont pending, processing, completed, et failed. Une tâche de musique complétée peut inclure audio_url, video_url, title, lyrics, et des métadonnées normalisées. Stockez les URLs finales dans votre propre base de données afin que l’utilisateur puisse rouvrir le résultat sans redémarrer la génération.

Gestion de l’Interface Utilisateur et de l’État

  • Affichez un état en attente immédiatement après la création de la tâche.
  • Interrogez toutes les 5-10s pour les tâches longues, puis arrêtez sur completed ou failed.
  • Ne pas afficher de lecteur final tant que la tâche n’est pas completed et qu’un audio_url existe.
  • Pour les tâches uniquement de paroles, affichez la sortie texte séparément des tâches audio afin que les utilisateurs comprennent ce qu’ils achètent.
  • Lors d’un rafraîchissement, reprenez à partir du task_id stocké au lieu de créer une nouvelle tâche.

Facturation et Rapprochement

Les tâches de musique peuvent réserver un montant estimé au moment de la création et se régler après que le statut terminal soit connu. Stockez request_id, task_id, modèle, point de terminaison, et billing_transaction_id lorsqu’il apparaît. Utilisez les enregistrements d’utilisation de l’API de gestion pour le rapprochement au lieu des ID de tâche du fournisseur.

Erreurs Courantes

SymptômeCause probableSolution
Tâche créée mais pas de lecteurLa tâche est toujours en attente ou complétée sans audio_urlContinuez à interroger jusqu’à un statut terminal, puis traitez la sortie manquante comme un travail utilisateur échoué
Chansons dupliquées après rafraîchissementL’interface utilisateur a recréé la tâche au lieu de reprendrePersistez et réutilisez task_id
La tâche de paroles ne renvoie pas d’audioaction: "LYRICS" est uniquement textuelSéparez les chemins UI de paroles et de musique
Paramètre non pris en chargeLe champ n’est pas dans le contrat public du modèleSupprimez les champs spécifiques au fournisseur ou choisissez un modèle qui les documente

Référence API

SujetRéférence
Créer de la MusiqueCréer de la Musique
Obtenir le Statut de la MusiqueObtenir le Statut de la Musique
Obtenir le Statut de la TâcheObtenir le Statut de la Tâche
Lister les ModèlesLister les Modèles
Facturation & TarificationFacturation & Tarification