Konfigurasi

Transkripsi dan biaya

Pilih whisper di perangkat (gratis), key OpenAI Anda sendiri, atau endpoint apa pun yang kompatibel dengan OpenAI, misalnya mesin GPU milik Anda sendiri. Audio dikirim langsung dari mesin Anda ke layanan yang Anda pilih.

#Siapa yang membayar, dan ke mana lalu lintas dikirim

Model biaya dan jaringan

  • Pengembang (Japan Marketing LLC) tidak membayar, mem-proxy, atau menagih penggunaan transkripsi maupun AI apa pun.
  • Permintaan dikirim langsung dari komputer Anda ke OpenAI atau endpoint Anda, tidak pernah melalui server pengembang.
  • Penggunaan OpenAI ditagihkan ke akun OpenAI Anda sendiri.
  • Rapikan memakai CLI Claude Code / Codex yang sudah Anda masuki, kecuali Anda secara eksplisit memilih runner API (organizer.runner: "api:<provider>", lihat Konfigurasi dengan settings.json). Fitur ini tidak pernah beralih ke API key dengan sendirinya.

#Metode

Pilih di Pengaturan → Transkripsi → Mesin. Popover Mikrofon & Transkripsi di footer menampilkan pilihan saat ini.

MesinAudio dikirim keBiaya
Di perangkat (gratis) (bawaan)Tidak ke mana punGratis
OpenAI (key Anda)OpenAITagihan OpenAI Anda: gpt-transcribe seharga $0.0045/menit (sekitar $0.27/jam)
Kompatibel OpenAI (GPU self-hosted, Groq, dll.)Base URL endpoint AndaTergantung endpoint-nya

Pengaturan → Transkripsi → Bahasa: Otomatis, Jepang, atau Inggris. Ini adalah bahasa yang diucapkan, terpisah dari bahasa antarmuka.

#whisper di perangkat (gratis)

Transkripsi di perangkat memakai whisper.cpp (terbuka di tab baru): binary whisper-cli ditambah model GGML.

1. Instal whisper-cli. Ferret mencari salinan yang dibundel (resources/whisper/<platform>-<arch>/), lalu PATH, lalu lokasi umum seperti Homebrew.

# macOS
brew install whisper-cpp

# Linux: build from source, then add build/bin to PATH
git clone https://github.com/ggml-org/whisper.cpp && cd whisper.cpp
cmake -B build && cmake --build build -j --config Release

# Windows: download the zip from github.com/ggml-org/whisper.cpp/releases
# and add the folder containing whisper-cli.exe to PATH

2. Dapatkan model. Dengan Di perangkat (gratis) terpilih, pilih Model lalu klik Unduh model. File diambil langsung dari Hugging Face (ggerganov/whisper.cpp), dicocokkan dengan sha256 yang dipatok di aplikasi (jika tidak cocok, file dihapus), dan disimpan ke <userData>/models/. Model yang diunduh dipilih secara otomatis. Batal menyimpan file yang baru sebagian, dan Lanjutkan unduhan meneruskan dari situ.

ModelUkuranCatatan
large-v3-turbo1.6 GBBawaan yang disarankan. Cepat di Metal / GPU
large-v3-turbo-q5_0574 MBTerkuantisasi. Menghemat disk dan memori
small488 MBUntuk mesin yang hanya memakai CPU
base148 MBRingan. Banyak kesalahan untuk bahasa Jepang
tiny78 MBPaling cepat. Kurang akurat untuk bahasa Jepang

Sudah punya model? Gunakan Pilih file… untuk menunjuk ggml-*.bin mana pun. Tanpa model, Pengaturan menyatakan bahwa belum ada model yang diatur. Anda tetap bisa merekam: audio disimpan, dan hanya temuan pena yang dihasilkan.

whisper-cli tidak dibundel dengan aplikasi. Instal sendiri seperti yang ditunjukkan di atas. Jika tidak ditemukan, Pengaturan menampilkan whisper.cpp (whisper-cli) tidak ditemukan. Instal terlebih dahulu, lalu buka kembali pengaturan. beserta petunjuk yang sama.

#Key OpenAI Anda sendiri

  1. Atur Mesin ke OpenAI (key Anda).
  2. Tempel key yang diawali sk- ke API key OpenAI lalu klik Simpan.
  3. Klik Uji koneksi. Ini mengirim 1 detik keheningan (sekitar $0.0001).

Modelnya tetap gpt-transcribe. Hanya saat pengembangan (pnpm dev), OPENAI_API_KEY dari file .env yang diabaikan git juga dibaca. Build yang dipaketkan tidak pernah membaca .env.

#Endpoint yang kompatibel dengan OpenAI

Ferret mengirim POST <base>/v1/audio/transcriptions (multipart: file, model, response_format=json, language, prompt), sehingga dirancang untuk server yang mengimplementasikan rute transkripsi OpenAI.

  1. Atur Mesin ke Kompatibel OpenAI (GPU self-hosted, Groq, dll.).
  2. Isi Base URL endpoint dan Model (nama model di endpoint tersebut).
  3. Jika server memerlukannya, masukkan API key endpoint (opsional) lalu klik Simpan.
  4. Klik Uji koneksi. Pesan error menyebutkan penyebabnya, misalnya Base URL yang salah (tidak ada /v1/audio/transcriptions), key yang ditolak, atau nama model yang tidak dikenal.
ServerBase URLModel (contoh)
speaches (terbuka di tab baru) (sebelumnya faster-whisper-server)http://localhost:8000/v1Systran/faster-whisper-small
vLLM (terbuka di tab baru) (vllm serve openai/whisper-large-v3)http://localhost:8000/v1openai/whisper-large-v3
Groq (terbuka di tab baru)https://api.groq.com/openai/v1whisper-large-v3-turbo

Ferret dirancang untuk server yang kompatibel dengan OpenAI seperti ini, tetapi server-server tersebut belum diuji dengan Ferret. URL dan nama model di atas adalah nilai bawaan yang didokumentasikan oleh masing-masing server.

  • /v1 di akhir atau /v1/audio/transcriptions yang ikut ditempel akan dibuang saat disimpan, jadi kedua bentuk bisa dipakai.
  • URL yang mengandung nama pengguna atau kata sandi ditolak, sehingga key tidak pernah berakhir di settings.json.
  • Untuk mesin GPU di LAN atau tailnet Anda, gunakan alamatnya, misalnya http://100.x.y.z:8000/v1.

#Batas biaya

Untuk OpenAI dan endpoint yang kompatibel, atur Batas biaya: Tidak ada, atau Hingga $0.10 per tinjauan sampai $0.50, $1 (bawaan), $5, dan $20. Untuk GPU milik sendiri, Tidak ada masuk akal. Pengaturan ini disimpan sebagai capture.costLimitUsd (maksimum 1000, null berarti tanpa batas). Endpoint yang kompatibel diperkirakan seharga $0.006/menit.

Jika potongan audio berikutnya akan melampaui batas, Ferret berhenti mengirim dan menyimpan audionya. Panggilan API yang gagal tidak dicoba ulang secara otomatis.

#Tempat key disimpan

Key yang dimasukkan di Pengaturan dienkripsi dengan safeStorage Electron dan ditulis ke <userData>/stt-keys.bin. Aplikasi tidak pernah menuliskannya ke settings.json. Untuk merujuk key dari settings.json (variabel lingkungan atau entri .env), lihat API key.

  • macOS: Keychain
  • Windows: DPAPI
  • Linux: libsecret atau KWallet. Jika hanya backend basic_text yang tersedia, key hanya disimpan di memori untuk sesi saat ini (tombolnya bertuliskan Atur untuk sesi ini).

Hapus key menghapusnya. Untuk path <userData>, lihat File dan lingkungan.

Bantu terjemahkan halaman ini di GitHub (terbuka di tab baru)