API d'envoi d'audio source

Mis à jour le 2026-09-18 · équipe Suno-API

Description du point d'accès

L'envoi d'audio source transforme un fichier audio local ou distant en clip source utilisable par les capacités suivantes : cover, extension, remplacement de section, séparation, etc.

Point d'accès : POST /api/music/upload-source

Facturation : Gratuit. Ce point d'accès ne fait qu'envoyer l'audio source ; il ne démarre aucune tâche de génération.

Utilisation recommandée : c'est l'étape 1 du « cover en deux étapes ». Envoyez d'abord l'audio avec ce point d'accès (c'est gratuit et vous pouvez réessayer à tout moment en cas d'échec) et conservez le clip_id renvoyé ; après avoir confirmé que l'envoi a abouti (status dans un état terminé), appelez l'API de cover à partir d'un clip source pour lancer le cover — le corps de cette requête ne fait que quelques centaines d'octets, il ne peut donc pas être tronqué en transit parce que l'audio est trop volumineux. Par rapport à l'API en une seule fois envoyer puis faire un cover, cette séparation est plus robuste lorsque l'audio est volumineux, le réseau instable, ou que la même matière doit être réutilisée plusieurs fois (extension / remplacement / séparation).

Conseils pour l'envoi de gros fichiers

Situation Approche recommandée
L'audio est déjà public (lien direct https) Utilisez file_url : le corps de la requête ne fait que quelques centaines d'octets, l'option la plus robuste
Fichier local (Node / Python / bureau) Utilisez un envoi multipart (-F "file=@source.mp3") et ne définissez pas Content-Type manuellement
Seul JSON + base64 est possible Attention : Content-Length doit être le nombre d'octets (Buffer.byteLength), sinon le corps peut être tronqué

Une fois l'envoi terminé, vérifiez toujours que le status de la réponse est bien un état terminé et conservez le clip_id avant de passer à l'étape 2 ; un envoi en échec n'est pas facturé et ne crée aucune tâche de génération : il suffit de réessayer.

Paramètres de la requête

Headers

Pour les requêtes JSON :

Paramètre Type Obligatoire Remarques
Authorization string oui Bearer YOUR_API_KEY
Content-Type string oui application/json

Ne définissez pas Content-Type manuellement pour les requêtes multipart ; le client le génère automatiquement.

Paramètres du corps

Paramètre Type Obligatoire Par défaut Remarques
model string non suno-v6 Nom de modèle côté client : suno-v6, suno-v6-wild ou suno-v6-mini
file_url string non - URL de l'audio distant
file_base64 string non - Audio en Base64
file_name string non - Nom du fichier
upload_type string non file_upload Type d'envoi

Exemple de requête JSON

curl -X POST https://www.suno-api.io/api/music/upload-source \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-v6",
    "file_url": "https://example.com/source.mp3",
    "file_name": "source.mp3",
    "upload_type": "file_upload"
  }'

Exemple de requête multipart

curl -X POST https://www.suno-api.io/api/music/upload-source \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@source.mp3" \
  -F "file_name=source.mp3" \
  -F "upload_type=file_upload" \
  -F "model=suno-v6"

Réponse

{
  "clip_id": "uploaded_clip_id",
  "status": "complete",
  "title": "source.mp3",
  "image_url": "https://...",
  "audio_url": "https://...",
  "display_tags": "pop, vocal",
  "inferred_description": "uploaded source audio",
  "clip_metadata": {}
}
SuivantAPI d'envoi renforcé

Obtenir une clé d'API

Créez une clé d'API dans la console après votre inscription. Chaque génération coûte 0,6 ¥ et renvoie 2 pistes, les téléchargements sont illimités et aucun numéro de téléphone n'est requis.

Obtenir une clé d'API Retour à la présentation