Skip to content

tomosud/to_tube_summary

Repository files navigation

YouTube 要約ツール

Windows で YouTube 動画の URL から字幕を取得し、OpenAI API で要約して、ブラウザで読める HTML ページを生成するツールです。

生成されるページには、要約本文だけでなく、動画リンク、字幕、サムネイル、ストーリーボード画像も含まれます。必要に応じて、通常要約、低コスト要約、詳細要約を使い分けられます。

できること

  • YouTube URL から字幕を取得する
  • 字幕をもとに章立て付きの要約を作る
  • 章ごとに動画の該当位置へ飛べるようにする
  • 字幕と対応した画像を HTML に埋め込む
  • 詳細モードでは長めの解説も追加する

動作環境

  • Windows
  • Python
  • OpenAI API キー

セットアップ

  1. このフォルダを開きます。
  2. setup.bat を実行します。
  3. 仮想環境の作成と必要パッケージのインストールが完了すれば準備完了です。

OpenAI API キーは初回実行時に入力を求められ、api_key.txt に保存されます。

使い方

  1. YouTube 動画の URL をコピーします。
  2. 次のいずれかの bat を実行します。
ファイル 用途
to_tube_summary.bat 通常の要約を作る
to_tube_summary_cheep.bat コストを抑えて要約を作る

使用モデル

要約処理は 2 段階で行われます。Stage ごとに異なるモデルを指定できます。

Stage 役割 環境変数
Stage 1 章構成の生成(分散指示) OPENAI_MODEL_STAGE1
Stage 2 章ごとの要約(heading 指示) OPENAI_MODEL_STAGE2

各 bat ファイルでのモデル設定は次の通りです。

ファイル Stage 1 Stage 2
to_tube_summary.bat gpt-5.4-mini-2026-03-17 gpt-5.4-mini-2026-03-17
to_tube_summary_cheep.bat gpt-5.4-mini-2026-03-17 gpt-5.4-nano-2026-03-17

モデルを変えたい場合は、bat ファイルの OPENAI_MODEL_STAGE1 / OPENAI_MODEL_STAGE2 の行を直接書き換えます。

実行時の動きは次の通りです。

  • クリップボードに URL があればそれを使います
  • URL がなければ手入力を求めます
  • 処理完了後、生成した index.html をブラウザで開きます

実装の流れ

処理はおおむね次の順です。

  1. YouTube URL から動画 ID を取り出す
  2. 動画タイトルを取得し、出力フォルダを作る
  3. 字幕を取得して .vtt ファイルとして保存する
  4. 動画メタ情報、サムネイル、ストーリーボード画像を取得する
  5. OpenAI API で章立てと各章の要約を作る
  6. 必要なら詳細解説も追加生成する
  7. 要約結果を data.jsindex.html に変換する
  8. 生成ページをブラウザで開く

字幕は日本語を優先し、なければ自動生成字幕や英語字幕を使います。該当字幕が見つからない動画は処理できません。

生成されるファイル

出力先は C:\temp\html\[動画タイトル]\ です。

主な生成物は次の通りです。

  • index.html 要約ページ本体です。テンプレート HTML をコピーして使います。
  • data.js 動画ごとの要約、章、字幕、画像パスなどのデータです。
  • index.html.txt 要約の元になったテキストです。
  • info.json 動画タイトル、チャンネル、URL などのメタ情報です。
  • Thumbnail.jpg 動画サムネイルです。
  • *.vtt 取得した字幕です。
  • images/ ストーリーボードから切り出した画像です。

生成ページの内容

生成された HTML では次の内容を見られます。

  • 動画のサムネイル
  • 章ごとの要約
  • 章ごとの動画リンク
  • 章に対応する画像一覧
  • 折りたたみ式の字幕テキスト
  • 字幕を ChatGPT に渡すためのリンク
  • 詳細モード時の追加解説

使っている API / ライブラリ

利用者目線で主要なものは次の通りです。

  • OpenAI API 字幕から章立て、要約、ハイライト、詳細解説を生成します。
  • youtube-transcript-api YouTube 字幕を取得します。
  • yt-dlp 動画メタ情報、サムネイル、ストーリーボード画像の取得に使います。
  • requests Web ページや画像の取得に使います。
  • Pillow ストーリーボード画像の切り出しに使います。

関連ファイル

  • setup.bat 仮想環境の作成と依存パッケージのインストールを行います。
  • youtube_transcript_downloader.py エントリ本体です。URL 受付、字幕取得、画像取得、要約処理の起動を行います。
  • ret_youyaku_html.py OpenAI API を使った要約生成と HTML 出力を担当します。
  • template/index.html 生成ページの共通テンプレートです。

補足

過去の古い HTML 出力を現在形式に変換したい場合は migrate.bat を使えます。

api_key.txt.gitignore 対象です。リポジトリに含めない前提で使ってください。

About

make youtube summary html from clipboard url

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors