Segmentler
GET /transcriptions/{id}/segments deşifre metnini okuma sırasıyla döner: konuşulan her bölüm bir nesne, zamanlar kaydın başından itibaren saniye olarak.
{
"data": [
{ "index": 0, "start": 0.0, "end": 4.24, "speaker": "A", "text": "Right, shall we start?" },
{ "index": 1, "start": 4.24, "end": 9.81, "speaker": "B", "text": "Yes -- I have the numbers here." }
],
"has_more": false,
"next_cursor": null
}index, segmentin kayıttaki sırasıdır: sıfırdan başlar ve sayfalar boyunca kesintisiz ilerler. Veritabanı kimliği değildir; bizim hiçbir kimliğimiz bu sınırı geçmez.startveendsaniye cinsindendir, milisaniye hassasiyetinde.text, o bölümün metnidir; kaydın kendi dilinde.
Segmentler ancak kayıt completed olduktan sonra var olur. Daha erken sorarsanız hata değil, boş bir sayfa alırsınız; kodunuzun status alanına bakması için bir sebep daha.
Uzun bir deşifre metninde sayfalama
limit varsayılan olarak 100’dür, en çok 1000 olabilir. next_cursor değerini, has_more true olduğu sürece izlemeye devam edin. İmleç opaktır; size geldiği hâliyle geri gönderin.
curl "https://heartotext.com/api/public/v1/transcriptions/$ID/segments?limit=500" \
-H "Authorization: Bearer $H2T_API_KEY"
curl "https://heartotext.com/api/public/v1/transcriptions/$ID/segments?limit=500&cursor=eyJvIjo1MDB9" \
-H "Authorization: Bearer $H2T_API_KEY"Konuşmacılar
speaker, konuşmacı ayrımından gelen bir etikettir: A, B, C — sesler kayıtta ilk hangi sırayla duyuluyorsa o sırayla. Bundan üç sonuç çıkar, üçü de önemli:
- Kişi değildir. Kimsenin kim olduğunu tespit etmiyoruz.
Aetiketini bir isimle eşleştirmek yalnızca size düşer. - Yalnızca tek bir kaydın içinde tutarlıdır. Bir kayıttaki
Akonuşmacısıyla bir sonraki kayıttakiAkonuşmacısının birbiriyle ilgisi yoktur; odadakiler aynı kişiler olsa bile. - null olabilir. Konuşmacı ayrımı ayıracak bir şey bulamadığında böyle olur; genelde tek sesli kayıtlarda.
Dışa aktarma biçimleri
format | Dosya | Nerede işe yarar |
|---|---|---|
txt | Düz metin | Dizinleme, arama, başka bir modele girdi. |
srt | SubRip altyazı | Video oynatıcılar ve kurgu programları. |
vtt | WebVTT | <track> etiketiyle web’de altyazı. |
pdf | Müşteriye gönderilecek bir belge. | |
docx | Word | Elden geçirilecek bir dosya. |
text değeri txt ile aynı kapıya çıkar, word değeri de docx ile. Hangi biçimlerin açık olduğunu isteği yapan anahtar değil, kaydın sahibi olan hesabın planı belirler; ücretli bir planda beşi de açıktır.
Dışa aktarılan dosyayı indirme
Dosyanın kendisi, doğru içerik tipiyle doğrudan yanıtta gelir. Peşinden gideceğiniz imzalı bir bağlantı yok: bu dosyalar saklanmıyor, her istekte yeniden üretiliyor; imzalanacak bir şey de yok. Uzun bir kaydın PDF’i birkaç saniye sürer, zaman aşımınızı ona göre ayarlayın.
curl "https://heartotext.com/api/public/v1/transcriptions/$ID/export?format=srt" \
-H "Authorization: Bearer $H2T_API_KEY" \
-o episode-42.srtYalnızca completed durumundaki bir kayıt dışa aktarılabilir; başka bir durumdaki kayıt 409 transcription_is_not_ready alır. Bilinmeyen bir biçimin karşılığı ise 422.
