Ses klonlama ve belirtilen sesle üretim API'si (önerilmez)
⛔ Eski yol, yeni entegrasyonlar için önerilmez. Bu sayfa ilk dönem
personayolunu (voice_task_id/generate-with-voice) anlatır. Hâlâ çalışır, ancak müşterilere artık önerilmez; soldaki menüde "önerilmez" olarak işaretlenmiştir.Yeni entegrasyonlar için 【Önerilir】 Ses profili API'sini kullanın: tek bir vokal örneğinden ses profili oluşturun (
POST /api/music/voice-profile/create) ve bu profille seçtiğiniz şarkıyı cover'layın ya da yeni bir şarkı söyletin. Ses profili birinci sınıf bir kaynaktır: listelenebilir, sorgulanabilir ve silinebilir; kaynak ses kalıcı olarak saklanır.Ürününüzün "ses oluştur → uzun süre yeniden kullan → cover'la" döngüsünün tamamına ihtiyacı varsa yeni yolu tercih edin.
Önemli: klonlanan ses süresi dolabilir.
Ses klonlamanın ürettiği
voice_id/voice_task_idkalıcı olarak kullanılabilen bir kaynak değildir; geçerlilik süresi, hesap durumu veya ses durumundaki değişiklikler nedeniyle çalışmayı bırakabilir. Entegrasyon yapan taraf, bir kez klonlayıp yerel önbellekteki ses kimliğini sonsuza kadar yeniden kullanmamalıdır.Önerilen yaklaşım:
voice_task_id,voice_id,is_available,updated_atve son başarılı üretim zamanını saklayın.- Klonlanmış sesle üretim yapmadan önce her seferinde
GET /api/voice/clone/tasks/{voice_task_id}veyaPOST /api/voice/clone/tasks/{voice_task_id}/checkçağırıpis_available=trueolduğunu doğrulayın.- Uç nokta sesin kullanılamadığını, görevin bulunmadığını veya
selected voice is not readydöndürürse kullanıcıdan yeniden klonlamasını ya da başka bir kullanılabilir ses seçmesini isteyin.- Son kullanıcıya klonlanan sesin "kalıcı bir varlık" olduğunu vaat etmeyin; ürün arayüzünde "ses süresi dolabilir, yeniden doğrulama veya yeniden klonlama gerekebilir" bilgisini gösterin.
Uç nokta açıklaması
Bu uç nokta grubu yeniden kullanılabilir bir ses oluşturur ve o sesle şarkı üretir. Çağıran taraf yalnızca platformun verdiği API anahtarını kullanır; görev gönderimi, durum eşitleme, faturalama ve indirme sunucu tarafında yürütülür.
Kimlik doğrulama: Authorization: Bearer YOUR_API_KEY
Faturalama:
- Ses doğrulama, ses klonlama, durum sorgulama, silme ve indirme: ücretsiz.
- Çalışma alanındaki tek adımda klonlama girişi: çağrı başına sabit 5 ¥; kaynak sesin doğrulamasını ve ikinci doğrulama sesini otomatik tamamlar, hata olursa iade edilir.
- Normal klonlamadan sonra otomatik olarak doğrulama sesine geçme: çağrı başına sabit 5 ¥; hata durumunda mevcut akışa göre iade edilir.
- Klonlanmış sesle şarkı üretme: ücretli, çağrı başına sabit 1,2 ¥; her çağrı genelde 2 yer tutucu görev döndürür.
- Max Mode açıkken (
POST /api/music/generate-with-voiceiçindemax_mode: true) bu çağrı başına 1,2 ¥ 2 katı olarak, yani çağrı başına 2,4 ¥ olarak faturalanır; ses üretimi devarietydestekler (0-4, ek ücret yok); değer kuralları yeni API'ye genel bakış sayfasının "Gelişmiş parametreler" bölümündedir.
Çağrı akışı
POST /api/voice/clone/validateçağırıp kaynak sesi yükleyin vevoice_task_idalın.GET /api/voice/clone/tasks/{voice_task_id}çağrısını bekleyin veya yoklayın,validate_infobilgisini alın.- Kullanıcı bu metni yüksek sesle okur ve doğrulama sesini kaydeder.
POST /api/voice/clone/tasks/{voice_task_id}/generateçağırıp doğrulama sesini gönderin.POST /api/voice/clone/tasks/{voice_task_id}/checkçağırın veya görevi sorgulamaya devam edipis_available=trueolana kadar bekleyin.POST /api/music/generate-with-voiceçağırıp bu sesle şarkı üretin.- Üretim uç noktası önce yer tutucu görevleri döndürür; üretim tamamlanıp gerçek
song_idalındığında indirme uç noktalarıyla tek dosya veya paket indirebilirsiniz. - (İsteğe bağlı) Ses artık gerekmediğinde
DELETE /api/voice/clone/voices/{voice_task_id}çağırıp silin; anlamı 6. bölümde.
Ayrıca tek adımda klonlama vardır: çalışma alanındaki ilk kayıt/kaynak ses yükleme sayfasında tek seferde tamamlamayı seçebilirsiniz; sistem doğrulama ile ses oluşturmayı birlikte yapar, böylece ikinci bir doğrulama sesi kaydetmeniz gerekmez; çağrı başına 5 ¥ olup hata durumunda iade edilir.
Ses görevi alanları
| Alan | Tür | Açıklama |
|---|---|---|
voice_task_id |
number | Platform içindeki ses görevi kimliği; sonraki tüm uç noktalar bu kimliği kullanır |
voice_id |
string | Şarkı üretmek için kullanılabilen ses kimliği; görev kullanılabilir olduğunda döner |
voice_name |
string | Ses adı |
description |
string | Ses açıklaması |
style |
string | Ses stili |
singer_skill_level |
string | Vokal seviyesi; yaygın değerler: beginner, intermediate, professional |
language |
string | Kaynak sesin dili, örneğin zh, en |
validate_info |
string | Yüksek sesle okunması gereken doğrulama metni |
validate_status |
string | Doğrulama görevinin durumu |
voice_status |
string | Ses oluşturma durumu |
is_available |
boolean | Şarkı üretmek için kullanılabilir olup olmadığı |
status |
string | Platformdaki görev durumu |
stage |
string | Geçerli aşama |
error_code |
string | Hata durumunda hata kodu |
error_message |
string | Hata nedeni |
source_duration_seconds |
number | Kaynak ses süresi, saniye |
created_at |
number | Oluşturma zaman damgası |
updated_at |
number | Güncelleme zaman damgası |
completed_at |
number | Tamamlanma zaman damgası |
1. Kaynak sesi doğrulamaya gönderin
Uç nokta: POST /api/voice/clone/validate
Gövde parametreleri
| Parametre | Tür | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|---|
voice_url |
string | Hayır | - | Kaynak sesin ses dosyası URL'si. Bu ya da file_base64 |
file_base64 |
string | Hayır | - | Base64 ses. Bu ya da voice_url |
file_name |
string | Hayır | - | Dosya adı; file_base64 kullanırken önerilir |
voice_name |
string | Hayır | otomatik oluşturulur | Ses adı |
description |
string | Hayır | - | Ses açıklaması |
style |
string | Hayır | - | Ses stili |
singer_skill_level |
string | Hayır | beginner |
Vokal seviyesi |
language |
string | Hayır | zh |
Kaynak sesin dili |
vocal_start_s |
number | Evet | - | Kullanılabilir vokalin başlangıç saniyesi |
vocal_end_s |
number | Evet | - | Kullanılabilir vokalin bitiş saniyesi |
source_duration_seconds |
number | Hayır | - | Kaynak sesin toplam süresi, saniye |
vocal_end_s - vocal_start_sen kısa vokal parçası koşulunu sağlamalıdır. Belirgin eşlik ve gürültü içermeyen temiz bir vokal kaydı yükleyin.
İstek örneği
curl -X POST https://www.suno-api.io/api/voice/clone/validate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"voice_url": "https://example.com/source-voice.wav",
"voice_name": "Çince kadın sesim",
"description": "Net ve doğal Çince kadın sesi",
"style": "Mandopop",
"singer_skill_level": "intermediate",
"language": "zh",
"vocal_start_s": 1.2,
"vocal_end_s": 18.5,
"source_duration_seconds": 20
}'
Yanıt örneği
{
"success": true,
"message": "",
"data": {
"voice": {
"voice_task_id": 123,
"voice_name": "Çince kadın sesim",
"language": "zh",
"validate_status": "submitted",
"is_available": false,
"status": "validate_submitted",
"stage": "validate_submitted",
"created_at": 1780480000,
"updated_at": 1780480000
}
}
}
2. Ses görevini sorgulayın
Uç nokta: GET /api/voice/clone/tasks/{voice_task_id}
İstek örneği
curl https://www.suno-api.io/api/voice/clone/tasks/123 \
-H "Authorization: Bearer YOUR_API_KEY"
Yanıt örneği
{
"success": true,
"message": "",
"data": {
"voice": {
"voice_task_id": 123,
"voice_name": "Çince kadın sesim",
"validate_info": "Burada dönen doğrulama metnini yüksek sesle okuyun",
"validate_status": "success",
"is_available": false,
"status": "validate_ready",
"stage": "validate_callback"
}
}
}
3. Doğrulama metnini yeniden oluşturun
Uç nokta: POST /api/voice/clone/tasks/{voice_task_id}/regenerate
Doğrulama metni yüksek sesle okumaya uygun değilse veya doğrulamanın yeniden yapılması gerekiyorsa çağırın.
curl -X POST https://www.suno-api.io/api/voice/clone/tasks/123/regenerate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
4. Doğrulama sesini gönderin ve sesi oluşturun
Uç nokta: POST /api/voice/clone/tasks/{voice_task_id}/generate
Gövde parametreleri
| Parametre | Tür | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|---|
verify_url |
string | Hayır | - | Doğrulama metninden okunan sesin URL'si. Bu ya da file_base64 |
file_base64 |
string | Hayır | - | Base64 doğrulama sesi. Bu ya da verify_url |
file_name |
string | Hayır | - | Dosya adı; file_base64 kullanırken önerilir |
voice_name |
string | Hayır | görev adı | Ses adı |
description |
string | Hayır | görev açıklaması | Ses açıklaması |
style |
string | Hayır | görev stili | Ses stili |
singer_skill_level |
string | Hayır | görev ayarı | Vokal seviyesi |
İstek örneği
curl -X POST https://www.suno-api.io/api/voice/clone/tasks/123/generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"verify_url": "https://example.com/verify-voice.wav",
"voice_name": "Çince kadın sesim"
}'
5. Sesin kullanılabilir olup olmadığını kontrol edin
Uç nokta: POST /api/voice/clone/tasks/{voice_task_id}/check
curl -X POST https://www.suno-api.io/api/voice/clone/tasks/123/check \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Görev kullanılabilir olduğunda yanıttaki is_available değeri true olur ve bir voice_id döner.
6. Sesi silin
Uç nokta: DELETE /api/voice/clone/voices/{voice_task_id}
Faturalama: ücretsiz.
curl -X DELETE https://www.suno-api.io/api/voice/clone/voices/123 \
-H "Authorization: Bearer YOUR_API_KEY"
Yanıt örneği
{
"success": true,
"message": "",
"data": {
"voice_task_id": 123,
"deleted": true
}
}
| Alan | Tür | Açıklama |
|---|---|---|
| voice_task_id | number | Silinen ses görevinin kimliği |
| deleted | boolean | Her zaman true; silme isteğinin kabul edildiğini gösterir |
Silme sonrasında ne olur
- Yeni şarkı üretmek için kullanılamaz: bu
voice_task_id(veyavoice_id) ilePOST /api/music/generate-with-voiceçağrısı reddedilir, hata mesajıselected voice is not readyolur ve ücret alınmaz. - Onunla üretilmiş şarkılar hiç etkilenmez: oynatma, indirme, devam ettirme, değiştirme ve track ayırma eskisi gibi çalışır.
- Bu ses görevi sorgulardan kaybolur:
GET /api/voice/clone/tasks/{voice_task_id}çağrısırecord not founddöndürür. - Kaynak ses, platformun kalıcı saklama politikasına göre saklanır (2026-09-23'ten itibaren silme işlemi yüklediğiniz vokal örneğini artık temizlemez), ancak bu, geri getirilebileceği anlamına gelmez: bu eski görev sona ermiştir ve aynı sesi kullanmaya devam etmek için klonlama akışını baştan yürütmeniz gerekir; yeni bir
voice_task_idalırsınız. - İkinci kez silme: aynı görevi tekrar silmek
record not founddöndürür (artık silinmiş durumdadır ve bulunamaz).
7. Klonlanmış sesle şarkı üretin
Uç nokta: POST /api/music/generate-with-voice
Faturalama: çağrı başına 1,2 ¥.
Gövde parametreleri
| Parametre | Tür | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|---|
voice_task_id |
number | Evet | - | Kullanılabilir durumdaki ses görevinin kimliği |
voice_id |
string | Hayır | - | İsteğe bağlı doğrulama alanı; gönderirseniz görevdeki voice_id ile aynı olmalıdır |
customMode |
boolean | Hayır | false |
false ilham modu, true gelişmiş mod |
prompt |
string | Evet | - | İlham modunda şarkı açıklaması, gelişmiş modda şarkı sözleri. İkisi de boş olamaz |
style |
string | Gelişmiş modda evet | - | Stil etiketleri; customMode=true iken boş olamaz |
title |
string | Gelişmiş modda evet | - | Şarkı başlığı; customMode=true iken boş olamaz |
negativeTags |
string | Hayır | - | Hariç tutulacak stil |
instrumental |
boolean | Hayır | false |
Uyumluluk alanı; klonlanmış sesle üretim her zaman vokalli şarkı olarak işlenir |
waitAudio |
boolean | Hayır | false |
Uyumluluk alanı; bu uç nokta her zaman yer tutucu görevleri eşzamanlı olmayan biçimde döndürür ve sesi beklemez |
model |
string | Hayır | suno-v6 |
Normal şarkı üretim modeli; suno-v6, suno-v6-wild veya suno-v6-mini |
vocalGender |
string | Hayır | - | Vokal cinsiyet tercihi |
lyricsMode |
string | Hayır | - | Uyumluluk alanı; mevcut klonlanmış ses gönderim yolu şarkı sözü modunu tek başına değiştirmez |
weirdnessConstraint |
number | Hayır | - | Yaratıcılık gücü |
styleWeight |
number | Hayır | - | Stil ağırlığı |
audioWeight |
number | Hayır | platform varsayılanı | Audio Influence (referans sesin ne kadar önemsendiği), aralık 0.0-1.0. Gönderilmezse platform varsayılanı uygulanır (resmî arayüzde %25'e denk gelir); 0 geçerli bir değerdir ve referansa hiç yaklaşmamak anlamına gelir. Bir sonraki satırdaki sourceClipId ile sıkı biçimde ilişkilidir: kaynak varsa referans sesi, kaynak yoksa klonlanmış sesi işaret eder; platformun iki durum için yalnızca bu tek kaydırıcısı vardır, bu yüzden kullanım durumuna göre iki parametreye ayırmayın |
sourceClipId |
string | Hayır | - | Kaynak şarkının gerçek çalışma alanı clip kimliği. Gönderirseniz klonlanmış sesle cover'a girilir; göndermezseniz normal klonlanmış ses üretimi olur |
sourceAudioUrl |
string | Hayır | - | Kaynağın gösterim alanı; sahiplik veya hesap kararına katılmaz, sunucu veritabanı kaydını esas alır |
sourceTitle |
string | Hayır | - | Kaynağın gösterim alanı; sahiplik veya hesap kararına katılmaz |
clientSubmissionId |
string | Hayır | - | Create UI uyumluluk alanı; müşteri API'sinde güvenilir tekilleştirme için Idempotency-Key başlığı kullanılmalıdır |
suno-v6, suno-v6-wild ve suno-v6-mini desteklenir; model boşsa suno-v6 olarak işlenir. Eski V5/V5.5 modelleri kaldırıldı, ancak eski görevlerde hâlâ eski model adları görünebilir.
Paylaşılan istek yapısı ayrıca task, soundType, soundLoop, soundBpm, soundKey, voiceTaskId, voiceId gibi Create UI uyumluluk alanlarını da çözümler, ancak bunlar bu uç noktanın geçerli müşteri parametreleri değildir: ses görevi voice_task_id olarak gönderilmelidir, isteğe bağlı ses doğrulaması voice_id olarak gönderilmelidir ve sesle müzik üretimi sound alanlarını hiçbir zaman okumaz.
Üretim parametrelerini doldurma
customMode=falseikenpromptşarkı açıklamasını,customMode=trueikenprompttam şarkı sözlerini taşır vestyleiletitlede doldurulmalıdır. Şarkı sözlerini ilham modunun açıklama alanına göndermeyin veya şarkı açıklamasını gelişmiş mod şarkı sözü olarak değerlendirmeyin.weirdnessConstraintvestyleWeight0.0ile1.0arasında ondalık oranlardır;50veya%50gönderilemez. Dengeli bir değer olarak0.5kullanılabilir; atlamak "belirtilmedi" anlamına gelir,0ise geçerli bir açık değerdir.vocalGenderyalnızcam,male,fveyafemalekabul eder.instrumentalbu uç noktada yalnızca bir uyumluluk alanıdır: klonlanmış sesle üretim her zaman vokalli şarkı olarak işlenir.waitAudioburada davranışı değiştirmez; uç nokta her zaman yer tutucu görevleri eşzamanlı olmayan biçimde döndürür. İlk sonuçtaki boşaudio_urlnormaldir:client_request_idile sorgulayın ve ses adresini ancak sonuç tamamlandıktan sonra okuyun.
Başlık parametreleri
| Başlık | Zorunlu | Açıklama |
|---|---|---|
Authorization: Bearer ... |
Evet | Müşteri API token'ı |
Content-Type: application/json |
Evet | JSON istek gövdesi |
Idempotency-Key |
Hayır, kesinlikle önerilir | En fazla 128 karakter. Aynı kullanıcı, token, uç nokta, anahtar ve istek gövdesi için yalnızca bir kez faturalanır ve bir görev oluşturulur |
Idempotency-Key davranışı:
- İlk istek, faturalamadan önce kalıcı bir tekilleştirme kaydı yazar;
- Aynı anahtar ve aynı istek daha önce tamamlanmışsa ilk kabul yanıtı tekrarlanır; ikinci bir ücret alınmaz ve görev oluşturulmaz;
- Aynı anahtarın farklı istek gövdesiyle kullanımı reddedilir;
- Aynı anahtar hâlâ işleniyorsa kararlı bir "işleniyor" hatası döner ve güvenli
client_request_idyalnızca üretildiğinde döner; - Bir anahtarla ilk istek başarısız olursa başarısızlık durumu korunur; yeniden denemek için yeni anahtar gerekir.
sourceClipId ile cover koşulları
Müşteri API'sinde kaynaktan cover tamamen sunucu tarafında yürütülür: kaynak şarkıya erişimi sunucu çözer ve müşteri hiçbir hesap bilgisi göndermez. Mümkün olup olmadığını uç noktanın gerçek yanıtı belirler.
Kaynak, geçerli API kullanıcısına ait olmalı, tamamlanmış ve pending: olmayan bir çalışma alanı şarkısı olmalı ve kullanılabilir sesi bulunmalıdır. Normal üretim, normal yükleme kaynakları ve güçlendirilmiş yüklemenin son şarkısı desteklenir; güçlendirilmiş yüklemenin ara kayıtları faturalamadan önce reddedilir. Sunucu yalnızca müşterinin gönderdiği kaynak şarkı kimliğini kabul eder, hesap kimliğini asla; kaynak kullanılamıyor veya tamamlanmamışsa faturalamadan önce hata döner.
İstek örneği
curl -X POST https://www.suno-api.io/api/music/generate-with-voice \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"voice_task_id": 123,
"customMode": true,
"prompt": "Yaz gecesi deniz kıyısını anlatan bir Çince pop şarkısı yaz",
"style": "Mandopop, warm piano, emotional",
"title": "Yaz gecesinde deniz meltemi",
"negativeTags": "noise, low quality",
"instrumental": false,
"model": "suno-v6"
}'
Yanıt örneği
{
"success": true,
"message": "",
"data": {
"client_request_id": "cu_1780480000_abcd1234",
"items": [
{
"placeholder_id": "pending:cu_1780480000_abcd1234:0",
"client_request_id": "cu_1780480000_abcd1234",
"client_request_index": 0,
"status": "submitted",
"type": "voice_generate",
"title": "Yaz gecesinde deniz meltemi",
"prompt": "Yaz gecesi deniz kıyısını anlatan bir Çince pop şarkısı yaz"
},
{
"placeholder_id": "pending:cu_1780480000_abcd1234:1",
"client_request_id": "cu_1780480000_abcd1234",
"client_request_index": 1,
"status": "submitted",
"type": "voice_generate",
"title": "Yaz gecesinde deniz meltemi",
"prompt": "Yaz gecesi deniz kıyısını anlatan bir Çince pop şarkısı yaz"
}
],
"pre_consumed_quota": 600000,
"billing_source": "wallet"
}
}
Yer tutucu görevler ve nihai song_id
generate-with-voice eşzamanlı olmayan bir üretim uç noktasıdır. Başarılı yanıt yalnızca üretim görevinin gönderildiğini gösterir, şarkının tamamlandığını göstermez.
Yanıttaki başlıca alanların anlamı:
| Alan | Açıklama |
|---|---|
client_request_id |
Bu üretim isteğinin izleme kimliği. Bir istek genelde 2 şarkı üretir ve iki sonuç da aynı client_request_id değerini kullanır. |
items[].placeholder_id |
Platforma özel yer tutucu kimliği, genelde pending:{client_request_id}:{index} biçiminde. Nihai şarkı kimliği değildir. |
items[].client_request_index |
Aynı istek içindeki sonuç sırası, genelde 0 ve 1. |
items[].status |
Gönderimden sonraki başlangıç durumu, örneğin submitted. Sonraki başarı veya başarısızlık nihai görev kaydına göre belirlenir. |
Dikkat: pending: ile başlayan bir placeholder_id nihai song_id olarak kullanılamaz ve /api/music/query ya da indirme uç noktalarına doğrudan verilemez. Yalnızca pending:* değerleriyle /api/music/query çağırmak boş bir dizi [] döndürebilir; bunun nedeni gerçek şarkının henüz tamamlanmamış olması veya yer tutucu görevin nihai şarkı kimliğiyle değiştirilmemiş olmasıdır.
Yanlış örnek:
{
"song_ids": "pending:cu_1780480000_abcd1234:0"
}
Doğru akış:
POST /api/music/generate-with-voiceçağırıp sesle müzik üretim görevini gönderin.- Yanıttaki
client_request_id,items[].placeholder_idveitems[].client_request_indexdeğerlerini saklayın. GET /api/music/generate-with-voice/results?client_request_id=cu_xxxadresini yoklayın.- Dönen
items[].song_idbir değer taşıyıppending:ile başlamıyorsa/api/music/query,/api/music/download-fileveya/api/music/download-allçağırın.
Mevcut sürüm bir herkese açık sorgu uç noktası ekler:
GET /api/music/generate-with-voice/results?client_request_id=cu_xxx
Geçerli kullanıcı altındaki aynı client_request_id için görev sonuçlarını döndürür; böylece müşteri nihai song_id değerini kendi sorgulayabilir. Dönen listede:
song_idgerçek şarkı kimliğidir;placeholder_idyalnızca görev hâlâ yer tutucu durumundayken görünür;pending:ile başlayan bir değer/api/music/queryveya indirme uç noktalarıyla kullanılamaz.
Yalnızca client_request_id ya da pending:* yer tutucu kimliğini sakladıysanız önce bu sonuç uç noktasını çağırın; gerçek song_id hâlâ bulunamıyorsa client_request_id değerini teknik desteğe göndererek konumlandırma isteyin.
Sesle üretim sonuçlarını sorgulama
Uç nokta: GET /api/music/generate-with-voice/results
Faturalama: ücretsiz.
Sorgu parametreleri
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
client_request_id |
string | Evet | generate-with-voice tarafından dönen istek izleme kimliği |
İstek örneği
curl -X GET "https://www.suno-api.io/api/music/generate-with-voice/results?client_request_id=cu_1780480000_abcd1234" \
-H "Authorization: Bearer YOUR_API_KEY"
Üretim sürerken yanıt örneği
{
"success": true,
"message": "",
"data": {
"client_request_id": "cu_1780480000_abcd1234",
"status": "processing",
"items": [
{
"song_id": "",
"placeholder_id": "pending:cu_1780480000_abcd1234:0",
"client_request_id": "cu_1780480000_abcd1234",
"client_request_index": 0,
"status": "processing",
"type": "voice_generate",
"title": "Yaz gecesinde deniz meltemi"
}
]
}
}
Üretim tamamlandığında yanıt örneği
{
"success": true,
"message": "",
"data": {
"client_request_id": "cu_1780480000_abcd1234",
"status": "completed",
"items": [
{
"song_id": "song_abc123",
"client_request_id": "cu_1780480000_abcd1234",
"client_request_index": 0,
"status": "completed",
"type": "voice_generate",
"title": "Yaz gecesinde deniz meltemi",
"audio_url": "https://...",
"image_url": "https://...",
"duration": 180.5
}
]
}
}
En üst düzey status değerleri
| Durum | Açıklama |
|---|---|
not_found |
Geçerli kullanıcı altında bu client_request_id için henüz görev kaydı yok |
processing |
En az bir sonuç tamamlanmadı; yoklamayı sürdürün |
completed |
Tüm sonuçlar tamamlandı; song_id ile sorgulayabilir veya indirebilirsiniz |
partial |
Bir kısmı tamamlandı, bir kısmı başarısız; önce tamamlanan song_id değerlerini işleyin |
failed |
Tüm sonuçlar başarısız; items[].error_message alanına bakın |
8. Tek dosya indirin
Uç nokta: POST /api/music/download-file
Gövde parametreleri
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
song_id |
string | Evet | Şarkı kimliği |
kind |
string | Evet | İndirme türü: audio, cover, wav, video |
İstek örneği
curl -X POST https://www.suno-api.io/api/music/download-file \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"song_id": "song_abc123",
"kind": "audio"
}' \
--output song.mp3
Yanıt bir dosya akışıdır; Content-Type ve dosya adı arka ucun döndürdüğü değerlere göre belirlenir.
9. Şarkı kaynaklarını paket olarak indirin
Uç nokta: POST /api/music/download-all
Gövde parametreleri
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
song_id |
string | Evet | Şarkı kimliği |
İstek örneği
curl -X POST https://www.suno-api.io/api/music/download-all \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"song_id": "song_abc123"
}' \
--output song.zip
Paket genelde sesi, kapağı ve metadata.json dosyasını içerir; henüz üretilmemiş bir kaynak türü arşive girmez.
Sık karşılaşılan hatalar
| message | Açıklama |
|---|---|
voice audio is required |
Kaynak ses gönderilirken ne voice_url ne de file_base64 verildi |
invalid voice task id |
Yoldaki ses görevi kimliği geçersiz |
voice validation is not ready |
Doğrulama metni henüz alınmadığı için doğrulama sesi gönderilemez |
selected voice is not ready |
Seçilen ses henüz şarkı üretemiyor (hazır değil, silinmiş veya geçerli hesaba ait değil) |
selected voice does not match voice task |
İstekteki voice_id görevle uyuşmuyor |
voice task is required |
Sesle şarkı üretirken voice_task_id eksik |
record not found |
Görev / şarkı yok, geçerli API anahtarının hesabına ait değil veya zaten silinmiş (sesi sildikten sonra bu görevi sorgulamak da aynı sonucu verir) |
Bu grubun hataları her zaman HTTP 200 döner: başarıyı gövdedeki
successalanına göre değerlendirin (falsebaşarısızlıktır, nedenmessageiçindedir) ve yalnızca HTTP durum koduna bakmayın. Ses silmenin tam anlamı (silindikten sonra kullanılabilir mi, geri getirilebilir mi) 6. bölümdedir.
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