API ile ses dosyasını yazıya çevirmek için tek request
Kaydı file adlı multipart alanında gönderin. language, diarize, source ve webhook_url alanlarını da ekleyebilirsiniz. Tek seferde yükleme örneğine bakın; işlem bittiğinde haber almak için webhook ekleyin.
Sunucunuzda hazır bir küçük dosya varsa en kısa yol budur. multipart boundary değerini HTTP istemciniz belirlesin. JSON içinde yerel dosya yolunu göndermek yetmez; dosyanın baytlarını yüklemelisiniz. Boş dosyayı veya desteklenmeyen uzantıyı aynı şekilde tekrar göndermek doğrulama hatasını çözmez.
Boyut ve süre birbirinden bağımsızdır. Sıkıştırılmış bir kayıt 95 MB altında kalıp 5 saati aşabilir. Kısa, yüksek çözünürlüklü bir video da tek request için fazla büyük olabilir. Yükleme yolunu boyuta göre seçin, süreyi ayrıca denetleyin.
curl -X POST "https://api.transcript1.com/v1/transcriptions?wait=60" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
-F [email protected] \
-F language=autoBüyük video dosyasını yüklerken kaldığınız yerden devam edin
2 GB sınırına kadar dosya adı ve boyutuyla bir yükleme kaydı açın. API parça planını ve yalnızca bu yükleme için geçerli X-Upload-Token değerini döndürür. Tüm adımlar parçalı yükleme rehberinde yer alır.
Parçaları dönen plana göre okuyun. Her kayıtta parça indeksi, bayt konumu ve boyutu bulunur; son parça daha kısa olabilir. Kendi parça boyutunuzu varsaymayın. X-Upload-Token, binary PUT requestlerini doğrular; 1 saat geçerlidir ve genel API anahtarınızın yerine geçmez.
Yükleme kaydını açarken sabit bir Idempotency-Key kullanın. Token süresi dolarsa aynı anahtar ve parametrelerle tekrar başvurun: mevcut yükleme için yeni token alırsınız. Her kesintide yeni kayıt açmak, açık işlemleri ve yükleme takibini gereksiz yere çoğaltır.
curl -X POST "https://api.transcript1.com/v1/transcriptions" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
-H "Idempotency-Key: interview-2026-10-13" \
-H "Content-Type: application/json" \
-d '{"upload":{"filename":"interview.m4a","size":48210334,"mime_type":"audio/mp4"}}'Eksik parçaları gönderin, sonra transkripsiyonu başlatın
Her parçayı kendi adresine PUT ile gönderin; upload tokenını ekleyin. Ardından yüklemeyi tamamlayın. transcript1 tüm parçaları kontrol edip transkripsiyonu sıraya alır. Upload endpointleri ilerlemeyi kontrol etmenizi de sağlar.
Devam etmeden önce GET /v1/transcriptions/:id/upload çağrısıyla received_chunks listesini alın. İlk planla karşılaştırıp yalnızca eksik parçaları gönderin. Bir parçayı tekrar gönderirseniz eskisinin yerini alır; boyutu yine plandakiyle eşleşmelidir. 401 almanız token süresinin dolduğunu gösterebilir.
Tamamlama sırasında 409 upload_incomplete alırsanız belirtilen eksik indeksleri yükleyin. İşlem sıraya girdikten sonra transkripsiyon durumunu kontrol edin veya webhook bekleyin. Arayüzde dosya aktarımı ile sesin işlenmesini ayrı aşamalar olarak gösterin.
curl -X PUT "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD/upload/chunks/0" \
-H "X-Upload-Token: t1u_..." \
-H "Content-Type: application/octet-stream" \
--data-binary @chunk-0.bin
curl -X POST "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD/upload/complete" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY"Yükleme bitti mi, transkripsiyon başladı mı?
awaiting_upload, transkripsiyonun başladığı anlamına gelmez. Önce dosyanın baytları aktarılır, sonra yükleme doğrulanır, ardından medya işlenir. Tamamlama requestinden sonra bağlantı koptuysa aynı çağrıyı tekrarlamadan önce mevcut işlemi okuyun.
Bir ekip aynı anda en fazla 20 açık yükleme kaydı tutabilir. Tamamlanmayan yüklemeleri 24 saat sonra iptal eder, parçalarını sileriz. İşlenen dosyayı ise transkripsiyon son duruma ulaştıktan 24 saat sonra sileriz. Metin siz silene kadar kalır. Uygulamanız daha sonra ses oynatacaksa asıl dosyayı kendiniz saklayın.
Dosyayı sunucuya ulaştırmak işin ilk adımıdır. Kullanıcıların kaydı hazırlayıp metni kontrol etmesi için ses kaydını yazıya çevirme rehberine, katılımcıları ve alıntıları düzenlemek için röportaj rehberine göz atın.