DokümantasyonHatalar ve yeniden deneme

Hatalar ve yeniden deneme

Hata yanıtlarını okuyun, hata kodlarını kontrol edin ve ne zaman yeniden deneyebileceğinizi öğrenin.

İstek hatası alırsanız API çağrınızı kabul etmemiştir. Transkripsiyon hatasında ise istek kabul edilmiştir, ancak işlem daha sonra başarısız olmuştur. Bu durumda transkripsiyonun status alanı failed olur.

Hata yanıtının yapısı

/v1 çağrılarında istek hatalarını aynı JSON yapısıyla döndürürüz:

{
  "error": {
    "code": "insufficient_minutes",
    "message": "Not enough minutes",
    "retryable": false,
    "action_url": "https://transcript1.com/dashboard/billing",
    "minutes_needed": 20,
    "minutes_remaining": 3
  }
}

Uygulamanızda hangi adımı atacağınıza code üzerinden karar verin. message kullanıcıya gösterebileceğiniz açıklamadır; metni değişebileceği için bu alana göre koşul yazmayın. retryable değeri true ise aynı çağrı daha sonra çalışabilir.

Bazı hatalarda retryable yanında sorunu açıklayan ek alanlar da bulunur:

Alanİlgili hataAçıklama
action_urlinsufficient_minutesPlan seçebileceğiniz veya ek dakika satın alabileceğiniz sayfa.
minutes_needed, minutes_remaininginsufficient_minutesİşlem için gereken dakika ve kullanılabilir bakiyeniz. Gereken süre henüz bilinmiyorsa ilk alan null olur.
supported_platformsunsupported_platformKabul edilen platform değerleri: ["youtube", "x", "tiktok", "instagram", "facebook", "bluesky", "twitch", "dailymotion", "pinterest", "linkedin", "snapchat"].
missing_chunksupload_incompleteSunucuya ulaşmayan parçaların numaraları.
max_bytesmedia_too_largeHesabınızın dosya boyutu limiti, bayt olarak.
paramsinvalid_requestGövde veya sorgu doğrulamasında her hatalı alanı ve o alandaki sorunu gösteren nesne.

API'nin isteği kabul etmediği durumlar

HTTP koducodeAynı istek tekrar denenebilir mi?Neden alırsınız?
400, 422invalid_requestHayırBir parametre veya gövde alanı eksik ya da geçersiz. Örneğin diarize ile source: "captions" veya reuse_recent ile webhook_url birlikte gönderilmiş olabilir. Gövde geçerli JSON değilse de bu kod döner.
422invalid_urlHayırBağlantı desteklenmiyor veya platform ile eşleşmiyor. YouTube, X, TikTok, Instagram, Facebook, Bluesky ya da Kaynaklar ve seçenekler sayfasındaki diğer platformlardan birinin bağlantısını kullanın.
422unsupported_platformHayırGönderdiğiniz platform değeri desteklenenler arasında değil.
422unsupported_mediaHayırDosyanın uzantısını desteklemiyoruz.
401unauthorizedHayırAPI kimlik bilginiz eksik, geçersiz, süresi dolmuş veya iptal edilmiş. Geçersiz ya da süresi dolmuş yükleme token'ında da bu kod döner.
403insufficient_scopeHayırOAuth token'ında gereken transcriptions:read veya transcriptions:write yetkisi yok.
403email_not_verifiedHayırE-postanız henüz doğrulanmamış. Transkripsiyon başlatmadan önce adresinizi doğrulayın.
402insufficient_minutesHayırKullanılabilir bakiyeniz 0 veya işlem için gereken dakikadan az.
402no_active_planHayırÜcretli planınız aktif değilken ek dakika satın almaya çalıştınız. Bu kod yalnızca panelin ücretlendirme endpoint'inden döner; transkripsiyon endpoint'lerinden dönmez.
404not_foundHayırBu transkripsiyon bulunamadı veya başka bir ekibe ait.
409upload_incompleteHayırDosyanın bazı parçaları yüklenmemiş. Eksikleri gönderip tamamlama çağrısını tekrarlayın.
409invalid_stateHayırTranskripsiyon yükleme bekleme aşamasında değil. Artık parça gönderemez veya yüklemeyi tamamlayamazsınız.
409idempotency_conflictHayırAynı Idempotency-Key daha önce farklı parametrelerle kullanılmış.
413media_too_largeHayırDosya, hesabınızın boyut limitini aşıyor. Dosya yükleme sayfasını kontrol edin.
413invalid_requestHayırJSON gövdesi 1 MB'ı aşıyor. Dosya boyutu hatalarında bunun yerine media_too_large kullanılır.
429rate_limitedEvetDakikalık istek limitini aştınız. Retry-After değerinde belirtilen saniye kadar bekleyin.
429too_many_active_jobsEvetAynı anda çalışan transkripsiyon veya açık yükleme limitini aştınız. Retry-After değerinde belirtilen saniye kadar bekleyin.
500internal_errorEvetSunucu tarafında bir sorun oluştu. Biraz bekleyip tekrar deneyin.
503service_unavailableEvettranscript1'e şu anda erişilemiyor. Biraz bekleyip tekrar deneyin.

Tarayıcıdan bearer token yerine oturum çereziyle yapılan çağrılarda isteğin geldiği siteyi de kontrol ederiz. Başka bir siteden geliyorsa 403 forbidden_origin döner. Bu kontrol, Authorization başlığıyla yaptığınız API çağrılarını etkilemez.

Tüm 429 yanıtlarında Retry-After bulunur. Değer saniye cinsindedir. Hesabınıza uygulanan limitleri Ücretlendirme ve limitler sayfasından kontrol edebilirsiniz.

Ne zaman tekrar denemelisiniz?

  • Aynı isteği yalnızca retryable değeri true olduğunda tekrar gönderin: rate_limited, too_many_active_jobs, internal_error ve service_unavailable. Retry-After varsa belirtilen süreyi bekleyin. Yoksa her denemede bekleme süresini artırın.
  • POST /v1/transcriptions çağrısını tekrarlarken aynı Idempotency-Key başlığını koruyun. İlk çağrı aslında başarılı olduysa böylece ikinci kez dakika harcamazsınız.
  • Diğer kodlarda önce hatanın nedenini giderin, sonra yeniden gönderin.

İşlem başladıktan sonra oluşan hatalar

API isteği kabul etmiş olsa da transkripsiyon daha sonra başarısız olabilir. status değeri failed olduğunda nesnede error: { "code", "message" } bulunur. Durumu sorgularken veya transcription.failed webhook bildirimi aldığınızda error alanını kontrol edin.

error.codeNe oldu?Ne yapmalısınız?
media_unavailableVideo bulunamadı veya artık erişilemiyor.Aynı bağlantıyla tekrar denemeyin; URL'yi kontrol edin.
media_privateVideo gizli.Aynı videoyu tekrar göndermeyin. Herkese açık bir gönderi kullanın; YouTube'da liste dışı videolar da çalışır.
login_requiredPlatform videoyu izlemek için giriş yapılmasını istiyor.Kalıcı bir hatadır; tekrar denemeyiz.
no_audioVideoda ses kanalı yok.Kalıcı bir hatadır; tekrar denemeyiz.
age_restrictedVideoda yaş kısıtlaması var.Aynı bağlantıyı tekrar göndermek yerine dosyayı yükleyin.
live_streamYayın devam ediyor veya henüz başlamamış.Yayın sona erdikten sonra deneyin.
no_captionssource için captions seçilmiş, ancak kullanılabilir altyazı bulunamamış.source: "auto" veya "stt" ile gönderin.
media_too_longKayıt, STT için geçerli 5 saat sınırını aşıyor.Aynı kaydı tekrar göndermeyin; daha kısa parçalara bölün.
unsupported_mediaDosyayı okuyamadık veya dosyada ses kanalı yok.Desteklenen bir dosya hazırlayıp gönderin.
no_speechKonuşma algılanmadı.Tekrar denemeyin.
unsupported_languageKayıttaki dili desteklemiyoruz.Aynı ayarla tekrar denemeyin. language için desteklenen bir kod veya "auto" seçin.
insufficient_minutesÜcret hesaplanmadan önce dakika bakiyeniz tükendi.Ek dakika yükledikten sonra deneyin.
fetch_failedBirkaç kez denememize rağmen kaydı indiremedik.Daha sonra tekrar deneyebilirsiniz.
transcription_failedBirkaç kez denememize rağmen STT tamamlanamadı.Daha sonra tekrar deneyebilirsiniz.

Transkripsiyon başarısız olursa veya iptal edilirse ücret ödemezsiniz. Daha önce dakika düşülmüşse hesabınıza geri ekleriz.

Son güncelleme 19 Ekim 2026