設定

文字起こしと費用

端末内の whisper(無料)、自分の OpenAI キー、または自前の GPU マシンなど OpenAI 互換のエンドポイントから選べます。音声は自分の PC から、選んだサービスへ直接送られます。

#誰が払い、通信はどこへ行くか

費用と通信の仕組み

  • 開発元(Japan Marketing LLC)は、文字起こしや AI の利用料を負担せず、中継も請求もしません。
  • リクエストは自分の PC から OpenAI か自分のエンドポイントへ直接送られ、開発元のサーバーは通りません。
  • OpenAI の利用料は、自分の OpenAI アカウントに請求されます。
  • 整理 は、すでにサインインしている Claude Code / Codex の CLI を使います。API で動かす設定(organizer.runner: "api:<provider>"。settings.json で設定するを参照)をはっきり選んだときだけは別です。勝手に API キーへ切り替えることはありません。

#方式

設定 → 文字起こし → 処理 で選びます。フッターの マイクと文字起こし のポップオーバーに、いまの選択が出ます。

処理音声の送り先費用
この端末(無料)(最初の設定)どこにも送らない無料
OpenAI(自分のキー)OpenAI自分の OpenAI の請求: gpt-transcribe は1分 $0.0045(1時間で約 $0.27)
OpenAI互換(自前のGPU・Groqなど)指定した 接続先の Base URLエンドポイントによる

設定 → 文字起こし → 言語: 自動、日本語、英語。これは話す言葉の言語で、画面の言語とは別です。

#端末内の whisper(無料)

端末内の文字起こしには whisper.cpp (新しいタブで開きます) を使います。whisper-cli の実行ファイルと GGML モデルの組み合わせです。

1. whisper-cli を入れる。Ferret は同梱のもの(resources/whisper/<platform>-<arch>/)、PATH、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. モデルを入れる。この端末(無料) を選んだ状態で モデル を選び、モデルをダウンロード を押します。ファイルは Hugging Face(ggerganov/whisper.cpp)から直接取り、アプリに固定した sha256 と照らし合わせ(合わなければファイルを消します)、<userData>/models/ に保存します。ダウンロードしたモデルは自動で選ばれます。中止 しても途中までのファイルは残り、続きからダウンロード でそこから続けます。

モデルサイズメモ
large-v3-turbo1.6 GBおすすめの既定。Metal / GPU で速い
large-v3-turbo-q5_0574 MB量子化版。ディスクとメモリを節約
small488 MBCPU だけのマシン向け
base148 MB軽い。日本語では誤りが多い
tiny78 MB最も速い。日本語には精度が足りない

モデルをすでに持っているなら、ファイルを選ぶ… で任意の ggml-*.bin を指定できます。モデルが無いと、設定にモデルが未設定と出ます。それでも録画はでき、音声は保存されますが、できる指摘はペンのものだけです。

whisper-cli はアプリに同梱していません。上のとおり自分で入れてください。見つからないときは、設定に whisper.cpp(whisper-cli)が見つかりません。入れてから設定を開き直してください。 と、同じ手順が出ます。

#自分の OpenAI キー

  1. 処理 を OpenAI(自分のキー) にします。
  2. sk- で始まるキーを OpenAIのAPIキー に貼り、保存 を押します。
  3. 接続を確認 を押します。1秒の無音を送ります(約 $0.0001)。

モデルは gpt-transcribe に固定です。開発時(pnpm dev)に限り、git で無視される .env ファイルの OPENAI_API_KEY も読みます。配布用のビルドは .env を読みません。

#OpenAI 互換のエンドポイント

Ferret は POST <base>/v1/audio/transcriptions(multipart: file、model、response_format=json、language、prompt)を送ります。OpenAI の文字起こしのルートを実装したサーバー向けの作りです。

  1. 処理 を OpenAI互換(自前のGPU・Groqなど) にします。
  2. 接続先の Base URL と モデル(エンドポイント側のモデル名)を入れます。
  3. サーバーがキーを求めるなら、接続先のAPIキー(省略可) を入れて 保存 を押します。
  4. 接続を確認 を押します。エラーには原因が出ます。たとえば Base URL の誤り(/v1/audio/transcriptions が無い)、キーの拒否、知らないモデル名などです。
サーバーBase URLモデル(例)
speaches (新しいタブで開きます)(旧 faster-whisper-server)http://localhost:8000/v1Systran/faster-whisper-small
vLLM (新しいタブで開きます)(vllm serve openai/whisper-large-v3)http://localhost:8000/v1openai/whisper-large-v3
Groq (新しいタブで開きます)https://api.groq.com/openai/v1whisper-large-v3-turbo

Ferret はこうした OpenAI 互換のサーバー向けに作っていますが、まだ Ferret との組み合わせでは試していません。URL とモデル名は、各サーバーのドキュメントにある既定値です。

  • 末尾の /v1 や、貼り付けた /v1/audio/transcriptions は保存時に取り除くので、どちらの形でも動きます。
  • ユーザー名やパスワードを含む URL は受け付けません。キーが settings.json に入ることはありません。
  • LAN や tailnet 上の GPU マシンなら、そのアドレスを使います。たとえば http://100.x.y.z:8000/v1。

#費用の上限

OpenAI と互換のエンドポイントでは 費用の上限 を決めます。なし か、1回 $0.10 まで から $0.50、$1(最初の設定)、$5、$20 までです。自前の GPU なら なし でよいでしょう。設定は capture.costLimitUsd に保存します(最大 1000、null は上限なし)。互換のエンドポイントは1分 $0.006 として見積もります。

次のまとまりを送ると上限を超えるときは、Ferret は送るのをやめて音声を残します。失敗した API の呼び出しは自動では再試行しません。

#キーの保存場所

設定 で入れたキーは Electron の safeStorage で暗号化し、<userData>/stt-keys.bin に書きます。アプリが settings.json にキーを書くことはありません。代わりに settings.json からキーを指したいとき(環境変数や .env の項目)は、API キーを見てください。

  • macOS: キーチェーン
  • Windows: DPAPI
  • Linux: libsecret か KWallet。basic_text のバックエンドしか使えないときは、キーはいまの起動の間だけメモリに置きます(ボタンが この起動に設定 になります)。

キーを削除 で消せます。<userData> のパスはファイルと環境変数を見てください。

GitHub でこのページの翻訳を手伝う (新しいタブで開きます)