Speech to text API ile ses ve video dosyalarını yazıya çevirin

Speech to text API ile ses veya video dosyanızdan zaman damgalı transkript alın. İsterseniz konuşmacıları ayırın; her bölümün dili de metinde yer alır. Tek request ile 95 MB yükleyebilirsiniz. Daha büyük dosyaları 2 GB sınırına kadar parça parça gönderir, bağlantı kesilirse kaldığınız yerden devam edersiniz.

  • Tek request ile 95 MB
  • Parçalı yükleme ile 2 GB; kesilirse devam edin
  • İşlem bittikten 24 saat sonra medya silinir

Önce dosyanın boyutuna göre yükleme yolunu seçin

Ses ve video aynı endpointte
MP3, WAV, M4A, FLAC, OGG, OPUS, MP4, MOV, WebM ve MKV dosyalarını kabul ederiz. Dosyada ses kanalı bulunmalıdır.
Küçük dosyayı tek seferde gönderin
95 MB sınırına kadar multipart/form-data kullanın. Dosyayı POST /v1/transcriptions endpointine gönderin.
Büyük dosyayı parçalara bölün
2 GB sınırına kadar önce yükleme kaydı açın. Yaklaşık 8 MiB boyutundaki parçaları gönderip yüklemeyi tamamlayın. Kesinti olursa eksik parçalardan devam edin.
Süreyi ayrıca kontrol edin
Yapay zeka transkripsiyonu en fazla 5 saatlik kayıtları işler. Daha uzun kayıt için media_too_long döner; kredi harcamazsınız.
Dosya geçici, transkript siz silene kadar
Yüklediğiniz medya, işlem son duruma ulaştıktan 24 saat sonra silinir. Transkript ise siz silene kadar hesabınızda kalır.

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
curl -X POST "https://api.transcript1.com/v1/transcriptions?wait=60" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
  -F [email protected] \
  -F language=auto

Bü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.

Yükleme kaydını açın
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.

Parçayı gönderin ve yüklemeyi tamamlayın
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.

60 ücretsiz dakikanızla başlayın

E-postanızı doğrulayın, tek seferlik 60 ücretsiz dakikanızı alın. Kart bilgisi istemiyoruz.

API anahtarı alın

Sık sorulan sorular

Başka bir sorunuz mu var? Bize yazın

Hangi dosya türlerini gönderebilirim?

mp3, wav, m4a, flac, ogg, opus, mp4, mov, webm ve mkv. Dosyada ses kanalı bulunmalıdır. Diğer uzantılar için 422 unsupported_media döner.

En fazla kaç GB yükleyebilirim?

Tek request ile 95 MB, parçalı yüklemeyle 2 GB. Hesabınızın limiti daha düşük olabilir. Boyut sınırı aşılırsa 413 media_too_large alırsınız.

Yüklediğim kayıt ne zaman silinir?

İşlem son duruma ulaştıktan 24 saat sonra medya silinir. Yüklemeyi 24 saatte tamamlamazsanız yükleme iptal olur, parçalar silinir. Transkript ise siz silene kadar kalır.

Dosyadaki konuşmacıları ayırabilir miyim?

Evet. diarize=true gönderin; metinde Speaker 1, Speaker 2 gibi etiketler yer alır. Yüklenen dosyalar her zaman yapay zeka ile sesten yazıya çevrilir.