Ringkasan
Ubah file audio dan video menjadi transkrip, takarir, dan subtitel dengan REST API yang sederhana.
Kirim URL media, pantau proses transkripsi, lalu ambil JSON terstruktur atau file subtitel yang siap digunakan.
Transkripsi pertama Anda
Transkripsi berlangsung di latar belakang. Pembuatan tugas langsung mengembalikan respons; periksa statusnya hingga hasil siap.
Buat tugas
Kirim
POST /transcriptsdengan URL media langsung yang dapat diakses publik. Simpanidyang dikembalikan.Periksa progresnya
Periksa
GET /transcripts/{id}setiap 15–30 detik hinggastatusbernilaicompleteatauerror.Gunakan transkrip Anda
Baca JSON dari
data, atau unduh file dariexport_urlsaat meminta SRT atau VTT.
Status tugas
initializingDalam antrean dan menunggu untuk dimulai. Terus periksa status.
transcribingMedia Anda sedang ditranskripsikan. Terus periksa status.
completeSiap. Baca hasilnya atau unduh file.
errorTugas gagal. Baca message dan hentikan pemeriksaan berkala.
Anggap status lainnya masih dalam proses. Status perantara baru dapat ditambahkan.
Autentikasi
Kirim kunci API Anda di header Authorization pada setiap permintaan, persis seperti yang ditampilkan saat Anda membuatnya.
Authorization: <your api key>Jangan tambahkan awalan Bearer.
Kunci baru diawali dengan tp_live_. Kunci lengkap hanya ditampilkan sekali, saat Anda membuatnya. Jika hilang, cabut kunci tersebut dan buat yang baru; kunci yang dicabut langsung berhenti berfungsi.
Diperlukan langganan aktif dan kunci API dengan izin yang sesuai.
Simpan kunci Anda di server. Kunci ini memberikan akses ke transkrip dan penggunaan akun Anda. Jangan pernah menampilkannya dalam kode browser atau repositori publik.
Buat transkrip
/transcriptsMulai tugas transkripsi untuk file media di URL publik. Respons dikembalikan setelah tugas masuk antrean, dengan status: "initializing".
Taption mengunduh file secara langsung. Tautan halaman berbagi, seperti halaman pratinjau Google Drive atau Dropbox, tidak dapat digunakan.
Isi permintaan
application/jsonmedia_urlstringwajibTautan unduhan langsung ke file media Anda.
Maksimal 2048 karakterextensionstringwajibFormat file media.
mp3wavm4aaacflacwmaopusmp4languagestringwajibBahasa yang digunakan dalam media, dalam bentuk tag bahasa. Lihat referensi Bahasa.
Lihat tag bahasanamestringNama tampilan transkrip. Secara default menggunakan nama file di `media_url`. Nama yang lebih panjang dipotong menjadi 200 karakter.
Maksimal 200 karakterexport_typestringFormat keluaran. Default-nya json, yang mengembalikan isi transkrip yang telah diurai di data. srt dan vtt mengembalikan tautan file di export_url.
Default: jsonjsonsrtvttmax_charintegerJumlah maksimal karakter per segmen subtitel. Default-nya `16` untuk bahasa Mandarin, Jepang, Korea, dan Kanton, serta `65` untuk bahasa lain. Nilai di luar 1–200 diabaikan dan nilai default digunakan.
1–200
Respons
200Tugas telah dibuat dan masuk antrean. Simpan `id` untuk memeriksa statusnya.
400Isi permintaan tidak valid. Perbaiki permintaan sebelum mencoba lagi. Hanya masalah pertama yang ditemukan yang dilaporkan.
401Kunci API tidak ada, tidak valid, atau belum disiapkan untuk akses API.
403Diperlukan langganan aktif dan kunci API dengan izin yang sesuai.
429Batas akun tercapai; tidak ada pekerjaan dibuat. Default: Premium 10 pengiriman/menit dan 2 pekerjaan belum selesai; Corp 30/menit dan 10 pekerjaan belum selesai, berlaku untuk semua kunci. Batas dapat berubah. Pemeriksaan status tidak dihitung.
500Kesalahan server yang tidak terduga. Coba lagi dengan menambah jeda secara eksponensial.
503Batas pengiriman sementara tidak tersedia (`api_limits_unavailable`; tidak ada transkrip yang dibuat), atau pengiriman ke antrean gagal atau tidak dapat dikonfirmasi. Ikuti Retry-After jika ada. Jika `id` dikembalikan, periksa statusnya sebelum mencoba lagi: statusnya mungkin `error` atau pekerjaan sudah diproses. Percobaan ulang membuat transkrip baru.
Ambil transkrip
/transcripts/{id}Ambil status terkini dan hasil transkrip. Periksa setiap 15–30 detik selama tugas berlangsung.
Untuk json atau jika jenis ekspor tidak ditentukan, hasil yang sudah selesai muncul di data. Untuk srt atau vtt, unduh file dari export_url.
Parameter jalur
idstringwajib- ID transkrip yang dikembalikan oleh
POST /transcripts.Maksimal 256 karakter
Transkripsi yang gagal tetap mengembalikan HTTP 200 dengan status: "error". Periksa status tugas serta kode HTTP.
Respons
200Status transkrip saat ini. Ini tidak berarti tugas berhasil; baca `status`.
401Kunci API tidak ada, tidak valid, atau belum disiapkan untuk akses API.
403Diperlukan langganan aktif dan kunci API dengan izin yang sesuai.
404Tidak ada transkrip dengan ID ini di akun Anda. Transkrip milik akun lain memberikan respons yang sama.
500Kesalahan server yang tidak terduga. Coba lagi dengan menambah jeda secara eksponensial.
Objek transkrip
Permintaan pembuatan dan pemeriksaan status mengembalikan objek JSON. Field-nya menjelaskan tugas dan, saat sudah siap, hasilnya.
idstring- ID transkrip. Gunakan bersama `GET /transcripts/{id}`.
statusstring- Status tugas: `initializing`, `transcribing`, `complete`, atau `error`. Anggap nilai lainnya masih dalam proses.
dataJSON- Ekspor JSON yang telah diurai saat siap untuk json atau jika export_type tidak ditentukan; selain itu, string kosong.
export_urlstring- Tautan unduhan untuk ekspor srt atau vtt. Kosong sampai siap. Tidak disertakan dalam respons status untuk json atau jika export_type tidak ditentukan.
messagestring- Detail tambahan tentang status terkini. Selama `transcribing`, ini dapat menunjukkan tahap progres seperti `ANALYZING` atau `FINALIZING`. Saat `status` adalah `error`, field ini menjelaskan kegagalan. Ditulis untuk dibaca manusia; jangan diurai secara terprogram.
error_codestring- Kode opsional yang dapat dibaca mesin untuk kesalahan batas pengiriman.
limitinteger- Batas akun yang berlaku, disertakan dalam respons HTTP 429.
Kesalahan dan percobaan ulang
Gunakan kode status HTTP untuk menentukan langkah berikutnya. Field message ditulis untuk dibaca manusia; redaksinya dapat berubah.
Respons API menyertakan header X-Request-Id. Sertakan nilainya saat Anda menghubungi dukungan tentang suatu permintaan.
Kode kesalahan HTTP9 kode
| HTTP | Apa yang terjadi | Langkah berikutnya |
|---|---|---|
400 | Isi permintaan tidak valid. | Perbaiki permintaan terlebih dahulu. |
401 | Kunci API tidak ada, tidak valid, atau telah dicabut. | Periksa kunci API Anda. |
403 | Diperlukan langganan aktif dan kunci API dengan izin yang sesuai. | Periksa langganan dan izin kunci API Anda. |
404 | Transkrip tidak ditemukan di akun Anda. | Periksa ID transkrip. |
405 | Metode HTTP salah. | Gunakan metode yang didokumentasikan. |
429 | Batas pengiriman atau jumlah pekerjaan yang belum selesai tercapai. | Ikuti Retry-After dan tunggu hingga ada slot pekerjaan. |
500 | Kesalahan server yang tidak terduga. | Tambah jeda secara eksponensial. |
503 | Batas pengiriman tidak tersedia, atau pengiriman ke antrean gagal atau tidak dapat dikonfirmasi. | Periksa ID pekerjaan yang dikembalikan sebelum mencoba lagi; ikuti Retry-After. |
504 | Permintaan melewati batas waktu. | Tambah jeda; hindari tugas duplikat. |
Kesalahan batas API mengembalikan HTTP 429 dengan JSON dan Retry-After dalam detik. Hosting juga dapat mengembalikan 429, 504, atau 400 tanpa JSON. Periksa status HTTP sebelum membaca isi respons.
Permintaan pembuatan tidak bersifat idempoten. Mengulangi POST /transcripts yang kehabisan waktu dapat membuat transkrip lain. Jika respons 503 menyertakan ID pekerjaan, periksa pekerjaan itu sebelum mengirim ulang: pekerjaan mungkin gagal atau sudah diproses.
Bahasa
Atur language ke bahasa yang digunakan dalam media Anda. Gunakan tag persis seperti di bawah, termasuk akhiran wilayah atau sistem tulisan keluaran jika ada.
Bahasa yang didukung74 bahasa
| Bahasa | Tag |
|---|---|
| Afrikaans (South Africa) | af-ZA |
| Arabic (Egypt) | ar-EG |
| Armenian (Armenia) | hy-AM |
| Assamese (India) | as-IN |
| Azerbaijani (Azerbaijan) | az-AZ |
| Bengali (India) | bn-IN |
| Bosnian (Bosnia and Herzegovina) | bs-BA |
| Bulgarian (Bulgaria) | bg-BG |
| Burmese (Myanmar) | my-MM |
| Cantonese, Simplified Chinese output (Hong Kong) | yue-Hant-HK-zh |
| Cantonese, Traditional Chinese output (Hong Kong) | yue-Hant-HK-TW-zh |
| Cantonese, Simplified Cantonese output (Hong Kong) | yue-Hant-HK |
| Cantonese, Traditional Cantonese output (Hong Kong) | yue-Hant-HK-TW |
| Catalan (Spain) | ca-ES |
| Chinese (China) | zh |
| Chinese (Taiwan) | zh-TW |
| Chinese & English (Simplified) | zh-EN |
| Chinese & English (Traditional) | zh-EN-TW |
| Croatian (Croatia) | hr-HR |
| Czech (Czech Republic) | cs-CZ |
| Danish (Denmark) | da-DK |
| Dutch (Belgium) | nl-BE |
| English (Australia) | en-AU |
| English (United Kingdom) | en-GB |
| English (United States) | en-US |
| Estonian (Estonia) | et-EE |
| Filipino (Philippines) | tl-PH |
| Finnish (Finland) | fi-FI |
| French (France) | fr-FR |
| Galician (Spain) | gl-ES |
| German (Germany) | de-DE |
| Greek (Greece) | el-GR |
| Gujarati (India) | gu-IN |
| Hebrew (Israel) | iw-IL |
| Hindi (India) | hi-IN |
| Hungarian (Hungary) | hu-HU |
| Icelandic (Iceland) | is-IS |
| Indonesian (Indonesia) | id-ID |
| Italian (Italy) | it-IT |
| Japanese (Japan) | ja-JP |
| Kannada (India) | kn-IN |
| Kazakh (Kazakhstan) | kk-KZ |
| Khmer (Cambodia) | km-KH |
| Korean (South Korea) | ko-KR |
| Latvian (Latvia) | lv-LV |
| Lithuanian (Lithuania) | lt-LT |
| Macedonian (North Macedonia) | mk-MK |
| Malay (Malaysia) | ms-MY |
| Malayalam (India) | ml-IN |
| Marathi (India) | mr-IN |
| Nepali (Nepal) | ne-NP |
| Norwegian (Norway) | no-NO |
| Odia (India) | or-IN |
| Persian (Iran) | fa-IR |
| Polish (Poland) | pl-PL |
| Portuguese (Portugal, Brazil) | pt-PT_pt-BR |
| Punjabi, Gurmukhi (India) | pa-IN |
| Romanian (Romania) | ro-RO |
| Russian (Russia) | ru-RU |
| Serbian (Serbia) | sr-SR |
| Slovak (Slovakia) | sk-SK |
| Slovenian (Slovenia) | sl-SI |
| Spanish (Spain) | es-ES |
| Swahili (Kenya) | sw-KE |
| Swedish (Sweden) | sv-SE |
| Tamil (India) | ta-IN |
| Telugu (India) | te-IN |
| Thai (Thailand) | th-TH |
| Turkish (Turkey) | tr-TR |
| Ukrainian (Ukraine) | uk-UA |
| Urdu (Pakistan) | ur-PK |
| Uzbek (Uzbekistan) | uz-UZ |
| Vietnamese (Vietnam) | vi-VN |
| Zulu (South Africa) | zu-ZA |
Daftar ini mengikuti pengaturan bahasa Taption dan dapat berubah. Pemilih bahasa Taption adalah acuan utama.