---
title: "Video ve ses için transkript API'si"
description: "YouTube, TikTok, Instagram, LinkedIn ve Twitter/X bağlantılarını tek bir REST API ile zaman damgalı transkriptlere dönüştürün: önce altyazılar, yoksa AI devreye girer."
canonical: "https://transcript.im/tr/api"
markdown: "https://transcript.im/tr/api.md"
---

# Video ve ses için transkript API'si

YouTube, TikTok, Instagram, LinkedIn ve Twitter/X bağlantılarını tek bir REST API ile zaman damgalı transkriptlere dönüştürün: önce altyazılar, yoksa AI devreye girer.

## Bağlantılar

- [Kanonik HTML](https://transcript.im/tr/api)
- [Markdown](https://transcript.im/tr/api.md)


transcript.im, ürünü çalıştıran aynı çıkarma hattını sürümlü bir transkript API'si olarak sunar. Bir video veya ses URL'si gönderin; JSON ya da düz metin olarak zaman damgalı metin alsın, platform da sizin için algılanır. Var olan altyazılar önce kullanılır; bir videoda hiç altyazı yoksa AI sesi yazıya döker ve sonuç eşzamansız olarak iletilir.

- Tek bir `url` hem tam hem kısa bağlantıyı kabul eder ve YouTube, TikTok, Instagram, LinkedIn ile Twitter/X'i algılar; YouTube için yalın video id de tanınır, kaynağı zaten biliyorsanız `platform` ile `externalId` yeterlidir.
- Önce altyazılar kullanılır; videoda altyazı yoksa AI konuşmayı yazıya döker ve yerel bir dosya yüklemesi her zaman konuşma tanımadan geçer.
- `format=json` zaman damgalı bölümler döndürür, `format=text` ise yapıştırmaya hazır düz metin verir.
- Toplu çıkarma URL listelerini, oynatma listelerini ve kanalları kapsar.
- Toplu dışa aktarma txt, csv, json, srt, vtt ve zip biçimlerini kapsar; kaydedilmiş bir transkript txt, srt, vtt, json veya md olarak indirilir.
- Kaydedilen transkriptler hesap kitaplığında yaşar ve YouTube keşfi arama, videolar, kanallar, yüklemeler, oynatma listeleri ve altyazıları kapsar.
- Tam sözleşme bir OpenAPI belgesi olarak yayımlanır.

## transcript.im API'si ne yapar

transcript.im API'si, herkese açık bir video veya ses bağlantısını ürününüzün okuyabileceği, saklayabileceği, arayabileceği veya bir modele verebileceği zaman damgalı bir transkripte dönüştürür. Bir URL gönderirsiniz; API platformu çözer, içerik üreticisinin zaten sahip olduğu altyazı parçasını arar ve her satırında zaman damgası bulunan yazılı metni döndürür. Bir videoda hiç altyazı yoksa API bir hatada durmaz; konuşmanın AI ile yazıya dökülmesine geçer, böylece aynı istek yine metin üretir.

Tam da bu davranış bir transkript çıkarma API'sinin anlamıdır: bir indiriciyi, bir altyazı kazıyıcısını ve bir konuşmadan metne hizmetini birbirine dikmeniz gerekmez. API her bağlantı için çalışan en ucuz kaynağı seçer, zaman damgalarını gerçekte söylenenle hizalı tutar ve hangi dili döndürdüğünü bildirir. Zaten var olan bir transkript anında geri gelir; konuşma tanıma gerektiren bir video iş olarak devredilir, böylece uzun bir kayıt isteğinizi asla açık tutmaz.

- Tek istek, gerçek metin — bir bağlantıyı çözün ve zaman damgalı transkript bölümlerini ya da düz metni döndürün.
- Önce altyazı, sonra AI — içerik üreticisinin parçası varsa onu kullanın, yoksa sesi yazıya dökün.
- ASR için varsayılan eşzamansız — bir job id, uzun bir yazıya dökmeyi engellemeden sorgulamanıza olanak tanır.
- Dilden haberdar — bir dil önceliği isteyin ve API'nin çözdüğü dili geri okuyun.
- Platformdan bağımsız — çağıranın videonun nerede barındırıldığını bilmesi gerekmez.

## Beş platform için tek transkript API'si

### YouTube

Herkese açık her YouTube videosu, Short veya canlı kayıt için transkript; önce içerik üreticisinin altyazıları, altyazı yoksa AI ile yazıya dökme kullanılır. YouTube ayrıca eksiksiz bir keşif yüzeyine sahip platformdur — arama, videolar, kanallar, yüklemeler, oynatma listeleri ve altyazılar — ve bunlar transkriptin yanında kullanılabilir. Bir kanalın birikmiş içeriği ya da bir oynatma listesi zaman damgalı transkriptlerden oluşan bir toplu işe dönüşürken, tek bir bağlantı arayabileceğiniz okunabilir metin olarak geri gelir.

### TikTok

Herkese açık TikTok videoları için transkript; önce altyazılar kullanılır, konuşma tanıma yedek olarak devreye girer. Bir video bağlantısı yapıştırın ve konuşulan içeriği yeniden kullanabileceğiniz, çevirebileceğiniz veya alıntılayabileceğiniz temiz, zaman damgalı metin olarak okuyun. Aynı çağrı kısa bir klibi de daha uzun bir yüklemeyi de kapsar; bir akım, bir eğitim ve kameraya konuşan biri metne dönüşür.

### Instagram

Herkese açık Instagram Reels ve video gönderileri için transkript. Instagram'da okunacak bir altyazı parçası yoktur, bu yüzden çıkarma eşzamansız konuşma tanımadır: bağlantıyı gönderin, işi sorgulayın ve hazır olduğunda metni alın. Bu, platform söylenenleri hiç metin olarak yayımlamamış olsa bile bir Reel'i alıntılanabilir ve aranabilir kılar.

### LinkedIn

Herkese açık LinkedIn video gönderileri için transkript; önce altyazılar kullanılır, konuşma tanıma yedek olarak devreye girer. Sonuç zaman damgalarıyla döner, böylece bir konuşma, bir ürün klibi ya da kaydedilmiş bir toplantı alıntılayıp yeniden kullanabileceğiniz aranabilir metne dönüşür. Bir web semineri kaydından savı çıkarın ya da bir kurucunun paylaşımını düzenleyebileceğiniz bir taslağa çevirin.

### Twitter/X

Herkese açık X video gönderileri için transkript. X'te okunacak bir altyazı parçası yoktur, bu yüzden çıkarma eşzamansız konuşma tanımadan geçer: bağlantıyı gönderin, işi sorgulayın ve arayabileceğiniz zaman damgalı metni alın. Bir videoyu doğru biçimde alıntılayın ya da gönderi düzenlenmeden veya kaldırılmadan önce konuşulan içeriği arşivleyin.

## Bir transkript isteği nasıl ilerler

Tek bir çağrı, bir bağlantıyı ya da yüklenen dosyayı girdiden transkripte taşır ve API hangi yolu izlediğini size söyler.

- Kaynağı gönderin — bir `url` gönderin, zaten biliyorsanız `platform` ile `externalId` geçin ya da aynı endpoint'e dosyayı `multipart/form-data` olarak yükleyin.
- Altyazı eşleşmesi alın — video, listenizdeki bir dilde altyazı taşıyorsa transkript yanıt içinde geri gelir.
- Dil eşleşmemesini ele alın — altyazılar var ama hiçbiri listenizle eşleşmiyorsa istek AI ile yazıya dökmeye devam eder ve job id ile `202` döndürür; `availableLanguages` içeren `404` yalnızca çağıran için konuşma tanımaya izin verilmediğinde döner.
- ASR'yi zorlayın ya da ona düşün — açık bir `asr` girdisi, hiç altyazı parçası olmayan bir video ya da yüklenmiş bir dosya bir ASR işi başlatır ve job id döndürür.
- Sorgulayın ya da akışa katılın — işi başarılı ya da başarısız olana dek `GET /v1/transcript/job/{id}` ile okuyun ya da sunucu tarafı ilerleme için `/events` akışına abone olun. İş sorgusu başarısız bir iş için bile `200` döndürür, bu yüzden `status` alanına göre dallanın.
- Sonucu okuyun — biten bir transkript çözülen dilini, süresini, zaman damgalı bölümlerini ve istendiğinde başlık, yazar ile yayın tarihi gibi üst verileri taşır.
- Güvenle yineleyin — zaten çıkarılmış bir transkript yeni bir iş başlatmak yerine önbellekten sunulur, böylece aynı kaynak yeniden istenebilir.
- Önce inceleyin — `GET /v1/transcript/info` bir kaynağı çözer ve siz çıkarmaya karar vermeden önce sunabileceği dilleri listeler.

Aynı endpoint hem önbellek isabetini hem de yeni bir çıkarmayı sunduğu için entegrasyonunuz kaynağa göre dallanmaz: her zaman kaynağı gönderir ve aldığı duruma tepki verir. Altyazı eşleşmesi transkripti doğrudan döndürür, dil eşleşmemesi AI ile yazıya dökmeye devam eder ve job id ile `202` döndürür, gerçekten eksik bir varlık ya da izin verilmeyen bir yedek ise `404` döndürür. Metin hazır olduğunda her yol aynı transkript biçimini döndürür.

## Toplu çıkarma ve dışa aktarma

Gerçek iş yükleri nadiren tek bir videoda durur, bu yüzden API bir toplu işi URL listesi, oynatma listesi ya da kanal olarak kabul eder. Her toplu iş kendi toplamlarını izler — kaç öğe bekliyor, kaçı başarılı oldu ve kaçı başarısız oldu — ve öğeleri sayfa sayfa döndürür, böylece uzun bir kanal tek bir devasa yük olarak gelmez.

- Üç toplu iş biçimi — `POST /v1/batch` gönderdiğiniz gövdeye göre bir URL listesi, bir oynatma listesi ya da bir kanal alır.
- Bağımsız durum — başarısız bir bağlantı kendi başına işaretlenir ve toplu işin geri kalanını asla atmaz; başarısız öğeler `/retry` ile yeniden denenebilir.
- Sayfalanmış öğeler — toplu işi `GET /v1/batch/{batchId}` ile okuyun, ardından kalan öğeler için dönen sayfa jetonunu izleyin.
- Canlı ilerleme — her sorgu güncellenmiş sayımlar döndürür, böylece çağıran uzun bir çalışmanın ne kadarının bittiğini gösterebilir.
- Kendi biçiminizde dışa aktarın — biten bir toplu işi `/export` üzerinden `txt`, `csv`, `json`, `srt`, `vtt` ya da `zip` olarak indirin.

Bir altyazı hattı için `srt` ve `vtt` dışa aktarımları doğrudan bir düzenleyiciye ya da oynatıcıya girer. Bir arşiv için `csv`, `json` ve `zip`, koca bir kayıt kitaplığını tek bir korpus olarak aranabilir tutar. Biçimler tek transkript yanıtlarıyla hizalanır, böylece tek bir sonucu işleyen bir tüketici zaten bir toplu işi okumayı bilir.

## Hesap kitaplığında kaydedilmiş transkriptler

Çıkarma ve saklama ayrı şeylerdir: bir transkript kaydedildiğinde hesap kitaplığının parçası olur ve kitaplık, çıkarmayı yeniden çalıştırmadan onu okuduğunuz, aradığınız, indirdiğiniz ve sildiğiniz yerdir.

- Kaydedilen içeriği listeleyin — `GET /v1/library/transcripts` hesabın transkriptlerini, toplu iş kayıtlarını ve başarısız geçmiş satırlarını sayfa sayfa gezdirir; arama, platform ve dil filtreleri ile sıralama sunar.
- Tek bir öğe okuyun — `GET /v1/library/transcripts/{platform}/{externalId}` kaydedilmiş bir transkripti platform ve dış id ile ya da belirttiğiniz dille döndürür.
- İndirin — `/download` rotası kaydedilmiş bir transkripti `txt`, `srt`, `vtt`, `json` ya da `md` olarak dışa aktarır.
- İlgili içerik — `/related` rotası aynı kanaldan kaydedilmiş diğer öğeleri listeler.
- Kaldırın — `DELETE` bir öğeyi başkasının kopyasına dokunmadan kitaplıktan çıkarır.
- Hesapla sınırlı okumalar — kitaplığa yapılan bir istek yalnızca hesabın kaydettiğini döndürür ve asla yeni bir çıkarma başlatmaz, bu yüzden kaydedilmiş bir transkripti yeniden görmek bir okumadır, başka bir iş değil.

## Transkriptin ötesinde YouTube keşfi

YouTube, API'nin bir transkriptin çevresindeki soruları da yanıtladığı platformdur; YouTube Data API ile aynı kaynak adlarını kullanır.

- Arama — `GET /v1/youtube/search` sorguyla video, kanal ya da oynatma listesi bulur ve imleçle sayfalanan sonuçlar döndürür.
- Videolar — `GET /v1/youtube/videos` altyazı olup olmadığı dahil bir videonun ayrıntılarını döndürür.
- Kanallar — `GET /v1/youtube/channels` bir kanalı id ya da `@handle` ile çözer.
- Kanal yüklemeleri — `GET /v1/youtube/channels/{channelId}/videos` bir kanalın yüklemelerini gezer.
- Oynatma listesi öğeleri — `GET /v1/youtube/playlists/{playlistId}/items` bir oynatma listesini gezer.
- Altyazılar — `GET /v1/youtube/captions` bir videonun altyazı parçası üst verisini ve altyazı metnini döndürür. Asla bir konuşma tanıma işi başlatmaz: `requiresAsync` bildirdiğinde, yazıya dökmeyi çalıştırmak için `POST /v1/transcript` çağırın.

Keşif neyin yazıya döküleceğini yanıtlar; çıkarma ne söylendiğini yanıtlar. İkisini ayrı tutmak, önce arayıp listeleyebileceğiniz, sonra yalnızca seçtiğiniz bağlantıları bir transkript ya da toplu iş isteğine gönderebileceğiniz anlamına gelir.

## Üretim kullanımı için tasarlandı

Yüzey bilinçli olarak küçüktür ve bir hizmet için önemli olan kısımlar tahmin edilmek yerine belgelenmiştir.

- Tek kimlik bilgisi — Bearer jetonu olarak gönderilen bir API anahtarıyla ya da bir betikten veya sunucudan `X-API-Key` ile kimlik doğrulayın.
- Kapsamlı anahtarlar — çağıranın ihtiyaç duyduğu kapsamları verin; `transcripts` ve `batches` çıkarma ile toplu iş çalışmasını kapsar.
- Yapılandırılmış hatalar — çıkarma ve doğrulama hataları sabit bir `code` ve okunabilir bir `message` taşıyan bir hata nesnesi döndürür; kimlik doğrulama (401) ve hız sınırı (429) yanıtları daha basit düz bir hata gövdesi kullanır.
- Uygulanabilir sınırlar — hız sınırına takılan bir istek `Retry-After` ile birlikte `429` döndürür ve başarılı yanıtlar `X-RateLimit-*` başlıkları taşır, böylece istemci doğru geri çekilebilir.
- Yayımlanmış bir sözleşme — tam OpenAPI belgesi API'yi destekler; istemci üretebilir, sunucuyu taklit edebilir ya da gerçek yanıtları şemaya göre doğrulayabilirsiniz.
- Aracılar için bir kardeş — çağıranınız bir hizmet değil de bir AI istemcisiyse aynı hesap ve araçlara transcript.im MCP sunucusundan erişilebilir.

## İlgili araçlar

- [API belgeleri](/docs)
- [OpenAPI belgesi](/docs/openapi.json)
- [MCP sunucusu](/tr/mcp)
- [Agent Skills](/tr/skills)
- [YouTube transkript oluşturucu](/tr/youtube-transcript)
- [YouTube video özetleyici](/tr/youtube-video-summarizer)
- [YouTube altyazı oluşturucu](/tr/youtube-subtitle-generator)
- [YouTube altyazı indirici](/tr/youtube-subtitle-downloader)
- [YouTube kanal transkripti](/tr/youtube-channel-transcript)
- [YouTube oynatma listesi transkripti](/tr/youtube-playlist-transcript)
## Transkript API'si hakkında sık sorulan sorular

### transcript.im API'si nedir?

transcript.im API'si, herkese açık bir video veya ses bağlantısını zaman damgalı bir transkripte dönüştüren bir REST yüzeyidir; önce var olan altyazıları, videoda altyazı yoksa AI ile yazıya dökmeyi kullanır.

### transcript.im API'si hangi platformları destekler?

Gönderdiğiniz bağlantıdan platformu algılayarak YouTube, TikTok, Instagram, LinkedIn ve Twitter/X transkriptlerini çıkarır. YouTube, TikTok ve LinkedIn önce altyazıları kullanır ve konuşma tanımayı yedek olarak devreye sokar; Instagram ile X'te altyazı parçası yoktur ve doğrudan konuşma tanımaya gider.

### Bir videoda altyazı yoksa ne olur?

Bir videoda hiç altyazı parçası yoksa API bir ASR işi başlatır ve job id döndürür; transkript hazır olana dek o işi sorgularsınız, böylece istek konuşma tanıma yüzünden asla engellenmez.

### Yerel bir ses veya video dosyasını yazıya dökebilir miyim?

Evet. `POST /v1/transcript` URL yerine `file` parçası içeren bir `multipart/form-data` gövdesi kabul eder. Yüklenen dosya doğrudan konuşma tanımaya gider, bu yüzden `202` işi — ya da bekleme bütçesi içinde biterse `200` sonucu — döndürür.

### transcript.im API'si metinle birlikte zaman damgası döndürebilir mi?

Evet. JSON yanıtları zaman damgalı bölümler taşır ve metin yanıtları her satırda zaman damgası önekini koruyabilir, böylece bir satırın söylendiği ana dönebilirsiniz.

### Belirli bir dilde transkript nasıl isterim?

`asr` ve `asr-<code>` girdileri dahil virgülle ayrılmış bir dil öncelik listesi gönderin. Altyazı eşleşmesi doğrudan döndürülür; altyazılar var ama hiçbiri listeyle eşleşmiyorsa istek AI ile yazıya dökmeye devam eder ve bir `202` işi döndürür; kullanılabilir dilleri içeren `404` ise yalnızca konuşma tanımaya izin verilmediğinde döner.

### Eşzamansız bir transkriptin hazır olduğunu nasıl anlarım?

Aynı kimlik bilgisiyle `GET /v1/transcript/job/{id}` adresini başarı ya da başarısızlık bildirene dek sorgulayın veya sunucu tarafı güncellemeler için `GET /v1/transcript/job/{id}/events` adresine abone olun. İş sorgusu başarısız bir işte bile `200` döndürür, bu yüzden HTTP kodunu değil `status` ve `error` alanlarını okuyun.

### transcript.im API'si toplu çıkarmayı destekliyor mu?

Evet. Bir toplu iş URL listesi, oynatma listesi ya da kanal kabul eder, her öğenin durumunu izler ve öğeleri sayfa sayfa döndürür.

### Hangi dışa aktarma biçimlerini indirebilirim?

Biten bir toplu iş `txt`, `csv`, `json`, `srt`, `vtt` ya da `zip` olarak dışa aktarılır; kaydedilmiş tek bir transkript `txt`, `srt`, `vtt`, `json` ya da `md` olarak indirilir.

### Kaydedilmiş transkriptler nerede durur?

Hesap kitaplığı, kaydedilmiş transkriptlerin ve toplu iş kayıtlarının bulunduğu yerdir ve `/v1/library` altındadır. Listeleme, okuma, indirme, ilgili ve silme rotaları sunar; okumaları hesapla sınırlıdır ve asla yeni bir çıkarma başlatmaz.

### YouTube altyazı endpoint'i ne döndürür?

`GET /v1/youtube/captions` bir videonun altyazı parçası üst verisini altyazı metniyle birlikte döndürür. Asla bir konuşma tanıma işi başlatmaz; `requiresAsync` bildirdiğinde yazıya dökmeyi çalıştırmak için `POST /v1/transcript` çağırın.

### transcript.im API'si hataları ve hız sınırlarını nasıl bildirir?

Çıkarma ve doğrulama hataları `code` ile `message` taşıyan bir nesne kullanır; kimlik doğrulama düz bir `401`, hız sınırı ise `Retry-After` ve `X-RateLimit-*` başlıklarıyla birlikte düz bir `429` döndürür, böylece istemci doğru geri çekilebilir.

## Ürününüze transkript ekleyin

Bir API anahtarı oluşturun, bir video bağlantısı ya da yerel dosya gönderin ve transkripti JSON ya da düz metin olarak okuyun.

- [API anahtarı oluştur](/app/account/api-keys)
- [Belgeleri oku](/docs)
