🦊

【個人開発】Gemini で「空気を読む」YouTube要約LINE BOTを作ってキツネあげてみた🦊(Python/FastAPI)

に公開

こんにちは、未経験からエンジニアを目指して独学中です。

動物シリーズでLINEBOTを作成中です。

​最近、YouTubeで情報収集をすることが多いのですが、「この動画長いけど要点だけサクッと知りたいな」 と思うことが増えました。
​そこで、 Gemini を使って、「動画のURLを送るだけで、いい感じに要約して教えてくれるキツネくんの動画要約🦊」 というLINE BOTを開発しました。
​ただ要約するだけでなく、動画の長さに応じて解説の量を変えたり、Google検索で補足情報を入れたりと、実用的な機能を作り込んだので共有します。

​🦊 作ったもの:「キツネくんの動画要約🦊」
​YouTubeのURLをLINEで送ると、瞬時に内容を解析して返信してくれます。

​📱主な機能
​インテリジェント要約: 字幕データを取得し、Geminiが文脈を理解して解説。
​空気読み機能:
​短い動画(1分未満) → サクッと3行で要約。
​長い動画(数十分) → 詳細に深掘りして解説。
​動画の長さ(Duration)を取得して、プロンプト内で分岐させています。
​Google検索連携(RAG):
​動画内の情報だけでなく、関連情報をGoogle検索し、補足知識や「世間の反応」も合わせて教えてくれます。

​🛠 使用技術
​サーバーレス構成で、運用コストを抑えつつ高速に動作するようにしました。

​言語: Python 3.10+
​フレームワーク: FastAPI
​AIモデル: Google Gemini 2.5 Flash
​インフラ: Google Cloud Run
​API:
​LINE Messaging API
​YouTube Data API v3
​Google Custom Search API

​💡 技術的なこだわりポイント
​Geminiの「トークン制限」との戦い
​開発当初、長時間の動画を解説させようとすると、文章の途中でプツッ…と切れてしまう問題が発生しました。
原因はGeminiの出力トークン制限(デフォルト設定)でした。
​そこで、generation_config の max_output_tokens を 8192 に設定し、長い解説でも最後まで話し切れるようにチューニングしました。

https://github.com/miki-mini/my-line-bots

今後は、天気予報をしてくれる「カエルくん」や、スケジュール管理の「ペンギン秘書」なども追加して、「どうぶつAIボット集」 を充実させていく予定です!
​ここまで読んでいただきありがとうございました🦊

Discussion