YouTube動画要約アプリを作ろう! 🚀
2025年9月最新版 - 初心者向け完全ハンズオンガイド
このチャプターの目次
前回のレッスンでPythonの基礎を学びましたね。この章では、さらに実用的なAIアプリを作成できるように、外部APIを使った本格的なWebアプリ開発に挑戦してみましょう。
今回作るのは、YouTubeの動画URLを入力するだけで、AIが自動で内容を要約してくれる便利なアプリです。「長い動画を見る時間がないけど、内容は知りたい...」そんな時に重宝するアプリを一緒に作っていきましょう。
この章で学ぶこと
- 外部API連携の基本的な考え方を知る
- YouTube Transcript APIの使い方をマスターする
- OpenAI APIを使ったAI要約機能の実装方法を知る
- Streamlitで実用的なWebアプリを作る技術を習得する
YouTube動画要約アプリ
┌─────────────────────────────────────────────────────────┐
│ 🎬 YouTube動画要約アプリ │
├─────────────────────────────────────────────────────────┤
│ │
│ 📺 YouTube URL: │
│ ┌─────────────────────────────────────────────────┐ │
│ │ https://www.youtube.com/watch?v=abc123... │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 🔑 OpenAI APIキー: │
│ ┌─────────────────────────────────────────────────┐ │
│ │ sk-xxxxxxxxxxxxxxxxxxxxxx │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────┐ │
│ │ 🚀 要約開始 │ │
│ └─────────────────┘ │
│ │
│ ✨ 処理中... 字幕取得中 → AI要約生成中 → 完了! │
│ │
│ 📝 要約結果: │
│ ┌─────────────────────────────────────────────────┐ │
│ │ この動画では、AIの基本概念について説明しています。│ │
│ │ 機械学習の仕組みから始まり、深層学習の応用例ま │ │
│ │ でを分かりやすく解説。特に画像認識技術の発展... │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 📊 統計: 元動画15分 → 要約200文字 (コスト: $0.05) │
└─────────────────────────────────────────────────────────┘
まず、この章で作るアプリがどんなものかイメージしてもらいましょう。例のごとく、完成したアプリがどんな風に動くかを最初に見ておくと、作業の見通しが立てやすくなります。
ユーザーがYouTubeのURLを入力すると、アプリが自動で動画の字幕を取得し、それをAIが読み込んで簡潔な要約を生成してくれます。長時間の講義動画やセミナー動画でも、数分で要点を把握できる便利なツールが完成します。
実際に僕も普段からこういったツールを使って動画の内容を効率的にチェックしており、非常に重宝しています。YouTubeには有益なコンテンツがたくさんありますが、全部見る時間はなかなか取れないですからね。ぜひ試してみてください🤗
Step 1: 新しいプロジェクトを準備しよう
┌─────────────────────────────────────────────────────────┐
│ 🔧 プロジェクトセットアップ │
├─────────────────────────────────────────────────────────┤
│ │
│ 📁 Desktop/ │
│ └── youtube-summarizer/ ← 新しいフォルダ │
│ ├── youtube_env/ ← 仮想環境 │
│ │ ├── Scripts/ │
│ │ └── Lib/ │
│ └── (これから作るファイル達) │
│ │
│ 💻 コマンドライン: │
│ 1. cd youtube-summarizer │
│ 2. python -m venv youtube_env │
│ 3. activate → (youtube_env) │
│ 4. pip install ライブラリ │
│ │
│ ✅ 完了!専用の作業環境ができました │
└─────────────────────────────────────────────────────────┘
さて、それでは実際に作業を始めていきましょう。まずは今回のプロジェクト専用の作業環境を整えることから始めます。
プログラミングでは、プロジェクトごとに独立した環境を作ることがとても大切です。これまでに複数のプロジェクトを作ったことがある方なら経験があるかもしれませんが、異なるプロジェクトで使うライブラリのバージョンが衝突して、思わぬエラーに遭遇することがあります。
そこで登場するのが「仮想環境(virtual environment)」という仕組みです。これは、プロジェクトごとに専用のPython環境を作る機能で、他のプロジェクトと干渉しない「独立した作業部屋」のようなものを用意してくれます。
プロジェクトフォルダを作ろう
最初に、今回のプロジェクト専用のフォルダを作成します。
- デスクトップで右クリック
- 「新規作成」→「フォルダー」(Windowsの場合)または「新規フォルダ」(Macの場合)
- フォルダー名を
youtube-summarizer
に設定
フォルダを作成したら、コマンドプロンプト(Windowsの場合)またはターミナル(Macの場合)を開いて、そのフォルダに移動しましょう。
- コマンドプロンプト(またはターミナル)を開く
- 以下のコマンドでフォルダに移動
- Windows:
cd Desktop/youtube-summarizer
- Mac:
cd ~/Desktop/youtube-summarizer
- Windows:
dir
(Windows)またはls
(Mac)で確認
現在のフォルダが正しいかどうかを確認できます。まだ何もファイルがないので、空の状態になっているはずです。
仮想環境を作って有効化しよう
次に、このプロジェクト専用の仮想環境を作成します。
- 仮想環境を作成:
python -m venv youtube_env
- 仮想環境を有効化:
- Windows:
youtube_env\Scripts\activate
- Mac:
source youtube_env/bin/activate
- Windows:
有効化が成功すると、コマンドプロンプトの表示が変わります。行の最初に (youtube_env)
という文字が表示されるようになれば、仮想環境が正しく動作している証拠です。この状態になれば、この環境でインストールしたライブラリは、他のプロジェクトには影響しません。
必要なライブラリをインストールしよう
仮想環境が準備できたら、今回のプロジェクトで使用するライブラリをインストールします。プロジェクト管理をきちんと行うために、まずは requirements.txt
というファイルを作成しましょう。
これは、プロジェクトで使用するライブラリとそのバージョンを記録するファイルです。他の人がプロジェクトを使う時や、後で環境を再構築する時にとても便利です。実際の開発現場では必ずと言っていいほど使われる重要なファイルなので、今のうちに覚えておきましょう。
- テキストエディタ(メモ帳など)で新しいファイルを作成
- 以下の内容を入力して保存:
ファイル名: requirements.txt
youtube-transcript-api==1.2.2
openai>=1.0.0
streamlit>=1.28.0
- ファイルを
youtube-summarizer
フォルダに保存 - 以下のコマンドでライブラリをインストール:
pip install -r requirements.txt
youtube-transcript-apiは、YouTubeの動画から字幕データを取得するためのライブラリです。openaiは、OpenAIのGPTモデルを使って要約を生成するためのもの、streamlitは美しいWebアプリを簡単に作れるフレームワークです。
requirements.txtを使うことで、プロジェクトの依存関係が明確になり、チーム開発や環境の再現がとても楽になります。ちょっとした手間ですが、プロの開発者には欠かせない習慣です。
インストール確認をしてみよう
ライブラリのインストールが完了したら、実際にすべてが正しく動作するかを確認してみましょう。「エラーなくインストールできたから大丈夫でしょ?」と思われるかもしれませんが、これまでにプログラミングを経験された方なら、インストールは成功したのに実際に使おうとするとエラーが出る...という経験があるのではないでしょうか。
特に仮想環境を使っている場合、環境が正しく有効になっているか、ライブラリが期待通りの場所にインストールされているかなど、確認すべきポイントがいくつかあります。そこで登場するのが「動作確認スクリプト」です。
プロの開発現場でも、環境構築後は必ずこのような確認作業を行います。早めに問題を発見できれば、後で複雑なエラーに悩まされることもありません。
- テキストエディタで新しいファイルを作成
- 以下の内容を入力して保存:
ファイル名: test_setup.py
# test_setup.py
print("=== 環境セットアップ確認 ===")
# 仮想環境の確認
import sys
print(f"Python実行場所: {sys.executable}")
if "youtube_env" in sys.executable:
print("✅ 仮想環境が正しく動作しています")
else:
print("⚠️ 仮想環境が有効になっていない可能性があります")
print("\n--- ライブラリ確認 ---")
# YouTube字幕取得ライブラリ
try:
import youtube_transcript_api
print("✅ youtube-transcript-api: インストール済み")
print(f" バージョン: {youtube_transcript_api.__version__}")
except ImportError:
print("❌ youtube-transcript-api: インストールエラー")
# OpenAI APIライブラリ
try:
import openai
print("✅ openai: インストール済み")
print(f" バージョン: {openai.__version__}")
except ImportError:
print("❌ openai: インストールエラー")
# Streamlit Webアプリライブラリ
try:
import streamlit
print("✅ streamlit: インストール済み")
print(f" バージョン: {streamlit.__version__}")
except ImportError:
print("❌ streamlit: インストールエラー")
print("\n🎉 セットアップ確認完了!")
print("すべて✅なら次のステップに進みましょう")
- ファイルを
youtube-summarizer
フォルダに保存 - 仮想環境が有効になっていることを確認してから実行:
python test_setup.py
実行結果を確認
成功例:
=== 環境セットアップ確認 ===
Python実行場所: C:\...\youtube-summarizer\youtube_env\Scripts\python.exe
✅ 仮想環境が正しく動作しています
--- ライブラリ確認 ---
✅ youtube-transcript-api: インストール済み
バージョン: 1.2.2
✅ openai: インストール済み
バージョン: 1.xx.x
✅ streamlit: インストール済み
バージョン: 1.xx.x
🎉 セットアップ確認完了!
すべて✅なら次のステップに進みましょう
🎊 おめでとうございます!プロジェクトの基盤ができました!
⚠️ エラーが出た場合:
ImportError
が出る → requirements.txtからの再インストールを試してください- 仮想環境の警告が出る →
youtube_env\Scripts\activate
(Windows)またはsource youtube_env/bin/activate
(Mac)を再実行 - それでもうまくいかない場合は、仮想環境を削除して最初から作り直してみましょう
この確認作業により、今後の開発で「なぜか動かない...」という問題を事前に防げます。面倒に思えるかもしれませんが、この習慣が身につくとプログラミングがとても楽になりますよ。