Lewati ke referensi API

Integrasi API

Dari media menjadi teks. Langsung dalam alur kerja Anda.

Di halaman ini

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.

Permintaan HTTPSRespons JSONTugas asinkron

URL dasar

https://api.taption.com/v1POST/transcriptsGET/transcripts/{id}

Transkripsi pertama Anda

Transkripsi berlangsung di latar belakang. Pembuatan tugas langsung mengembalikan respons; periksa statusnya hingga hasil siap.

  1. Buat tugas

    Kirim POST /transcripts dengan URL media langsung yang dapat diakses publik. Simpan id yang dikembalikan.

  2. Periksa progresnya

    Periksa GET /transcripts/{id} setiap 15–30 detik hingga status bernilai complete atau error.

  3. Gunakan transkrip Anda

    Baca JSON dari data, atau unduh file dari export_url saat meminta SRT atau VTT.

Status tugas

initializing

Dalam antrean dan menunggu untuk dimulai. Terus periksa status.

transcribing

Media Anda sedang ditranskripsikan. Terus periksa status.

complete

Siap. Baca hasilnya atau unduh file.

error

Tugas 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 kunci API

Buat transkrip

POST/transcripts

Mulai 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.

media_urlstringwajib

Tautan unduhan langsung ke file media Anda.

Maksimal 2048 karakter
extensionstringwajib

Format file media.

mp3wavm4aaacflacwmaopusmp4
languagestringwajib

Bahasa yang digunakan dalam media, dalam bentuk tag bahasa. Lihat referensi Bahasa.

Lihat tag bahasa
namestring

Nama tampilan transkrip. Secara default menggunakan nama file di `media_url`. Nama yang lebih panjang dipotong menjadi 200 karakter.

Maksimal 200 karakter
export_typestring

Format keluaran. Default-nya json, yang mengembalikan isi transkrip yang telah diurai di data. srt dan vtt mengembalikan tautan file di export_url.

jsonsrtvtt
Default: json
max_charinteger

Jumlah 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

200

Tugas telah dibuat dan masuk antrean. Simpan `id` untuk memeriksa statusnya.

400

Isi permintaan tidak valid. Perbaiki permintaan sebelum mencoba lagi. Hanya masalah pertama yang ditemukan yang dilaporkan.

401

Kunci API tidak ada, tidak valid, atau belum disiapkan untuk akses API.

403

Diperlukan langganan aktif dan kunci API dengan izin yang sesuai.

429

Batas 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.

500

Kesalahan server yang tidak terduga. Coba lagi dengan menambah jeda secara eksponensial.

503

Batas 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

GET/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.

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

200

Status transkrip saat ini. Ini tidak berarti tugas berhasil; baca `status`.

401

Kunci API tidak ada, tidak valid, atau belum disiapkan untuk akses API.

403

Diperlukan langganan aktif dan kunci API dengan izin yang sesuai.

404

Tidak ada transkrip dengan ID ini di akun Anda. Transkrip milik akun lain memberikan respons yang sama.

500

Kesalahan 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
Kesalahan HTTP dan panduan percobaan ulang
HTTPApa yang terjadiLangkah berikutnya
400Isi permintaan tidak valid.Perbaiki permintaan terlebih dahulu.
401Kunci API tidak ada, tidak valid, atau telah dicabut.Periksa kunci API Anda.
403Diperlukan langganan aktif dan kunci API dengan izin yang sesuai.Periksa langganan dan izin kunci API Anda.
404Transkrip tidak ditemukan di akun Anda.Periksa ID transkrip.
405Metode HTTP salah.Gunakan metode yang didokumentasikan.
429Batas pengiriman atau jumlah pekerjaan yang belum selesai tercapai.Ikuti Retry-After dan tunggu hingga ada slot pekerjaan.
500Kesalahan server yang tidak terduga.Tambah jeda secara eksponensial.
503Batas pengiriman tidak tersedia, atau pengiriman ke antrean gagal atau tidak dapat dikonfirmasi.Periksa ID pekerjaan yang dikembalikan sebelum mencoba lagi; ikuti Retry-After.
504Permintaan 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
Tag bahasa transkripsi yang didukung
BahasaTag
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.

Kembali ke ringkasan