Beranda → Blog → Harga transkripsi: sebenarnya Anda membayar untuk apa
Harga transkripsi: sebenarnya Anda membayar untuk apa
Harga transkripsi kelihatan sederhana — tarif per menit — lalu tagihan pertama tidak cocok dengan perkiraan. Selisihnya hampir tidak pernah ada pada tarifnya. Selisih itu ada pada menit-menit yang tidak Anda sadari sedang dikirim: keheningan, duplikat, pengulangan, dan rekaman yang tidak pernah dibaca siapa pun.
Satuannya menit audio, bukan kata
Mulai dari sini, karena ini menjelaskan hampir semua kejutan. Anda ditagih berdasarkan durasi audio yang Anda unggah, bukan berdasarkan banyaknya teks yang kembali.
Konsekuensi yang layak diingat:
- Satu menit keheningan berbiaya sama dengan satu menit ucapan padat.
- Rekaman yang tidak berisi suara orang tetap berbiaya penuh sepanjang durasinya, meski responsnya kosong.
- Sepuluh detik ucapan di dalam berkas lima menit berbiaya lima menit.
- Berbicara lebih cepat tidak membuatnya lebih murah. Memotong berkasnya, iya.
Hampir semua pengoptimalan di bawah adalah variasi dari satu gagasan: kirim lebih sedikit audio, bukan lebih sedikit ucapan.
Dari mana menit tak terduga itu datang
| Sumber | Pemborosan khas | Perbaikan |
|---|---|---|
| Keheningan di awal dan akhir rekaman telepon | 10–30% | Potong dengan ffmpeg sebelum mengirim |
| Musik tunggu dan menu suara | 5–20% | Buang bagian sebelum panggilan dijawab |
| Berkas yang sama terkirim dua kali setelah proses mati | sampai 100% | Pipeline idempoten, lewati berkas yang selesai |
| Uji coba yang tertinggal di kode produksi | bervariasi | Kunci terpisah, pantau di area klien |
| Rekaman yang tidak pernah dibuka | sering kali mayoritas | Transkrip sesuai permintaan, bukan semuanya |
Baris terakhir biasanya yang terbesar dan paling tidak teknis. Tim sering mentranskrip seluruh arsip karena mudah, lalu memakai dua persen darinya.
Memperkirakan biaya Anda sendiri
Jangan mengekstrapolasi dari halaman harga — ukur audio Anda sendiri. Seluruh perhitungannya hanya dua angka:
ffprobe -v error -show_entries format=duration -of csv=p=0 contoh.mp3
import pathlib, subprocess
def menit(p):
out = subprocess.run(["ffprobe", "-v", "error", "-show_entries",
"format=duration", "-of", "csv=p=0", str(p)],
capture_output=True, text=True).stdout
return float(out) / 60
bulan = sum(menit(p) for p in pathlib.Path("rekaman").glob("*.mp3"))
print(f"{bulan:.0f} menit per bulan")
Kalikan dengan tarif Anda dan angka bulanannya keluar. Patokan yang bertahan dalam praktik: satu jalur dukungan dengan 200 panggilan sehari berdurasi empat menit kira-kira 16 000 menit sebulan; podcast mingguan sekitar empat jam; tim sepuluh orang dengan rapat harian setengah jam sekitar 600 menit.
Paket plus kelebihan pemakaian, dan alasannya
Sebagian besar paket menggabungkan biaya bulanan yang sudah memuat sejumlah menit dengan tarif per menit di atasnya. Hitungannya layak dikerjakan sekali:
tagihan = biaya_bulanan + max(0, menit_terpakai - menit_termasuk) * tarif
Dua cara keliru yang perlu dihindari. Membeli paket jauh di atas volume Anda berarti membayar menit yang tidak pernah dipakai — menit yang termasuk tidak bergulir ke bulan berikutnya. Bertahan pada bayar-per-menit murni di volume tinggi berarti melewatkan diskon yang diwakili paket. Lihat tiga bulan pemakaian nyata sebelum memilih salah satunya.
Batas keras pada paket adalah fitur pengaman, bukan pembatasan: ia mencegah perulangan liar menerbitkan tagihan yang tak pernah disetujui siapa pun. Nyalakan selama Anda masih dalam tahap pengembangan.
API atau GPU sendiri
Perbandingan yang jujur bukan «tarif per menit lawan nol». Menjalankan sendiri memindahkan biaya dari satu baris tagihan ke sekumpulan hal yang mudah dilupakan:
| Biaya | API | GPU sendiri |
|---|---|---|
| Per menit audio | tarif | 0 |
| Perangkat keras | 0 | kartu dan mesin, disusutkan |
| Listrik dan penempatan | 0 | terus-menerus, menganggur atau tidak |
| Pemasangan dan perawatan | 0 | waktu insinyur, berkelanjutan |
| Waktu menganggur | gratis | harga penuh |
Titik impasnya soal tingkat pemakaian, bukan soal volume. GPU yang berjalan beberapa jam sehari kalah dari API, karena dua puluh jam menganggurnya juga Anda bayar. GPU yang penuh sepanjang waktu menang. Di antara keduanya, faktor penentunya biasanya apakah Anda mau bertanggung jawab atas sebuah mesin pada pukul tiga pagi.
Ada alasan ketiga yang sama sekali tidak berhubungan dengan uang: sebagian data tidak boleh keluar dari lingkungan Anda. Itu persyaratan, bukan pengoptimalan, dan ia menyelesaikan pertanyaannya sendiri.
Menekan tagihan tanpa kehilangan kualitas
- Potong keheningannya. Perubahan tunggal termurah pada rekaman telepon — sering 10–30% lebih hemat, tanpa dampak apa pun pada kualitas.
- Jangan mentranskrip yang tidak dibaca siapa pun. Transkrip berdasarkan permintaan, atau hanya panggilan di atas durasi tertentu, lalu perhatikan apa yang benar-benar dibuka orang.
- Buat pipeline yang idempoten. Mengulangi pekerjaan yang sudah selesai setelah proses mati adalah pemborosan murni; melewati berkas yang selesai menghapusnya.
- Pakai kunci terpisah untuk pengembangan. Lalu lintas uji yang bercampur dengan angka produksi menyembunyikan kedua masalah sekaligus.
- Periksa pemakaian mingguan, bukan bulanan. Perulangan yang mengirim berkas yang sama berputar-putar terlihat jelas pada hari pertama dan mahal pada hari ketiga puluh.
# memotong keheningan di kedua ujung
ffmpeg -i telepon.mp3 -af silenceremove=start_periods=1:start_threshold=-45dB:stop_periods=-1:stop_threshold=-45dB:stop_duration=2 pendek.mp3
Coba dengan rekaman Anda sendiri. Pendaftaran memakan waktu satu menit, dan menit gratisnya cukup untuk menilai kualitasnya.
Ambil kunci API gratisPertanyaan yang sering diajukan
Penagihannya per menit audio atau per kata teks?
Per menit audio yang Anda unggah. Panjang teks yang dihasilkan tidak mengubah apa pun, dan itulah sebabnya keheningan dan musik tunggu berbiaya persis sama dengan ucapan.
Apakah rekaman yang ternyata sunyi tetap ditagih?
Ya — audionya tetap diproses, meski responsnya kosong. Memotong keheningan sebelum mengirim adalah perbaikan langsungnya.
Apakah permintaan yang gagal ditagih?
Permintaan yang mengembalikan galat tidak menagih menit audio. Yang memakan biaya adalah mengulangi transkripsi yang sudah berhasil, dan karena itulah pipeline yang bisa dilanjutkan itu penting.
Apakah menjalankan Whisper di GPU sendiri lebih murah?
Hanya pada tingkat pemakaian tinggi. Kartu yang menganggur hampir sepanjang hari kalah dari penagihan per menit begitu Anda menghitung perangkat keras, listrik, dan perawatan. Beban sepanjang waktu adalah tempat menjalankan sendiri menang.
Bagaimana menghindari tagihan yang mengejutkan?
Perkirakan volumenya dengan ffprobe sebelum proses massal pertama, biarkan batas keras paket menyala selama pengembangan, dan periksa angka pemakaian di area klien setiap minggu, bukan di akhir bulan.
Bacaan terkait
- Cara membangun pipeline transkripsi untuk arsip audio — Mentranskrip ribuan rekaman tanpa kehilangan satu pun: antrean kerja, konkurensi, percobaan ulang, melanjutkan setelah proses mati, dan menjaga tagihan tetap terkendali.
- Cara pindah dari OpenAI Whisper API ke layanan lain — Panduan migrasi dari Whisper OpenAI: apa yang berubah di kode, apa yang tetap sama, cara membandingkan kualitas, dan cara tidak merusak integrasi yang sedang berjalan.
- Cara mengubah rekaman telepon menjadi teks — Panduan langkah demi langkah mengubah rekaman percakapan telepon menjadi teks lewat API dalam hitungan menit. Lengkap dengan contoh Python, C#, dan daftar galat.