Kaynak ses yükleme API'si
Uç nokta açıklaması
Kaynak ses yükleme, yerel veya uzak bir ses dosyasını sonraki yeteneklerin kullanabileceği bir kaynak klip'e dönüştürür: cover, uzatma, bölüm değiştirme, kanal ayırma ve diğerleri.
Uç nokta: POST /api/music/upload-source
Faturalama: Ücretsiz. Bu uç nokta yalnızca kaynak sesi yükler; üretim görevi başlatmaz.
Önerilen kullanım: bu «iki adımlı cover»ın 1. adımıdır. Önce sesi bu uç noktayla yükleyin (ücretsizdir ve başarısız olduğunda istediğiniz zaman yeniden deneyebilirsiniz) ve dönen
clip_iddeğerini saklayın; yüklemenin başarılı olduğunu doğruladıktan sonra (statustamamlanmış durumda), cover'ı başlatmak için kaynak klipten cover API'sini çağırın — o adımın istek gövdesi yalnızca birkaç yüz bayttır, bu yüzden ses çok büyük olduğu için iletim sırasında kesilemez. Tek seferlik yükle ve cover yap API'sine kıyasla bu ayrım ses büyükse, ağ kararsızsa veya aynı malzeme birden çok kez kullanılacaksa (uzatma / değiştirme / ayırma) daha güvenilirdir.
Büyük dosya yükleme önerileri
| Durum | Önerilen yaklaşım |
|---|---|
| Ses zaten herkese açık (https doğrudan bağlantısı var) | file_url kullanın: istek gövdesi yalnızca birkaç yüz bayt, en güvenilir seçenek |
| Yerel dosya (Node / Python / masaüstü) | multipart yükleme kullanın (-F "file=@source.mp3") ve Content-Type değerini elle ayarlamayın |
| Yalnızca JSON + base64 mümkün | Dikkat: Content-Length bayt sayısı olmalıdır (Buffer.byteLength), aksi halde gövde kesilebilir |
Yükleme bittikten sonra yanıttaki status değerinin tamamlanmış olduğunu mutlaka doğrulayın ve 2. adıma geçmeden clip_id değerini saklayın;
başarısız yükleme ücretlendirilmez ve üretim görevi oluşturmaz — yeniden denemeniz yeterlidir.
İstek parametreleri
Headers
JSON istekleri için:
| Parametre | Tür | Zorunlu | Notlar |
|---|---|---|---|
| Authorization | string | evet | Bearer YOUR_API_KEY |
| Content-Type | string | evet | application/json |
multipart isteklerinde Content-Type değerini elle ayarlamayın; istemci otomatik oluşturur.
Gövde parametreleri
| Parametre | Tür | Zorunlu | Varsayılan | Notlar |
|---|---|---|---|---|
| model | string | hayır | suno-v6 | Müşteriye görünen model adı: suno-v6, suno-v6-wild veya suno-v6-mini |
| file_url | string | hayır | - | Uzak sesin URL'si |
| file_base64 | string | hayır | - | Base64 ses |
| file_name | string | hayır | - | Dosya adı |
| upload_type | string | hayır | file_upload | Yükleme türü |
JSON istek örneği
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 istek örneği
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"
Yanıt
{
"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 anahtarı alın
Kaydolduktan sonra konsoldan bir API anahtarı oluşturun. Her üretim 0,6 ¥ tutarındadır ve 2 parça döner, indirmeler sınırsızdır ve telefon numarası gerekmez.
API anahtarı al Genel bakışa dön