Beranda → Blog → Cara pindah dari OpenAI Whisper API ke layanan lain
Cara pindah dari OpenAI Whisper API ke layanan lain
Tim meninggalkan Whisper API publik karena berbagai alasan: biaya pada volume besar, ketentuan soal pemrosesan data, atau layanan yang tidak tersedia di wilayahnya. Kabar baiknya, kalau API-nya kompatibel di tingkat protokol, migrasi hanya berarti mengganti dua baris dan selesai dalam semalam.
Apa persisnya yang berubah di kode
Tepat dua hal: alamat dan kunci. Sisanya — nama medan, format respons, penanganan galat — tetap seperti sebelumnya.
# sebelumnya
client = OpenAI(api_key="sk-…")
# sekarang
client = OpenAI(base_url="https://voicesscribe.com/v1", api_key="vs_live_…")
Pemanggilan pengenalan sama sekali tidak disentuh:
result = client.audio.transcriptions.create(model="whisper-1", file=f)
Parameter model dipertahankan demi kompatibilitas: layanan menerima nilai yang biasa dipakai dan menjalankan modelnya sendiri.
Kompatibilitas sampai ke detail
| Apa | Sama |
|---|---|
Endpoint POST /v1/audio/transcriptions | ya |
Medan berkas file, permintaan multipart | ya |
Parameter language, prompt, temperature, response_format | ya |
| Format respons: json, text, verbose_json, srt, vtt | ya |
Struktur galat {"error": {"message", "type", …}} | ya |
Butir terakhir lebih penting daripada kelihatannya: SDK resmi mengurai galat menjadi pengecualian bertipe. Kalau server menjawab dengan formatnya sendiri, kode klien pecah di tempat yang tidak diduga — kompatibilitas galat menyelamatkan Anda dari menulis ulang penangan.
Cara membandingkan kualitas sebelum beralih
Jangan pindahkan produksi tanpa melihat. Urutan yang masuk akal:
- Kumpulkan sampel. 20–50 rekaman nyata: bersih, berisik, pendek, beda bahasa — seperti kondisi sehari-hari.
- Jalankan di kedua layanan dengan satu skrip, simpan hasilnya berdampingan.
- Bandingkan dengan kriteria Anda. Yang penting bukan persentase abstrak, melainkan kasus Anda: apakah kode produk, nama, dan angka keluar benar.
- Pindahkan bertahap. Arahkan 10% lalu lintas ke layanan baru, beberapa hari kemudian seluruhnya.
for path in sampel:
with open(path, "rb") as f:
a = old_client.audio.transcriptions.create(model="whisper-1", file=f).text
with open(path, "rb") as f:
b = new_client.audio.transcriptions.create(model="whisper-1", file=f).text
print(path, "\n sebelum:", a, "\n sesudah:", b)Yang perlu diperiksa terpisah
- Timeout klien. Nilai baku 100 detik cocok untuk pesan suara dan panggilan pendek; untuk rekaman satu jam, naikkan.
- Batas ukuran. Berkas di atas 25 MB harus dikompresi atau dipotong — sama seperti di API aslinya.
- Percobaan ulang. Tambahkan satu atau dua kali ulang untuk galat 5xx: praktik standar untuk layanan eksternal mana pun.
- Penyimpanan transkrip. Pastikan kebijakannya: di sini rekaman dan teks dihapus otomatis setelah 24 jam.
Kapan migrasi memang layak
Berganti penyedia masuk akal bila setidaknya satu syarat ini terpenuhi:
- volume tumbuh sampai biaya per menit menjadi pos pengeluaran yang terasa;
- ada ketentuan tentang di mana dan berapa lama rekaman disimpan;
- Anda butuh akses yang bisa diandalkan, tanpa batasan wilayah atau kartu yang diblokir;
- Anda butuh format atau parameter yang tidak dimiliki penyedia sekarang.
Kalau tidak satu pun berlaku, tidak ada alasan mengutak-atik integrasi yang sudah jalan — kompatibilitasnya tetap memungkinkan pindah semalam kapan pun nanti.
Coba dengan rekaman Anda sendiri. Pendaftaran memakan waktu satu menit, dan menit gratisnya cukup untuk menilai kualitasnya.
Ambil kunci API gratisPertanyaan yang sering diajukan
Apakah kodenya harus ditulis ulang saat migrasi?
Tidak, kalau Anda memakai SDK resmi openai: yang berubah hanya alamat basis dan kunci. Pemanggilan, parameter, dan pembacaan respons tetap sama.
Apakah format srt dan vtt tetap berfungsi?
Ya, semua nilai response_format yang biasa didukung: json, text, verbose_json, srt, dan vtt.
Bagaimana dengan penanganan galat di SDK?
Galat dikembalikan dalam format yang sama seperti OpenAI, jadi SDK mengubahnya menjadi pengecualian bertipe — penangan yang sudah ada tetap bekerja.
Bisakah dua layanan dipakai bersamaan?
Bisa. Buat dua klien dengan base_url berbeda dan arahkan sebagian lalu lintas ke yang baru — cara praktis membandingkan kualitas dengan data nyata.
Apakah nilai model perlu diganti?
Tidak. Nilai yang biasa dipakai diterima demi kompatibilitas, dan layanan memakai model pengenalannya sendiri.
Bacaan terkait
- 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.
- Subtitle SRT dan VTT otomatis dari video dan webinar — Cara mendapatkan berkas subtitle bertanda waktu dari rekaman webinar atau video: ekstraksi audio, format SRT dan VTT, contoh kode, dan masalah yang sering muncul.
- Harga transkripsi: sebenarnya Anda membayar untuk apa — Bagaimana penagihan transkripsi bekerja, bagian audio mana yang diam-diam memakan biaya, kapan GPU sendiri lebih murah daripada API, dan cara memperkirakan biaya bulanan.