2026年9月25日時点で、Whisper(ウィスパー)を使った文字起こしの経路は3つあります。OpenAI の API に投げるなら音声1分あたり $0.0045〜$0.006(1ドル150円換算で約0.68〜0.9円)、自分のパソコンやサーバーで動かすなら追加の利用料は発生しません(モデルとコードは MIT ライセンス。かかるのは機材代と電気代だけです)。市販の文字起こしサービスを使うなら月額課金になります。
そのうえで、2026年9月25日の OpenAI 公式ドキュメントを読むと、API 側の前提が以前と変わっていることが分かります。ファイル文字起こしのガイドは冒頭で「まず gpt-transcribe から始めてください。これが録音済み音声をその言語のまま書き起こす推奨モデルです」と書いており、whisper-1 は「話者ラベル・単語タイムスタンプ・字幕形式・英語への翻訳が必要なときだけ使う専用モデル」という位置づけに整理されています。つまり「Whisper API を使う」と言ったときに何を指すのかが、2026年の公式ドキュメント上では1つに定まりません。この記事は、公式 README と公式ドキュメントに書かれている範囲だけを使って、3つの経路の選び方・手順・料金・法人で使うときの注意点を整理します。
Whisperで文字起こしする3つの経路|先に決める2つのこと
この記事の要点

- 要点1:録音済みファイルを API で書き起こすなら、公式の推奨は
gpt-transcribe(1分あたり $0.0045=1ドル150円換算で約0.68円)。話者ラベルが要るときだけgpt-4o-transcribe-diarize、単語タイムスタンプと英訳が要るときだけwhisper-1を使います。 - 要点2:音声を社外に出せないなら、ローカル実行の3実装(
openai/whisper・whisper.cpp・faster-whisper)から選びます。いずれも MIT ライセンスで、追加の利用料はかかりません。 - 要点3:OpenAI の公式表では
/v1/audio/transcriptionsは「学習利用なし・不正監視ログの保持なし・Zero Data Retention 対象」。一方で Realtime(/v1/realtime)は不正監視ログが最大30日です。同じ「文字起こし」でも扱いが違います。
対象読者:会議・インタビュー・通話の文字起こしを、業務システムや社内ツールに組み込みたい開発者・情報システム担当・PM。
今日やること:手元の音声ファイルを1本選び、「社外に出してよいか」「録音済みか、流れている最中か」の2つに答えを出す。この2つが決まれば経路は自動的に1つに絞れます。
Whisper を使う方法は、大きく3つに分かれます。
- 経路A:OpenAI の API に送る — 自分でサーバーを持たず、音声ファイルを
/v1/audio/transcriptionsに POST して結果を受け取ります。従量課金です。 - 経路B:ローカルで動かす — MIT ライセンスのモデル重みとコードを自分の環境にダウンロードして実行します。音声は外に出ません。
- 経路C:GUI の文字起こしサービスを使う — 内部で Whisper 系モデルや他社モデルを使っているサービスに、画面から音声をアップロードします。開発は不要です。
この3つを分ける判断材料は、実質的に次の2つだけです。
1つ目は「音声データを社外に出してよいか」です。顧客との商談録音、採用面接、医療・金融の通話など、外部送信に社内規程や契約上の制約があるものは、経路B(ローカル)が前提になります。制約がなければ経路Aが最も手間が少なくなります。
2つ目は「録音済みか、いま流れている最中か」です。OpenAI の公式ドキュメントはここを明確に分けていて、録音済みファイルは「ファイル文字起こし(File transcription)」、マイクや通話から届き続ける音声は「リアルタイム文字起こし(Realtime transcription)」という別ガイド・別モデル・別単価になっています。録音済みのつもりでリアルタイム用モデルを選ぶと、後述のとおり単価が約3.8倍になります。
Whisperとは|モデル6サイズとライセンス(公式README)
Whisper は OpenAI が公開している汎用の音声認識モデルです。公式 README は「多様な音声の大規模データセットで訓練された汎用音声認識モデルであり、多言語の音声認識・音声翻訳・言語識別を1つのモデルで行うマルチタスクモデルでもある」と説明しています。アーキテクチャは Transformer の系列変換(sequence-to-sequence)で、音声認識・英語への翻訳・言語識別・音声区間検出といったタスクを、すべて「トークン列の予測」として1つのデコーダで扱う設計です。
コードとモデル重みは MIT ライセンスで公開されています(公式 README の License 節)。GitHub API で 2026年9月25日に確認した時点で、openai/whisper のライセンス表記は MIT、最新リリースは v20250625、PyPI の openai-whisper も同じ 20250625 です。
モデルは6サイズ。VRAM と速度のトレードオフで選ぶ
公式 README の表をそのまま引きます。相対速度は「A100 で英語音声を書き起こしたときの、large を1倍とした比率」であり、README 自身が「言語・話す速さ・ハードウェアによって実際の速度は大きく変わる」と注記しています。
| サイズ | パラメータ | 英語専用モデル | 多言語モデル | 必要 VRAM | 相対速度 |
|---|---|---|---|---|---|
| tiny | 39 M | tiny.en |
tiny |
約1 GB | 約10倍 |
| base | 74 M | base.en |
base |
約1 GB | 約7倍 |
| small | 244 M | small.en |
small |
約2 GB | 約4倍 |
| medium | 769 M | medium.en |
medium |
約5 GB | 約2倍 |
| large | 1550 M | なし | large |
約10 GB | 1倍 |
| turbo | 809 M | なし | turbo |
約6 GB | 約8倍 |
日本語を扱う場合、.en が付いた英語専用モデルは選択肢から外れます。残るのは tiny/base/small/medium/large/turbo の6つです。
turbo については README に2つの重要な注記があります。1つは「large-v3 を最適化したもので、精度の劣化を最小限に抑えつつ書き起こしを高速化したもの」という位置づけ。もう1つは「turbo は翻訳タスク用には訓練されていない」という制約で、英語への翻訳が必要なら tiny/base/small/medium/large のいずれかを使う必要があります。README は「turbo は --task translate を指定しても元の言語を返す」とも明記しています。
対応言語数は、OpenAI の API ドキュメント側に「Whisper は98言語に対応しているが、精度は言語によって異なる」と書かれています。言語ごとの一覧はリポジトリの whisper/tokenizer.py に定義されています。
APIで文字起こしする手順|推奨モデルはgpt-transcribe
ここからが2026年の本題です。OpenAI の「File transcription」ガイド(2026年9月25日参照)は、冒頭で次のように指示しています。

まず
gpt-transcribeから始めてください。これは録音済み音声を元の言語のまま書き起こすための推奨モデルです。話者ラベル、単語タイムスタンプ、字幕形式、英語への翻訳が必要な場合にだけ、専用モデルを使ってください。
つまり「Whisper API で文字起こし」を素直に実装する場合、2026年9月25日時点で最初に選ぶモデルは whisper-1 ではなく gpt-transcribe です。
ファイルの制限は25MB。対応形式は7種類
公式ドキュメントは「ファイルは最大25MB。対応する入力形式は mp3・mp4・mpeg・mpga・m4a・wav・webm」と明記しています。25MB を超える録音については「圧縮された音声形式を使うか、25MB 以下のチャンクに分割する。文の途中で分割すると文脈が失われ精度が落ちるので避けること」と書かれています。
最短の呼び出し(公式の例)
以下は公式ドキュメントに掲載されている curl の例です。自分で実行した結果ではなく、公式ドキュメントに載っているコマンドそのものです。
curl --request POST \
--url https://api.openai.com/v1/audio/transcriptions \
--header "Authorization: Bearer $OPENAI_API_KEY" \
--header 'Content-Type: multipart/form-data' \
--form file=@/path/to/file/audio.mp3 \
--form model=gpt-transcribe
Python SDK なら、公式ドキュメントの例は次のとおりです。
from openai import OpenAI
client = OpenAI()
audio_file = open("audio.wav", "rb")
transcription = client.audio.transcriptions.create(
model="gpt-transcribe", file=audio_file
)
print(transcription.text)
API キーは環境変数(OPENAI_API_KEY)やシークレットマネージャーから読み込み、コードに直接書かないでください。本番環境で使う前に、必ずテスト環境で動作を確認してください。
レスポンスは、書き起こしテキストと検出された言語を含む JSON です。公式ドキュメントが示している形は次のとおりです。
{
"text": "Bonjour, pouvez-vous m'entendre ?",
"languages": [{ "code": "fr" }]
}
公式ドキュメントは「モデルが言語を確実に推定できないときは "languages": [] を返す」と補足しています。
精度を上げる3つのパラメータ:prompt・keywords・languages
gpt-transcribe では、文字起こしの精度を上げるために3つのフィールドが用意されています。公式ドキュメントの説明は次のとおりです。
prompt:録音に関する自由記述の文脈を渡す。keywords:出てくると予想される固有名詞や用語をそのまま渡す。languages:入力に含まれると予想される言語を渡す。
公式ドキュメントは keywords について「キーワードはヒントであって、必ず出力される語ではない。関連する語だけを入れ、話されていない語が出力に混ざるようになっていないかを評価すること」と釘を刺しています。
そして実装で最初につまずきやすい制約が3つ明記されています。
gpt-transcribeではlanguagesが単数形のlanguageを置き換える。両方を同時に送ってはいけない。- キーワードは1行につき1語にし、
<、>、復帰(CR)、改行(LF)を含めない。 - これらの文字が含まれた場合、または
promptがモデルの長さ上限を超えた場合、API はリクエスト全体を拒否する。
言語コードの形式も決まっています。ISO 639-1(en・es・fr など)、一部の ISO 639-3(eng・spa・yue・cmn など)、中国語の地域ロケール(zh-cn・zh-tw・zh-hk)が使えます。対応外・書式違いのコードは API が拒否します。
用途別:どのモデルを選ぶか
公式ドキュメントに書かれている「専用モデルが必要なケース」を整理すると、次のようになります。
| やりたいこと | 公式が指定するモデル・エンドポイント | 公式に明記された制約 |
|---|---|---|
| 録音済み音声をそのままの言語で書き起こす | gpt-transcribe(/v1/audio/transcriptions) |
推奨モデル。ファイル25MB まで |
| 誰が話したかのラベルを付ける | gpt-4o-transcribe-diarize |
通常の文字起こしには推奨されない専用モデル。prompt は非対応。Realtime セッションでは使えない |
| 単語・セグメント単位のタイムスタンプ | whisper-1 + timestamp_granularities[] |
timestamp_granularities[] は whisper-1 のみ対応 |
| 英語への翻訳 | whisper-1(/v1/audio/translations) |
英語への翻訳のみ対応 |
| マイク・通話などの流れている音声 | gpt-live-transcribe(Realtime transcription) |
server_vad・semantic_vad 非対応。turn_detection は省略するか null |
話者分離(ダイアライゼーション)の呼び出し方
会議の議事録づくりでいちばん要望が多い「誰が話したか」は、2026年9月25日時点では専用モデルで扱います。公式ドキュメントの指定は次のとおりです。
response_formatにdiarized_jsonを指定すると、speaker・start・endを持つセグメントが返る。- 30秒を超える音声では
chunking_strategyを"auto"か VAD(音声区間検出)の設定にする。 known_speaker_names[]とknown_speaker_references[]で、最大4人分の短い参照音声を渡して既知の話者に対応付けられる。参照クリップは2〜10秒で、multipart form data ではデータ URL として渡す。- 話者ラベルは
/v1/audio/transcriptionsでのみ利用できる。Realtime の文字起こしセッションでは対応していない。
公式の Python 例は次の形です。
with open("meeting.wav", "rb") as audio_file:
transcript = client.audio.transcriptions.create(
model="gpt-4o-transcribe-diarize",
file=audio_file,
response_format="diarized_json",
chunking_strategy="auto",
extra_body={
"known_speaker_names": ["agent"],
"known_speaker_references": [to_data_url("agent.wav")],
},
)
for segment in transcript.segments:
print(segment.speaker, segment.text, segment.start, segment.end)
ストリーミングと組み合わせる場合の挙動も明記されています。stream=true のとき、話者ラベル付きのレスポンスはセグメントが確定するたびに transcript.text.segment イベントを出します。transcript.text.delta イベントには segment_id が入りますが、途中の差分には話者の割り当ては含まれません。モデルがセグメントを確定したときにだけ話者が決まる、という設計です。
なお whisper-1 はファイルのストリーミング書き起こしに対応していません(公式ドキュメントの注記「whisper-1 doesn’t」)。リアルタイムに近い体験が必要なら gpt-transcribe の stream=true、または Realtime 側を使います。音声エージェントとして組む場合の全体設計は、VoicePipelineで作る音声AIエージェント完全ガイドやLiveKit Agents完全ガイド|WebRTC音声AIで扱っている構成が参考になります。
APIの料金一覧|2026年9月25日時点の1分あたり単価
次の表は、2026年9月25日に OpenAI の公式料金ページ(Transcription models セクション)から取得した値です。円は1ドル150円換算で、小数第3位を四捨五入しています。為替は日々動くため、目安としてご覧ください。
| モデル | 用途(公式表記) | 1分あたり | 1ドル150円換算 | 入力/出力(100万トークン) |
|---|---|---|---|---|
gpt-transcribe |
Transcription | $0.0045 | 約0.68円 | 公式表に記載なし |
gpt-4o-mini-transcribe |
Transcription | $0.003 | 約0.45円 | $1.25/$5.00 |
gpt-4o-transcribe |
Transcription | $0.006 | 約0.90円 | $2.50/$10.00 |
gpt-4o-transcribe-diarize |
Transcription + diarization | $0.006 | 約0.90円 | $2.50/$10.00 |
Whisper(whisper-1) |
Transcription | $0.006 | 約0.90円 | 公式表に記載なし |
gpt-live-transcribe |
Live transcription | $0.017 | 約2.55円 | 公式表に記載なし |
gpt-realtime-whisper |
Live transcription | $0.017 | 約2.55円 | 公式表に記載なし |
gpt-realtime-translate |
Live translation | $0.034 | 約5.10円 | 公式表に記載なし |
この表から読み取れることは3つあります。
1つ目。録音済みファイルなら gpt-transcribe が最安ではありません。最安は gpt-4o-mini-transcribe の $0.003(約0.45円)で、推奨モデルとの差は1分あたり $0.0015(約0.23円)。月1,000分でも $1.50(225円)の差なので、ここは費用ではなく精度要件で決める場面です。
2つ目。従来の「Whisper API」より推奨モデルのほうが安くなっています。料金ページの Whisper 行と whisper-1 のモデルページはどちらも $0.006(約0.90円)で、推奨の gpt-transcribe($0.0045)はその25%引きにあたります。
3つ目。リアルタイムは録音済みの約3.8倍です。gpt-live-transcribe の $0.017(約2.55円)は gpt-transcribe の $0.0045 の約3.8倍。「とりあえずリアルタイムで」と決めると費用構造が変わるため、本当に流れている最中の音声が必要かを先に確認する価値があります。
レート制限(公式モデルページの既定値)
大量のファイルをまとめて処理するときは、単価より先にレート制限が効いてきます。2026年9月25日時点の公式モデルページの既定値は次のとおりです。
| ティア | gpt-transcribe RPM |
gpt-transcribe TPM |
whisper-1 RPM |
|---|---|---|---|
| free | 公式ページに記載なし | 公式ページに記載なし | 3(1日200リクエスト) |
| Tier 1 | 500 | 200,000 | 500 |
| Tier 2 | 5,000 | 2,000,000 | 2,500 |
| Tier 3 | 5,000 | 4,000,000 | 5,000 |
| Tier 4 | 10,000 | 10,000,000 | 7,500 |
| Tier 5 | 30,000 | 150,000,000 | 10,000 |
無料枠で whisper-1 を叩くと1分あたり3リクエスト・1日200リクエストで頭打ちになります。バッチ処理を設計するときは、429 が返る前提のリトライ設計を入れてください。実装パターンはLLM APIのレート制限・スロットリング対策ガイドにまとめています。
ローカル実行の手順|3つの実装と必要スペック
音声を社外に出せない場合は、ローカル実行になります。よく使われる実装は3つで、どれも MIT ライセンスです(GitHub API で2026年9月25日に確認)。

実装1:openai/whisper(公式リファレンス実装)
公式 README のインストール手順は次のとおりです。
pip install -U openai-whisper
加えて、コマンドラインツールの ffmpeg が必要です。README は OS ごとのインストールコマンドを載せています。
# Ubuntu / Debian
sudo apt update && sudo apt install ffmpeg
# macOS(Homebrew)
brew install ffmpeg
# Windows(Chocolatey)
choco install ffmpeg
日本語音声を書き起こす公式のコマンド例は、次の1行です。
whisper japanese.wav --language Japanese
Python から呼ぶ場合の公式例はこちらです。
import whisper
model = whisper.load_model("turbo")
result = model.transcribe("audio.mp3")
print(result["text"])
README は transcribe() の内部動作について「ファイル全体を読み込み、30秒のスライディングウィンドウで音声を処理し、各ウィンドウに対して自己回帰的な系列変換の予測を行う」と説明しています。動作環境は README の記載で Python 3.8〜3.11 と近年の PyTorch が対象です(開発時は Python 3.9.9/PyTorch 1.10.1)。
実装2:whisper.cpp(依存のない C/C++ 実装)
whisper.cpp は、依存関係のない素の C/C++ で書かれた高速推論の実装です。README は Apple Silicon を第一級のサポート対象としており、ARM NEON・Accelerate フレームワーク・Metal・Core ML での最適化、x86 向けの AVX 対応、整数量子化、Vulkan、NVIDIA GPU、AMD ROCm、AMD Ryzen AI NPU、OpenVINO などを挙げています。対応プラットフォームは macOS・iOS・Android・Linux/FreeBSD・WebAssembly・Windows・Raspberry Pi・Docker です。2026年9月25日時点の最新リリースは v1.9.4(2026年9月11日公開)でした。
README のクイックスタートは4ステップです。
git clone https://github.com/ggml-org/whisper.cpp.git
cd whisper.cpp
sh ./models/download-ggml-model.sh base.en
cmake -B build
cmake --build build -j --config Release
./build/bin/whisper-cli -f samples/jfk.wav
注意点として README は「whisper-cli は現状16ビットの WAV ファイルでしか動かないので、入力を事前に変換すること」と明記しています。変換コマンドも載っています。
ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav
メモリ使用量の目安も README に表があります。
| モデル | ディスク | メモリ |
|---|---|---|
| tiny | 75 MiB | 約273 MB |
| base | 142 MiB | 約388 MB |
| small | 466 MiB | 約852 MB |
| medium | 1.5 GiB | 約2.1 GB |
| large | 2.9 GiB | 約3.9 GB |
GPU がない環境でも動く点がこの実装の強みで、README は量子化(q5_0 など)でさらにメモリとディスクを削れると説明しています。話者の切り替わりを示す実験的な機能 tinydiarize もあり、small.en-tdrz モデルを落として -tdrz を付けると [SPEAKER_TURN] が出力に挿入されます(README が experimental と明記)。無音区間を除いて処理量を減らす VAD は --vad と VAD モデル(例:silero-v6.2.0)で有効化できます。README の制限事項は「Inference only(推論のみ)」の1行です。
実装3:faster-whisper(CTranslate2 による再実装)
faster-whisper は、推論エンジン CTranslate2 を使って Whisper を再実装したものです。README は「同じ精度で openai/whisper の最大4倍速く、メモリ使用量も少ない。CPU・GPU の両方で8ビット量子化を使えばさらに効率が上がる」と説明しています。2026年9月25日時点の PyPI 版は 1.2.1、必要な Python は 3.9 以上です。
pip install faster-whisper
README の使用例はこちらです。
from faster_whisper import WhisperModel
model_size = "large-v3"
# GPU + FP16
model = WhisperModel(model_size, device="cuda", compute_type="float16")
segments, info = model.transcribe("audio.mp3", beam_size=5)
print("Detected language '%s' with probability %f" % (info.language, info.language_probability))
for segment in segments:
print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))
README が強調している落とし穴が1つあります。segments はジェネレータなので、イテレートするまで書き起こしが始まりません。処理を最後まで走らせるにはリスト化するか for ループで回す必要があります。
単語単位のタイムスタンプは word_timestamps=True、無音除去は vad_filter=True(Silero VAD を内蔵)で有効になります。VAD の既定は保守的で、README によれば2秒より長い無音だけを除去します。バッチ書き起こしでは VAD フィルターが既定で有効です。
システム側の ffmpeg は不要で、音声のデコードは PyAV(FFmpeg のライブラリを同梱)が行います。GPU 実行には CUDA 12 向けの cuBLAS と cuDNN 9 が必要です。
実装どうしの速度差(faster-whisper 公式ベンチマーク)
README には13分の音声を書き起こしたときの公式ベンチマークが載っています。以下は GPU(NVIDIA RTX 3070 Ti 8GB・CUDA 12.4)で large-v2 を動かした結果です。自分で測った値ではなく、README に掲載されている数字です。
| 実装 | 精度 | ビームサイズ | 所要時間 | VRAM 使用量 |
|---|---|---|---|---|
| openai/whisper | fp16 | 5 | 2分23秒 | 4,708 MB |
| whisper.cpp(Flash Attention) | fp16 | 5 | 1分05秒 | 4,127 MB |
| transformers(SDPA) | fp16 | 5 | 1分52秒 | 4,960 MB |
| faster-whisper | fp16 | 5 | 1分03秒 | 4,525 MB |
faster-whisper(batch_size=8) |
fp16 | 5 | 17秒 | 6,090 MB |
| faster-whisper | int8 | 5 | 59秒 | 2,926 MB |
faster-whisper(batch_size=8) |
int8 | 5 | 16秒 | 4,500 MB |
CPU のみ(Intel Core i7-12700K・8スレッド)で small を動かしたときの数字も掲載されています。
| 実装 | 精度 | 所要時間 | RAM 使用量 |
|---|---|---|---|
| openai/whisper | fp32 | 6分58秒 | 2,335 MB |
| whisper.cpp | fp32 | 2分05秒 | 1,049 MB |
| whisper.cpp(OpenVINO) | fp32 | 1分45秒 | 1,642 MB |
| faster-whisper | fp32 | 2分37秒 | 2,257 MB |
| faster-whisper | int8 | 1分42秒 | 1,477 MB |
faster-whisper(batch_size=8) |
int8 | 51秒 | 3,608 MB |
README 自身が比較の注意点を書いています。openai/whisper の model.transcribe は既定のビームサイズが1、faster-whisper は5なので、条件をそろえないと速度差が実態より大きく出ます。CPU 実行ではスレッド数(OMP_NUM_THREADS)もそろえる必要があります。ローカル LLM を含めた社内推論基盤の考え方は、Ollamaの使い方 2026|ローカルLLMでAIエージェントも合わせて読むと設計の勘どころが見えます。
3経路を4軸で比較|精度・費用・データの置き場・手間
ここまでの公式情報を、意思決定に使う4軸で並べ直します。
| 軸 | 経路A:OpenAI API | 経路B:ローカル実行 | 経路C:GUI サービス |
|---|---|---|---|
| 精度の決まり方 | モデル選択(推奨は gpt-transcribe)と prompt/keywords/languages で調整 |
モデルサイズ(tiny〜large・turbo)と実装の設定で調整。large ほど重い | サービス側が決める。利用者が触れる範囲は辞書登録などに限られることが多い |
| 費用 | 1分 $0.003〜$0.017(約0.45〜2.55円・1ドル150円換算)の従量 | 利用料は発生しない。機材(VRAM 約1〜10 GB)と電気代、運用工数がかかる | 月額・従量の契約。各社の料金ページで確認する |
| 音声データの置き場 | OpenAI へ送信。/v1/audio/transcriptions は公式表で学習利用なし・不正監視ログの保持なし |
自分の環境から出ない | サービス事業者のサーバー。利用規約とデータ処理の記載を個別に確認する |
| 構築の手間 | API キーと HTTP リクエストのみ。最短で数行 | ffmpeg/CUDA/cuDNN などの環境構築が要る。whisper.cpp はビルドが要る代わりに依存が少ない |
アカウント登録だけ。開発は不要 |
GUI サービスという第4の見方
「Whisper を使うかどうか」を決める前に、そもそも自前実装が要るかを確認したほうがよい場面もあります。会議の議事録づくりのように、録音・話者分離・要約・共有までを1つの画面で完結させたい用途では、既製サービスのほうが総工数が小さくなることがあります。この領域の各社の比較は、Notta完全ガイド|料金・使い方・精度・法人導入の判断で料金と機能の観点を整理しています。API を自分で叩く前提で他社モデルも含めて見比べたい場合は、音声AIエージェント徹底比較2026やGemini 3.5 Transcribeとは|精度と料金が比較対象になります。口述筆記(ディクテーション)用途に寄せるならAqua Voiceとは?使い方・料金・日本語対応のようなツールも選択肢に入ります。
費用試算3例|会議・インタビュー・コールセンター
以下は、公式の1分単価に想定分数を掛けただけの試算例です。実測値ではありません。前提は「1ドル150円換算」「音声の総分数がそのまま課金対象」「リトライや失敗分は含まない」です。実際には再実行分や前処理の工数が乗ります。

例1:定例会議 60分 × 月20本(月1,200分)
| モデル | 1分単価 | 月額(ドル) | 月額(1ドル150円換算) |
|---|---|---|---|
gpt-4o-mini-transcribe |
$0.003 | $3.60 | 540円 |
gpt-transcribe |
$0.0045 | $5.40 | 810円 |
gpt-4o-transcribe-diarize |
$0.006 | $7.20 | 1,080円 |
gpt-live-transcribe |
$0.017 | $20.40 | 3,060円 |
会議の議事録で話者ラベルが必要なら gpt-4o-transcribe-diarize を選ぶことになり、月1,080円(1ドル150円換算)です。ここで注意したいのは、60分の録音は形式によっては25MB を超えることです。公式の上限に収まるよう、圧縮率の高い形式にするか、文の切れ目で分割する前処理が必要になります。
例2:インタビュー 90分 × 月8本(月720分)
| モデル | 1分単価 | 月額(ドル) | 月額(1ドル150円換算) |
|---|---|---|---|
gpt-4o-mini-transcribe |
$0.003 | $2.16 | 324円 |
gpt-transcribe |
$0.0045 | $3.24 | 486円 |
gpt-4o-transcribe-diarize |
$0.006 | $4.32 | 648円 |
例3:コールセンター 5分 × 月2,000件(月10,000分)
| モデル | 1分単価 | 月額(ドル) | 月額(1ドル150円換算) |
|---|---|---|---|
gpt-4o-mini-transcribe |
$0.003 | $30.00 | 4,500円 |
gpt-transcribe |
$0.0045 | $45.00 | 6,750円 |
gpt-4o-transcribe-diarize |
$0.006 | $60.00 | 9,000円 |
gpt-live-transcribe |
$0.017 | $170.00 | 25,500円 |
この規模でも、録音済み処理なら月1万円を下回ります。一方、通話中にリアルタイムで字幕を出す設計にすると同じ分数で25,500円(1ドル150円換算)になり、約3.8倍です。費用差が事業要件に見合うかを先に決めてください。
ローカル実行と比べる場合、経路Bの利用料は発生しませんが、代わりに機材と運用が乗ります。月10,000分の規模で経路Aが6,750円(1ドル150円換算)なら、GPU サーバーの調達・保守と担当者の工数のほうが大きくなる可能性があります。ローカルを選ぶ理由は「安いから」ではなく「音声を外に出せないから」になる、というのが公式情報から読み取れる費用構造です。
日本語の精度は公式にどこまで書かれているか
「Whisper の日本語精度は何%か」は最も多い質問ですが、ここは慎重に扱う必要があります。2026年9月25日時点で確認できる公式の記載は次のとおりです。
- 公式 README は「Whisper の性能は言語によって大きく異なる」と明記し、
large-v3とlarge-v2の言語別 WER(単語誤り率)/CER(文字誤り率)を Common Voice 15 と Fleurs のデータセットで評価した結果を図(画像)として掲載している。 - README は「他のモデル・他のデータセットに対応する WER/CER の追加指標は、論文の Appendix D.1・D.2・D.4 にある」と案内している。
- OpenAI の API ドキュメントは「Whisper は98言語に対応しているが、精度は言語によって異なる」と記載している。
つまり公式 README の本文には、日本語単体の WER を数値として書いた表はありません(2026年9月25日時点)。数値は図と論文の付録にあり、モデル版(large-v2 か large-v3 か)と評価データセット(Common Voice 15 か Fleurs か)の組み合わせで変わります。日本語の精度を語る記事で「◯%」という1つの数字だけが示されている場合は、どのモデル版・どのデータセットの値かを確認することをおすすめします。
実務で判断する場合は、次の3点を押さえるほうが現実的です。
- 言語を明示する。ローカル実行なら
--language Japanese、API のgpt-transcribeならlanguagesにjaを渡します。言語推定に任せると、短い音声や無音混じりの音声で取り違えが起きます。 - 固有名詞は先に渡す。社名・製品名・人名は
keywords(gpt-transcribe)やpromptで渡します。whisper-1のpromptは224トークンが上限で、公式ドキュメントも「SKU のリストが小さいうちしかスケールしない手段」と限界を認めています。 - 後処理を挟む。公式ドキュメントは、テキストモデルで書き起こし後の誤記を直す方法を紹介したうえで「訂正結果は元の音声と突き合わせて評価し、話者が言っていない内容に変えてしまわないようにすること」と注意しています。
なお faster-whisper の README には distil-large-v3 を YT Commons で評価した WER(transformers 14.801/faster-whisper 13.527)が載っていますが、これは日本語の指標ではありません。日本語の精度を判断する材料としては使えない点に注意してください。
法人で使うときの注意点|同意・個人情報・データの扱い
技術的に動くことと、会社として使ってよいことは別です。ここは公式に書かれている事実と、社内で決めるべきことを分けて整理します。

OpenAI 公式が明記しているデータの扱い(2026年9月25日時点)
OpenAI の「Your data」ページには、エンドポイントごとのデータ保持の表があります。文字起こしに関係する行を抜き出すと次のとおりです。
| エンドポイント | 学習への利用 | 不正監視ログの保持 | アプリケーション状態の保持 | Zero Data Retention の対象 |
|---|---|---|---|---|
/v1/audio/transcriptions |
なし | なし | なし | 対象 |
/v1/audio/translations |
なし | なし | なし | 対象 |
/v1/realtime |
なし | 30日 | なし | 対象 |
ページ本文には「既定では、すべての API 機能の利用について不正監視ログが生成され、法令上必要な場合などを除き最大30日間保持される」とあります。そのうえで、上記の表が示すとおり録音済みファイルの文字起こしエンドポイントは不正監視ログの保持が「なし」と記載されています。一方、Realtime は30日です。同じ「音声を文字にする」機能でも、録音済みか流れている最中かでログの扱いが変わる、という点は社内説明で押さえておくとよい箇所です。
データレジデンシー(保管場所)の実態
「日本国内に保存できますか」と聞かれることが増えていますが、公式表の読み方に注意が必要です。2026年9月25日時点の「Which models and features are eligible for data residency?」の表では、日本(jp.api.openai.com)の行は次のようになっています。
- Regional storage(リージョン内保存):対応。対象サービスに
/v1/audio/transcriptions・/v1/audio/translations・/v1/audio/speechが含まれる。 - Regional processing(リージョン内処理):非対応。処理側の対象サービスは「None」と記載されている。
- MAM(Modified Abuse Monitoring)または ZDR(Zero Data Retention):必須。
ページ本文にも「リージョン内保存に対応していることは、リージョン内処理に対応していることを意味しない」と明記されています。「日本リージョンがあるから国内で完結する」という説明は、2026年9月25日時点の公式記載とは一致しません。米国(us.api.openai.com)と欧州(eu.api.openai.com)は保存・処理の両方が「対応」となっており、地域によって条件が違います。
社内で決めておくこと
公式に書かれていない部分は、会社として決める必要があります。最低限、次の4つは文字起こしを本番に入れる前に決めておくことをおすすめします。
- 録音の告知と同意。会議・面談・通話を録音して文字起こしする場合、参加者への事前告知と同意の取り方を決めます。契約・法令上の要件は業種や地域で異なるため、社内の法務担当や弁護士・社会保険労務士など専門家に確認してください。
- 個人情報の扱い。音声には氏名・連絡先・健康情報などが含まれます。どのデータを API に送ってよいか、送る前にマスキングするかを決めます。個人情報保護委員会などの公的ガイドラインの確認も必要です。
- 文字起こし結果の保管期間とアクセス権。音声より、生成されたテキストのほうが検索できてしまう分リスクが高くなります。保存先・保存期間・閲覧できる人を決めます。
- 誤りが残る前提の運用。公式ドキュメント自身が「精度は言語によって異なる」「キーワードは必ず出力される語ではない」と限界を書いています。議事録を意思決定の根拠に使うなら、人の確認工程を残してください。
音声を外に出さない構成そのものを検討する場合は、ローカルAIエージェントとは|プライバシーと自律性で扱っている「どこまでをローカルに閉じるか」の考え方が設計の出発点になります。
よくある失敗パターンと回避策
公式ドキュメントに明記されている制約のうち、実装で引っかかりやすいものを5つ挙げます。
失敗1:60分の会議音声をそのまま API に投げる
❌ 録音した .wav をそのまま /v1/audio/transcriptions に POST する
⭕ 25MB 以下に収まる形式へ圧縮するか、25MB 以下のチャンクに分割してから送る
なぜ重要か:公式ドキュメントはファイル上限を25MB と明記しています。分割する場合は「文の途中で切ると文脈が失われて精度が落ちる」とも書かれているため、無音区間で切る工夫が必要です。公式ドキュメントは PyDub を使う例を紹介したうえで「PyDub のような第三者ソフトウェアの使用可能性や安全性について OpenAI は保証しない」と注記しています。
失敗2:gpt-transcribe に language と languages を両方送る
❌ 既存コードの language="ja" を残したまま languages=["ja"] を追加する
⭕ gpt-transcribe では languages だけを送る
なぜ重要か:公式ドキュメントは「gpt-transcribe では languages が単数形の language を置き換える。両方のフィールドを送らないこと」と明記しています。whisper-1 など1つの言語ヒントを受け取る既存モデルは language を使うため、モデルを差し替えるときにこの分岐を入れ忘れると壊れます。
失敗3:キーワードに記号や改行を混ぜる
❌ keywords に <社名> のような山かっこ付きの語や、改行で区切った長いリストを入れる
⭕ 1行につき1語にし、<・>・復帰・改行を含めない
なぜ重要か:公式ドキュメントは「これらの文字に遭遇した場合、または prompt がモデルの長さ上限を超えた場合、API はリクエスト全体を拒否する」と書いています。一部のキーワードが無視されるのではなく、リクエストごと失敗します。
失敗4:whisper-1 でストリーミング表示を作ろうとする
❌ whisper-1 に stream=true を付けて逐次表示を実装する
⭕ 録音済みファイルの逐次表示は gpt-transcribe の stream=true、流れている音声は Realtime 側の gpt-live-transcribe を使う
なぜ重要か:公式ドキュメントは「既存の gpt-4o-transcribe・gpt-4o-mini-transcribe・gpt-4o-transcribe-diarize もファイルのストリーミングに対応している。whisper-1 は対応していない」と明記しています。
失敗5:Realtime セッションで話者ラベルを取ろうとする
❌ 通話のリアルタイム文字起こしで、同時に「誰が話したか」も取ろうとする
⭕ 話者ラベルは /v1/audio/transcriptions + gpt-4o-transcribe-diarize で、録音が確定してから取る
なぜ重要か:公式ドキュメントは「話者ラベル付けは /v1/audio/transcriptions で利用できる。Realtime の文字起こしセッションでは対応していない」と書いています。リアルタイムと話者ラベルを同時に要件に入れると、2026年9月25日時点の公式仕様では満たせません。
よくある質問
Whisperの文字起こしは無料ですか?
ローカル実行なら、モデル重みとコードは MIT ライセンスで公開されているため利用料はかかりません(機材代と電気代は別途必要です)。OpenAI の API を使う場合は従量課金で、2026年9月25日時点の公式料金ページでは録音済みファイルの書き起こしが1分あたり $0.003〜$0.006(1ドル150円換算で約0.45〜0.90円)です。「無料で制限なし」に当たるのはローカル実行のほうで、制限は自分のハードウェアの性能になります。
Whisperの文字起こしの精度はどれくらいですか?
公式 README は「性能は言語によって大きく異なる」と述べたうえで、large-v3 と large-v2 の言語別 WER/CER を Common Voice 15・Fleurs で評価した図を掲載しています。数値表は論文の Appendix D.1・D.2・D.4 にあると案内されています。2026年9月25日時点で、README 本文に日本語単体の数値表は掲載されていません。モデルサイズを上げる(tiny → large)ほど精度は上がる一方で、必要 VRAM は約1 GB から約10 GB に増えます。
Whisperは日本語の文字起こしができますか?
できます。OpenAI の API ドキュメントは「Whisper は98言語に対応している」と記載しています。ローカル実行では whisper japanese.wav --language Japanese のように言語を指定するのが公式の例です。API の gpt-transcribe では languages フィールドに ISO 639-1 のコード(日本語なら ja)を渡します。
Whisper API の料金はいくらですか?
2026年9月25日時点の公式料金ページでは、Whisper 行が1分あたり $0.006(1ドル150円換算で約0.90円)です。ただし同じページで推奨モデルの gpt-transcribe は $0.0045(約0.68円)、gpt-4o-mini-transcribe は $0.003(約0.45円)と、より安く提供されています。「Whisper API」という名前だけで選ぶと、同じ用途でより高い単価を選ぶことになる場合があります。
リアルタイムで文字起こしできますか?
できます。ただしエンドポイントもモデルも単価も別です。公式ドキュメントはマイク・通話・メディアストリームからの音声には Realtime transcription を使い、gpt-live-transcribe から始めるよう案内しています。単価は1分あたり $0.017(1ドル150円換算で約2.55円)で、録音済みの gpt-transcribe の約3.8倍です。ローカルでは whisper.cpp の whisper-stream が近い機能を提供していますが、README 自身が「素朴な例(naive example)」と位置づけています。
話者分離(誰が話したか)はできますか?
API では gpt-4o-transcribe-diarize を使い、response_format に diarized_json を指定すると speaker・start・end 付きのセグメントが返ります。30秒を超える音声では chunking_strategy の指定が必要で、最大4人まで2〜10秒の参照音声を渡して既知の話者に対応付けられます。ローカルでは whisper.cpp の tinydiarize(-tdrz)が話者の切り替わりを [SPEAKER_TURN] として出力しますが、README は experimental と明記しています。
ローカル実行に必要なスペックは?
GPU で動かす場合、公式 README の必要 VRAM は tiny と base が約1 GB、small が約2 GB、medium が約5 GB、large が約10 GB、turbo が約6 GB です。GPU がない場合は whisper.cpp が選択肢になり、README のメモリ使用量表では tiny が約273 MB、base が約388 MB、small が約852 MB、medium が約2.1 GB、large が約3.9 GB です。量子化を使えばさらに削減できると README は説明しています。
商用利用はできますか?
openai/whisper・whisper.cpp・faster-whisper のいずれも、2026年9月25日に GitHub API で確認した時点でライセンス表記は MIT です。openai/whisper の README も「コードとモデル重みは MIT ライセンスで公開されている」と明記しています。実際に社内・商用で使う前には、各リポジトリの LICENSE ファイル本文を確認してください。API を使う場合は OpenAI の利用規約が別途適用されます。
faster-whisper と whisper.cpp はどちらを選べばよいですか?
README の公式ベンチマークでは、GPU(RTX 3070 Ti)の large-v2 で whisper.cpp(Flash Attention)が1分05秒、faster-whisper が1分03秒とほぼ並び、faster-whisper のバッチ処理(batch_size=8)では17秒まで縮んでいます。CPU のみの small では whisper.cpp が2分05秒、faster-whisper(fp32)が2分37秒です。Python から組み込むなら faster-whisper、GPU のない環境やモバイル・組み込み・WebAssembly まで見据えるなら whisper.cpp が公式の対応範囲として広い、という整理になります。
タイムスタンプ付きで出力できますか?
API では whisper-1 に response_format="verbose_json" と timestamp_granularities=["word"] を指定します。公式ドキュメントは「timestamp_granularities[] は whisper-1 でのみ対応」と明記しており、字幕や動画編集用途では現在も whisper-1 を選ぶ理由になります。ローカルでは faster-whisper の word_timestamps=True が同等の機能を提供します。
25MB を超える音声はどう扱えばよいですか?
公式ドキュメントの案内は「圧縮された音声形式を使うか、25MB 以下のチャンクに分割する」の2択です。分割する場合は文の途中で切らないようにと明記されています。ローカル実行にはこの上限がないため、長時間の録音をまとめて処理したい場合はローカルを選ぶ理由になります。
運営元 Uravation よりAIエージェントを構想から本番運用まで進める順番と、体制・KPIの決め方をまとめた資料を無料で公開しています。 AIエージェント導入ロードマップを受け取る(無料)
参考・出典
- openai/whisper README — OpenAI(参照日 2026年9月25日・モデルサイズ表/CLI とPython の例/MIT ライセンス)
- OpenAI API docs「File transcription」 — OpenAI(参照日 2026年9月25日・推奨モデル/25MB 上限/prompt・keywords・languages/話者分離/タイムスタンプ/ストリーミング)
- OpenAI API pricing「Transcription models」 — OpenAI(参照日 2026年9月25日・1分あたり単価)
- OpenAI モデルページ「GPT-Transcribe」 — OpenAI(参照日 2026年9月25日・単価とレート制限)
- OpenAI モデルページ「Whisper」 — OpenAI(参照日 2026年9月25日・単価・対応エンドポイント・レート制限)
- OpenAI API docs「Realtime transcription」 — OpenAI(参照日 2026年9月25日・gpt-live-transcribe のセッション設定)
- OpenAI API docs「Your data」 — OpenAI(参照日 2026年9月25日・エンドポイント別のデータ保持表とデータレジデンシー表)
- ggml-org/whisper.cpp README — ggml(参照日 2026年9月25日・ビルド手順/メモリ使用量表/VAD/tinydiarize)
- SYSTRAN/faster-whisper README — SYSTRAN(参照日 2026年9月25日・ベンチマーク表/使用例/VAD フィルター)
- Robust Speech Recognition via Large-Scale Weak Supervision — arXiv:2212.04356(参照日 2026年9月25日・README が WER/CER の数値表の所在として案内している論文)
- PyPI: openai-whisper — Python Package Index(参照日 2026年9月25日・公開バージョン)
- PyPI: faster-whisper — Python Package Index(参照日 2026年9月25日・公開バージョンとライセンス)
本文の料金・仕様・バージョンは、2026年9月25日に上記の公式ページから取得した値です。費用試算は公式単価に想定分数を掛けた計算であり、実測値ではありません。為替は1ドル150円で固定して計算しています。AI の音声モデルは短い周期で更新されるため、実装前に必ず公式ページで最新の値を確認してください。
まとめ|今日やる3つ
- 今日:手元の音声を1本選び、「社外に出してよいか」「録音済みか」の2つに答えを出す。出してよくて録音済みなら、公式の curl 例をそのまま
gpt-transcribeで1回叩いて結果を見る。 - 今週:実際に使う音声の月間分数を数え、本文の試算表に当てはめて月額を出す。話者ラベルが要るかどうかで
gpt-4o-transcribe-diarizeを使うか決める。25MB を超えるファイルの前処理方法も、この段階で決めておく。 - 今月:録音の告知・同意、個人情報の扱い、文字起こし結果の保管期間とアクセス権を社内ルールとして文書化する。音声を外に出せない結論になったら、
whisper.cppかfaster-whisperで同じ音声を処理して、必要な機材の規模を見積もる。
文字起こしを業務に組み込むところまで進めたい方へ
Uravation の資料ダウンロードでは、生成AIの社内導入の進め方をまとめた資料を無料で配布しています。導入設計や社内研修のご相談はお問い合わせフォームからどうぞ。
