Medya kılavuzları
Müzik Üretimi
Müzik veya söz görevleri oluşturun, nihai sesi sorgulayın ve kullanıcıya yönelik müzik çıktıları güvenli bir şekilde saklayın.
Müzik üretimi asenkron bir süreçtir. POST /v1/music/generations bir kamu TokenLab görevi oluşturur ve id / task_id, status ve genellikle poll_url döner. Uygulamanız bu görev kimliğini saklamalı, ilerlemeyi göstermeli ve terminal durumu gelene kadar sorgulama yapmalıdır.
İş Akışını Seçin
| İş Akışı | Ana alanlar | Notlar |
|---|---|---|
| Tam şarkı veya enstrümantal | model, mv, prompt, isteğe bağlı title, tags, action: "MUSIC" | Kullanıcı nihai sesi bekliyorsa kullanın |
| Sadece sözler | model, prompt, action: "LYRICS" | Sadece söz üretimi sunan modellerle kullanın |
| Mevcut bir klibi devam ettirin | continue_clip_id, isteğe bağlı continue_at | Devam ettirmeden önce önceki kamu klip/görev kimliğini saklayın |
Sabit kodlanmış bir model listesi göndermeden önce mevcut model kataloğunu sorgulayın:
curl "https://api.tokenlab.sh/v1/models?recommended_for=music" \
-H "Authorization: Bearer sk-your-api-key"Mevcut kamu örnekleri müzik üretimi için suno_music kullanır ve chirp-v4 gibi resmi bir Suno model sürümünü mv ile gönderir. Sadece söz akışları için, söz üretimini belgeleyen bir model ile action: "LYRICS" gönderin ve mv alanını atlayın. Model kimliklerini kamu TokenLab kimlikleri olarak değerlendirin, sağlayıcıya özgü alanların kamu sözleşme alanları olduğu garantisi olarak değil.
Bir Müzik Görevi Oluşturun
curl https://api.tokenlab.sh/v1/music/generations \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "suno_music",
"mv": "chirp-v4",
"prompt": "Sıcak vokallere ve temiz bir nakarata sahip neşeli bir synth-pop parçası",
"title": "Sabah Statik",
"tags": "synth-pop, neşeli",
"action": "MUSIC"
}'Promptları, başlıkları ve etiketleri kullanıcıya görünür ve saklamak için güvenli tutun. Hiçbir prompt alanına API anahtarları, özel URL'ler veya özel tanılama bilgileri koymayın.
Tamamlanmayı Sorgulayın
Öncelikle poll_url kullanın. Eğer istemciniz sabit bir rota gerektiriyorsa, dönen id veya task_id ile GET /v1/tasks/{id} çağrısı yapın.
curl "https://api.tokenlab.sh/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer sk-your-api-key"Yanıt şekli
Oluşturma yanıtı nihai ses değil, sorgulanabilir bir görev kaydıdır:
{
"id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"status": "pending",
"created": 1706000000,
"model": "suno_music"
}Tamamlanmış bir sorgulama yanıtı nihai medya alanlarını içerebilir:
{
"id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"status": "completed",
"audio_url": "https://cdn.example.com/music/abc123.mp3",
"video_url": "https://cdn.example.com/music/abc123.mp4",
"stream_audio_url": "https://cdn.example.com/music/abc123-stream.mp3",
"image_url": "https://cdn.example.com/music/cover.jpg",
"title": "Morning Static",
"lyrics": "[Verse 1]\n..."
}Nihai medya alanları status completed olana kadar bulunmaz. Başarısız görevler status: "failed" ve error döndürür.
Beklenen kamu durumları pending, processing, completed ve failed'dir. Tamamlanmış bir müzik görevi audio_url, video_url, title, lyrics ve normalize edilmiş meta veriler içerebilir. Nihai URL'leri kendi veritabanınızda saklayın, böylece kullanıcı sonucu yeniden açabilir ve üretimi yeniden başlatmak zorunda kalmaz.
UI Ve Durum Yönetimi
- Görev oluşturulduktan hemen sonra bekleyen bir durumu gösterin.
- Uzun görevler için her
5-10s'de bir sorgulama yapın, ardındancompletedveyafaileddurumunda durun. - Görev
completedolduğunda ve biraudio_urlmevcut olduğunda nihai bir oynatıcıyı görüntülemeyin. - Sadece söz görevleri için, kullanıcıların ne satın aldıklarını anlaması için metin çıktısını ses görevlerinden ayrı olarak render edin.
- Yenileme sırasında, yeni bir görev oluşturmaktansa saklanan
task_idile devam edin.
Faturalama Ve Uzlaşma
Müzik görevleri, oluşturma zamanında tahmini bir miktarı rezerve edebilir ve terminal durumu bilindiğinde hesaplaşabilir. request_id, task_id, model, endpoint ve billing_transaction_id göründüğünde saklayın. Uzlaşma için sağlayıcı görev kimlikleri yerine Yönetim API kullanım kayıtlarını kullanın.
Yaygın Hatalar
| Belirti | Olası neden | Çözüm |
|---|---|---|
| Görev oluşturuldu ama oynatıcı yok | Görev hala beklemede veya audio_url olmadan tamamlandı | Terminal duruma kadar sorgulamaya devam edin, ardından eksik çıktıyı başarısız bir kullanıcı işi olarak yönetin |
| Yenileme sonrası tekrar eden şarkılar | UI görevi yeniden oluşturdu, devam etmedi | task_id'yi saklayın ve yeniden kullanın |
| Söz görevi ses döndürmüyor | action: "LYRICS" sadece metin | Sözler ve müzik UI yollarını ayırın |
| Desteklenmeyen parametre | Alan model kamu sözleşmesinde yok | Sağlayıcıya özgü alanları kaldırın veya bunları belgeleyen bir model seçin |
API Referansı
| Konu | Referans |
|---|---|
| Müzik Oluştur | Müzik Oluştur |
| Müzik Durumunu Al | Müzik Durumunu Al |
| Görev Durumunu Al | Görev Durumunu Al |
| Modelleri Listele | Modelleri Listele |
| Faturalama & Fiyatlandırma | Faturalama & Fiyatlandırma |