API zum Hochladen von Quellaudio
Beschreibung des Endpunkts
Das Hochladen von Quellaudio macht aus einer lokalen oder entfernten Audiodatei einen Quell-Clip, den spätere Funktionen nutzen können: Cover, Verlängern, Abschnitt ersetzen, Stem-Trennung und weitere.
Endpunkt: POST /api/music/upload-source
Abrechnung: Kostenlos. Dieser Endpunkt lädt nur das Quellaudio hoch; er startet keinen Generierungsauftrag.
Empfohlene Nutzung: Das ist Schritt 1 des „zweistufigen Covers“. Laden Sie das Audio zuerst mit diesem Endpunkt hoch (kostenlos, bei Fehlschlag jederzeit wiederholbar) und speichern Sie die zurückgegebene
clip_id; nachdem Sie bestätigt haben, dass der Upload erfolgreich war (statusin einem abgeschlossenen Zustand), rufen Sie die Cover-aus-Quell-Clip-API auf, um das Cover zu starten — dieser Request-Body ist nur wenige hundert Bytes groß und kann daher nicht abgeschnitten werden, weil das Audio zu groß ist. Verglichen mit der Einmal-API Hochladen und covern ist diese Aufteilung robuster, wenn das Audio groß ist, das Netz instabil ist oder dasselbe Material mehrfach wiederverwendet wird (Verlängern / Ersetzen / Stem-Trennung).
Hinweise für große Uploads
| Situation | Empfohlenes Vorgehen |
|---|---|
| Das Audio ist bereits öffentlich (https-Direktlink) | file_url verwenden: der Request-Body ist nur wenige hundert Bytes, die robusteste Variante |
| Lokale Datei (Node / Python / Desktop) | multipart-Upload verwenden (-F "file=@source.mp3") und Content-Type nicht manuell setzen |
| Nur JSON + base64 möglich | Beachten: Content-Length muss die Byte-Anzahl sein (Buffer.byteLength), sonst kann der Body abgeschnitten werden |
Bestätigen Sie nach dem Upload immer, dass status in der Antwort bereits abgeschlossen ist, und speichern Sie die clip_id, bevor Sie zu Schritt 2 übergehen;
ein fehlgeschlagener Upload wird nicht berechnet und erzeugt keinen Generierungsauftrag — einfach erneut versuchen.
Anfrageparameter
Headers
Für JSON-Anfragen:
| Parameter | Typ | Erforderlich | Hinweise |
|---|---|---|---|
| Authorization | string | ja | Bearer YOUR_API_KEY |
| Content-Type | string | ja | application/json |
Setzen Sie Content-Type bei multipart-Anfragen nicht manuell; der Client erzeugt ihn automatisch.
Body-Parameter
| Parameter | Typ | Erforderlich | Standard | Hinweise |
|---|---|---|---|---|
| model | string | nein | suno-v6 | Modellname für Kunden: suno-v6, suno-v6-wild oder suno-v6-mini |
| file_url | string | nein | - | URL des entfernten Audios |
| file_base64 | string | nein | - | Audio als Base64 |
| file_name | string | nein | - | Dateiname |
| upload_type | string | nein | file_upload | Upload-Typ |
JSON-Beispielanfrage
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"
}'
multipart-Beispielanfrage
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"
Antwort
{
"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": {}
}
API-Schlüssel erhalten
Erstellen Sie nach der Anmeldung einen API-Schlüssel in der Konsole. Jede Generierung kostet 0,6 ¥ und liefert 2 Tracks, Downloads sind unbegrenzt und eine Telefonnummer ist nicht erforderlich.
API-Schlüssel holen Zurück zur Übersicht