Server API Whisper: Opsi Penyiapan dan Langkah Teks
Server API Whisper adalah layanan HTTP yang menerima audio dan mengembalikan transkrip. Ini hanya menangani suara, sehingga apa pun yang ingin Anda lakukan dengan kata-kata setelahnya memerlukan model teks terpisah.
Diperbarui

Poin utama
- Whisper adalah model pengenal ucapan-ke-teks; server membungkusnya di balik endpoint HTTP.
- Anda dapat menyewa endpoint yang di-hosting, menjalankan wrapper sendiri, atau menjalankan biner lokal.
- API ini hanya teks: ini melakukan langkah setelah transkripsi, bukan langkah audio.
- Dua tahap ini terhubung dengan beberapa baris kode Python menggunakan SDK OpenAI dua kali.
Jawaban singkat
Whisper adalah model pengenalan ucapan sumber terbuka yang diterbitkan oleh OpenAI. Secara mandiri, ini adalah file model dan beberapa kode inferensi. Server menempatkan antarmuka HTTP di depannya, sehingga aplikasi Anda dapat mengirim file audio dan mendapatkan teks kembali alih-alih memanggil fungsi Python secara langsung.
Sebagian besar server meniru bentuk endpoint transkripsi OpenAI, POST /v1/audio/transcriptions, yang mengambil unggahan multipart dengan file audio dan nama model. Bentuk inilah yang memungkinkan pustaka klien yang sama berbicara dengan layanan yang di-hosting, wadah di mesin Anda sendiri, atau wrapper kecil yang ditulis orang lain.
- Input: sebuah file audio, biasanya mp3, wav, m4a atau sejenisnya.
- Output: teks biasa, atau JSON dengan segmen dan stempel waktu, tergantung pada server.
- Tidak termasuk: ringkasan, terjemahan menjadi prosa yang dipoles, ekstraksi item tindakan. Itu memerlukan model bahasa.
Tiga cara untuk mendapatkan server Whisper
1. Endpoint yang di-hosting
OpenAI menawarkan endpoint transkripsi yang di-hosting, dan penyedia lain juga menjual transkripsi berbasis Whisper. Anda membayar per penggunaan, Anda tidak mengelola perangkat keras, dan Anda mengirim audio Anda ke infrastruktur orang lain. Model penagihan berbeda antar penyedia, dan layanan ucapan umumnya membebankan biaya berdasarkan durasi audio, jadi periksa harga terbaru mereka sebelum Anda berkomitmen pada volume penggunaan.
2. Wrapper yang di-hosting sendiri
Beberapa proyek sumber terbuka membungkus Whisper atau implementasi ulang di dalamnya dalam server web yang meniru rute transkripsi OpenAI. Anda menjalankannya di Docker di mesin dengan GPU, atau di CPU jika Anda menerima pemrosesan yang lebih lambat. Ini memberi Anda kontrol atas ke mana audio pergi. Ini juga membuat Anda bertanggung jawab atas unduhan model, pembaruan, antrean, dan restart.
3. Biner lokal
Proyek whisper.cpp adalah port C dan C++ dari model tersebut, dan repositorinya menyertakan contoh server HTTP. Ini berjalan di laptop biasa dan server kecil, yang membuatnya menjadi pilihan yang baik untuk prototipe atau untuk satu pengguna yang mentranskripsikan beberapa rekaman per hari. Untuk pekerjaan batch ratusan jam, layanan yang didukung GPU biasanya lebih praktis.
Pilih berdasarkan tiga pertanyaan: ke mana audio dikirim, berapa banyak jam yang Anda proses per bulan, dan siapa yang akan menjaga layanan tetap berjalan. Langkah pemrosesan teks yang dijelaskan di bawah ini bekerja dengan cara yang sama untuk ketiga opsi tersebut.
Di mana API LLM teks cocok setelah transkripsi
Transkrip mentah Whisper adalah dinding teks. Itu memiliki sedikit jeda paragraf, nama pembicara hilang kecuali Anda menambahkan diarization secara terpisah, dan kata-kata pengisi tetap ada. Whisper juga membuat kesalahan dengan nama produk, jargon, dan kata benda nama diri. Hampir setiap proyek nyata menambahkan tahap kedua yang bekerja pada teks.
Tugas tahap kedua yang umum:
- Perbaiki tanda baca, pisahkan menjadi paragraf, hapus awal yang salah.
- Ringkaskan panggilan atau kuliah menjadi beberapa poin.
- Ambil data terstruktur seperti keputusan, nama, dan tanggal sebagai JSON.
- Tulis ulang materi lisan menjadi artikel, naskah, atau catatan acara.
- Terjemahkan atau lokaliskan teks yang telah dibersihkan.
Di sinilah layanan ini cocok. Ini adalah API teks yang kompatibel dengan OpenAI dengan satu model, uncensored, jendela konteks 100.000 token, dan streaming. Transkrip wawancara berdurasi dua jam sering kali muat dalam satu permintaan, sehingga Anda dapat menghindari logika penggalan yang dipaksakan oleh jendela konteks yang lebih kecil. Untuk materi yang lebih panjang, lihat dokumentasi quickstart untuk detail permintaan.
Model ini disesuaikan untuk menjawab tanpa penolakan konten untuk penggunaan dewasa yang sah. Itu penting untuk pipa transkripsi karena audio sumber tidak dapat diprediksi: wawancara, podcast, pembacaan fiksi, dan panggilan dukungan mengandung bahasa kasar dan subjek yang sulit. Model yang menolak untuk membersihkan transkrip karena pembicara mengucapkan kata kasar akan membuang proses transkripsi berbayar. Satu batasan kerasnya adalah bahwa tidak ada yang melibatkan konten seksual dengan anak di bawah umur yang diterima.
Pipa kerja dua tahap
SDK Python OpenAI memungkinkan Anda membuat dua klien dengan URL dasar yang berbeda. Satu menunjuk ke server Whisper Anda, yang lain ke API ini. Tetapkan variabel lingkungan untuk layanan transkripsi Anda sendiri; klien kedua menggunakan URL dasar untuk situs ini.
import os
from openai import OpenAI
# Stage 1: any Whisper-compatible transcription server you run or rent.
stt = OpenAI(base_url=os.environ["STT_BASE_URL"], api_key=os.environ["STT_KEY"])
# Stage 2: the text model.
llm = OpenAI(base_url="https://api.whisperapis.com/v1", api_key=os.environ["LLM_KEY"])
with open("call.mp3", "rb") as f:
transcript = stt.audio.transcriptions.create(
model=os.environ["STT_MODEL"], # the model name your server expects
file=f,
)
resp = llm.chat.completions.create(
model="uncensored",
messages=[
{"role": "system", "content": "Clean up this transcript: fix punctuation, keep every statement, no commentary."},
{"role": "user", "content": transcript.text},
],
temperature=0.2,
)
print(resp.choices[0].message.content)Dua hal mudah salah. Pertama, nama model transkripsi adalah apa pun yang diharapkan oleh server Anda, itulah sebabnya itu berasal dari variabel lingkungan di sini. Kedua, kunci untuk API teks terpisah dari kunci apa pun yang Anda pegang untuk layanan suara; masing-masing mengautentikasi hanya hostnya sendiri.
Jika Anda lebih memilih shell, tahap teks adalah permintaan penyelesaian obrolan biasa:
curl https://api.whisperapis.com/v1/chat/completions \
-H "Authorization: Bearer $LLM_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [
{"role": "user", "content": "Summarize this transcript in five bullet points: ..."}
]
}'Autentikasi adalah kunci Bearer di header Authorization, dan endpoint-nya adalah POST /v1/chat/completions dan GET /v1/models. Anda bisa mendapatkan kunci dari halaman kunci API; akun baru dapat mengklaim kredit uji coba satu klik senilai $0,50 di sana, berlaku selama 7 hari dan tanpa kartu.
Hal-hal yang rusak dalam praktik
Berkas audio besar
Banyak server Whisper membatasi ukuran unggahan, dan rekaman panjang dapat timeout di tengah permintaan. Pisahkan audio menjadi potongan-potongan sepuluh hingga tiga puluh menit dengan alat seperti ffmpeg, transkripsikan setiap potongan, lalu gabungkan teksnya. Karena API teks menerima hingga 100.000 token, Anda dapat menggabungkan potongan-potongan tersebut dan mengirimkannya sebagai satu prompt. Batas tubuh permintaan pada API ini adalah 8 MB, yang jauh lebih besar dari yang dibutuhkan transkrip apa pun.
Batas laju dan permintaan konkuren
Kunci penuh memungkinkan 8 permintaan konkuren dan 300 permintaan per menit; kunci uji coba memungkinkan 2 dan 60. Jika Anda menjalankan antrian dengan banyak pekerja, batasi hingga konkurensi kunci Anda. Melebihi batas akan mengembalikan HTTP 429, dengan kode rate_limited untuk permintaan per menit atau concurrency untuk terlalu banyak sekaligus. Permintaan yang bersifat streaming mempertahankan slotnya hingga aliran selesai, sehingga klien yang macet dapat memblokir slot lebih lama dari yang Anda harapkan. Mundur dan coba lagi; jika respons membawa header Retry-After: 5, tunggu selama itu.
Kesalahan transkripsi yang tidak dapat dilihat oleh LLM
Jika Whisper mendengar kata yang salah, model teks hanya melihat kata yang salah. Itu bahkan dapat menghaluskan kesalahan dan membuatnya terlihat disengaja. Masukkan glosarium nama dan istilah ke dalam prompt sistem, dan beri tahu model untuk menandai bagian yang tidak pasti alih-alih menebak. Untuk materi kritis, simpan transkrip asli di sebelah yang telah dibersihkan.
Pengisi yang di-hallusinasi
Whisper terkadang menghasilkan teks buatan saat keheningan atau musik. Potong bagian senyap sebelum mengirim, dan minta tahap kedua menandai kalimat yang terasa tidak sesuai. Suhu temperature rendah, seperti 0,2, menjaga pembersihan tetap dekat dengan sumber.
Apa yang tidak dilakukan API ini
Model ini tidak mentranskripsi audio. Tidak ada input audio, tidak ada output suara, tidak ada pembuatan gambar atau video, tidak ada embedding, dan tidak ada fine-tuning. Ini adalah model teks yang di-host di balik endpoint chat completions, dijalankan oleh penyedia independen, dan bukan API resmi dari OpenAI atau vendor model lainnya. Jika proyek Anda membutuhkan kedua bagian tersebut, Anda memerlukan server suara untuk bagian pertama dan layanan ini untuk bagian kedua.
Prompt tidak digunakan untuk pelatihan. Itu terpisah dari apa yang dilakukan penyedia suara Anda dengan audio tersebut, jadi baca ketentuan penyedia tersebut secara mandiri.
Untuk perencanaan biaya, teks ditagih per token sebesar $0,15 per juta token input dan $0,50 per juta token output, dari saldo prabayar yang tidak pernah habis. Halaman harga mencantumkan ukuran isi ulang dan bonus. Permintaan yang gagal atau ditolak tidak dikenakan biaya, sehingga menghindari loop ulang tidak membuat Anda mengeluarkan uang.
Cara yang masuk akal untuk memulai
- Jalankan server yang kompatibel dengan Whisper, baik yang di-hosting maupun lokal, dan pastikan server tersebut mengembalikan teks untuk file berdurasi satu menit.
- Buat akun, klaim kredit uji coba, dan jalankan perintah curl di atas dengan transkrip pendek.
- Hubungkan dua klien tersebut dengan skrip Python, menggunakan prompt sistem Anda sendiri untuk gaya pembersihan yang Anda inginkan.
- Tambahkan antrian hanya setelah alur file tunggal berfungsi, dan sesuaikan ukurannya dengan konkurensi kunci Anda.
Sebagian besar upaya dilakukan pada prompt dan penanganan audio, bukan pada kode pengikat. Mulailah dengan satu rekaman yang Anda kenal dengan baik, bandingkan outputnya dengan apa yang Anda dengar, dan sesuaikan instruksinya sebelum Anda meningkatkan skala.
Panduan lainnya
Tanya jawab
Apakah server API Whisper sama dengan API OpenAI?
Tidak. Whisper adalah model, dan server adalah program apa pun yang mengeksposnya melalui HTTP. OpenAI menjalankan satu versi yang di-hosting, dan banyak orang menjalankan versi mereka sendiri dengan alat sumber terbuka yang meniru jalur transkripsi yang sama.
Apakah API ini dapat mentranskripsikan file audio?
Tidak. API ini hanya menerima teks. Gunakan layanan suara atau server Whisper Anda sendiri untuk langkah audio, lalu kirimkan transkripnya di sini.
Nama model mana yang harus saya gunakan untuk langkah teks?
Gunakan uncensored sebagai ID model, dengan base URL https://api.whisperapis.com/v1 dan kunci Anda sebagai token Bearer.
Berapa panjang transkrip yang dapat saya kirim?
Jendela konteks adalah 100.000 token, mencakup prompt dan completion secara bersamaan. Itu cukup untuk banyak rekaman berdurasi beberapa jam dalam satu permintaan.
Apakah saya memerlukan kartu untuk mencobanya?
Tidak. Pengguna baru dapat mengklaim kredit uji coba senilai $0,50 dengan satu klik di halaman kunci API setelah masuk, tanpa kartu.
Kunci Anda hanya selangkah lagi dari satu formulir
Buat akun, salin kunci, ubah URL dasar. Itu saja seluruh proses pengaturannya.