家族から15時間分の動画をテキストに起こしたいと頼まれました。今では、便利な有料のクラウドAPIがいろいろあるので、それを使えば簡単にできると、軽く引き受けました。しかし、よく聞いてみると、趣味の動画なので、お金がかかるとしても300円以上は出したくないという厳しい条件です。さて、AIはこの条件をクリアできるのか、挑戦してみました。
長時間だと意外と高くつく?! 文字起こし料金を調査
最近、筆者が仕事でよく使っているクラウドAPIは、OpenAIのものです。ChatGPT由来の高性能なLLM(大規模言語モデル)を利用した文章の要約や誤字脱字修正など、いろいろな用途で利用しています。ほかにも、OpenAIが公開しているAPIには、今回実現したい文字起こしから、画像や動画生成など、いろいろなものがあります。
そこで、OpenAIの文字起こしモデル(gpt-transcribe)を使おうと値段を見ると、1分あたり$0.0045となっています。15時間分(900分)の文字起こしは、約608円(1ドル150円で計算)です。
そこで、妻に「15時間もの長時間の文字起こしが608円でできるなら安いよね?人間がやったら大変だし、良い時代になったね」と話したところ…なんと「高い!」との反応でした。というのも趣味の動画なので、できるだけお金をかけたくないという理由からでした。
もともとAIに文字起こしを依頼しようと思っていたのですが、ダメ元でChatGPTに「予算がないのでもっと安く実現する方法はないか」と相談してみました。すると、より安い文字起こしモデルもあるので、それを利用してはどうかというアイデアを提案してくれました。
調べてみると、Groqなどが提供している「Whisper Large V3 Turbo」の料金が0.04ドル/時と安いことが分かりました。この文字起こしモデルは、OpenAIがオープンソースで公開しているものです。実質サーバー代のみで良いので、安く提供されているのだと考えられます。
OpenRouterならクレジットが無駄にならない
それで、この機会にGroqのAPI登録もしようかとx.aiで手続きをして、いざ使おうという段階で、GroqのAPIを使うには、最低5ドル(750円)の入金をしないといけないことが分かりました。
最近のAPI課金は、従量課金(使った分だけ課金)が当然であるものの、使った分を月末に支払うのではなく、先にいくらかのクレジットをチャージしておいて、そこから使った分だけ減っていくというのが主流です。Groqもいろいろな用途のAPIを公開しているものの、それほど使う予定がありません。APIの利用料金を安くするつもりで、Groqを選んだのに、これでは本末転倒です。
そこで、いろいろなAIプロバイダーのAPIを選んで使うことができる、OpenRouterを利用することにしました。OpenRouterは、70社以上の400を超えるAIモデルを利用することができるサービスです。そして、Groqが提供している「Whisper Large V3 Turbo」も料金が0.04ドル/時でOpenRouterから利用できるのです。本家が提供している価格と全く同じです。ただし、OpenRouterは、クレジットを購入するときに、5.5%の手数料がかかる仕組みです。
とは言え、実際にOpenRouterを使う場合にも、5ドル以上のクレジットを最初に購入する必要があります。OpenRouterであれば、GroqだけでなくOpenAIやGoogleなど、各社のいろいろなAPIが使えるので、今後もいろいろな用途で使いそうです。
OpenRouterにサインアップして、クレジットを購入するには、こちらにアクセスします。そして、「Add Credits」ボタンを押して最小の5ドル分を購入します。
なお、筆者は、今年の4月に5ドル分を購入して、時々、AIエージェントを動かす用途で使っていました。その時の模様を、こちらにまとめています。上記の画面は、今回の文字起こしを実行した後の残額ですが、まだまだ、他の用途にも使えそうです。
環境変数にAPIキーを登録しよう
AIがOpenRouterのAPIを使えるようにするためには、OpenRouterでAPIキーを発行して、環境変数に登録する必要があります。こちらのページで、APIキーを発行して、環境変数OPENROUTER_API_KEYに登録します。
環境変数を登録するには、macOSであれば、デフォルトシェルのZshの設定ファイル「/Users/<ユーザー名>/.zshrc」に以下のように書きます。以下の「sk-or-v1-xxxxxx」というところに、ご自身で取得したAPIキーを記述します。
export OPENROUTER_API_KEY="sk-or-v1-xxxxxx"
多くのLinux/WindowsのWSLでは、Bashの設定ファイル「/home/<ユーザー名>/.bashrc」に上記の設定を記述します。
あとはAIに依頼するだけ - Codexに依頼しよう
ここまで、API料金の調査をして、OpenRouterのAPIキーの設定をしました。ここで、ようやくAIに依頼する段階になります。AIを使えば、何でも全自動でできると思いがちですが、技術調査をしたり、見積もりをしたりと、AIが快適に動くための環境作りをしてあげなくてはなりません。
今回は、ChatGPTアプリのCodex機能を使うことにしました。これは、プログラムを自動で作ってくれる、コーディングエージェントです。ユーザーが自然言語で指示をすると、プログラムを作って実行してくれます。こちらからダウンロードできます。
先日、ChatGPTアプリとCodexが一つのアプリに統合されました。最新のChatGPTアプリを使っていれば、画面左上のChatGPTロゴをクリックして、「Codex」に変更することで、Codexを使えます。
そして、新規プロジェクトを作ります。プロジェクトと書いてある部分の右側にある「+」ボタンを押して、プロジェクトを作成します。そして、プロジェクトでアクセスできるフォルダとして、動画の入ったフォルダを指定します。
「ffmpeg」コマンドで動画をMP3に変換しよう
まず、AIに依頼したのは、動画(MP4)から音声(MP3)を取り出すことです。動画のままだと音声ファイルに変換するのが面倒です。そこで、下記のような指示をだしました。
このフォルダにある動画(*.mp4)から音声を取り出してMP3に変換してください。
ffmpegを使って。
`hoge.mp4`なら`hoge.mp3`というファイル名にして。
簡単な指示ですが、ffmpegというコマンドラインから使える動画の変換ツールを使うことを指示することで、失敗なくファイルを作成できました。
もしも、ffmpegがインストールされていない場合は、先にインストールしておく必要があります。macOSであれば、Homebrewを利用して、「brew install ffmpeg」で手軽にインストールできます。WindowsのWSLならば「sudo apt-get update && sudo apt install ffmpeg」でインストールできます。
最小の文字起こしプログラムを作ってもらおう
次に、以下のような指示を与えました。いきなり、長大なプログラムの作成を指示すると、失敗しそうなので、小さなPythonプログラムを作って貰うことにしました。
OpenRouterのAPIを使って文字起こしをしたいです。
文字起こしのモデルにGroqが提供する「openai/whisper-large-v3-turbo」を利用して。
対象言語に日本語を指定して。
このフォルダにあるmp3ファイルが対象です。
まずは、Pythonでコマンドラインで、MP3ファイルを与えると、
同名のテキストファイルを書き出す簡単なプログラム`transcribe.py`を作ってください。
なお、以下にOpenRouterの仕様書があります。
<blockquote>
https://openrouter.ai/docs/api/api-reference/stt/create-transcription
</blockquote>
すると、テスト用の小さなMP3ファイルを文字起こしするプログラムを作ってくれました。小さなプログラムを作ってもらって、動くようになったら、もっと大きなプログラムを作ってもらうというのは、AIを使わない場合でも同じ手順です。
Codexに以下の指示を入力します。
`transcribe.py`を改良して、このフォルダにある`*.mp3`を全部文字起こしして。
一つのmp3ファイルが、2時間近くあるため、
ffmpegでモノラル・16kHz・低ビットレートへ変換し、
約10分ごとのMP3へ分割してから、リクエストを送信してください。
そして、しばらく待っていると、transcribe_all.pyというプログラムを生成してくれました。プログラムを実行して、それなりの時間待っていると、文字起こしをしたテキストが生成されました。
ところが、出力されたテキストを見ると、句読点が全くない読みづらい状態になっていました。それでも、句読点がない以外は、地名や人名が多少間違っているというくらいで、大きな問題があるわけではありませんでした。
そこで、今度は、OpenRouterのモデル「google/gemini-2.5-flash」を利用して、文字起こしされたテキストを整形するプログラムを作ってもらいました。これによって、読みやすいテキストになりました。
最終的に、15時間におよぶ動画の文字起こしに掛かった時間は15分ほどで、かかった費用も約160円でした。すごい時代になりました。
当初、予算をかけずに実現する点では、オープンソースの文字起こしのモデルWhisperを自分のPCにインストールすることも考えていたのですが、クラウドAPIを活用することで、15時間の文字起こしを15分で終えることができました。自分のマシンでやっていたら、こんなに早く終えることはできなかったでしょう。
今回、Codexが作ったプログラムは、こちらにアップロードしてあります。興味があれば見てみてください。
まとめ
以上、今回は、15時間におよぶ動画の文字起こしに挑戦してみました。依頼主である妻の予算的な都合もあり、できるだけ安く実現するという点にフォーカスして、AIを活用してみました。結果、約160円で実現できて大満足でした。
なお、最初から大きなプログラムを作ってもらおうとすると、思い通りのものができない場合もあります。しかし、今回のように段階を踏んで指示を出せば、AIは非常に強力なパートナーになってくれます。
格安のAPIとAIエージェントを組み合わせることで、時間も費用も大幅に節約できますので、皆さんも試してみてください。
自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2004年度未踏ユース スーパークリエータ認定、2010年 OSS貢献者章受賞。これまで50冊以上の技術書を執筆した。直近では、「大規模言語モデルを使いこなすためのプロンプトエンジニアリングの教科書(マイナビ出版)」「Pythonでつくるデスクトップアプリ(ソシム)」「実践力を身につける Pythonの教科書 第2版」「シゴトがはかどる Python自動処理の教科書(マイナビ出版)」など。





