島根県安来市のフリーランスエンジニア_プログラマー画像1

ニュース記事を自動で動画化するツールを作った|Flask×FFmpeg×ChatGPT APIで実装

ニュース記事のURLを入力するだけで、ナレーション付きのMP4動画を自動生成するWebツールを構築しました。AIによる台本生成・日本語音声合成・背景画像の自動取得・FFmpegによる動画合成まで、すべてをサーバー上で自動処理します。本記事ではその仕組みと実装内容を紹介します。

作ったものの概要

ニュース記事URLを入力するだけで、YouTube投稿に使えるナレーション付きニュース動画を自動生成するWebツールです。

  • URLを入力してボタンを押すだけで1〜2分で動画が完成
  • AIが記事内容を読んで60秒程度のナレーション台本を自動生成
  • 日本語テキスト読み上げ(gTTS)で自然な音声を自動生成
  • Unsplash APIで記事内容に関連した背景画像を自動取得
  • 文ごとに音声と字幕のタイミングを同期
  • FFmpegで画像・字幕・音声を合成してMP4として出力・ダウンロード

自動化の仕組み

URLを入力してボタンを押すと、以下が順番に自動実行されます。

1
記事テキスト取得
入力されたURLにアクセスし、BeautifulSoupでHTMLを解析。ナビゲーション・フッターなどの不要タグを除去して記事本文テキストを抽出します。日本語・英語どちらのサイトでも対応しています。
2
AI台本生成(ChatGPT API)
抽出したテキストをChatGPT APIに渡し、60秒程度のナレーション台本を自動生成。自然な話し言葉で5〜7文程度にまとめるプロンプトを設計しています。英語記事でも日本語台本として生成します。
3
文ごとに音声生成(gTTS)
生成した台本を文単位に分割し、Google Text-to-Speechで文ごとに音声ファイルを生成。文ごとに生成することで、スライド表示のタイミングを音声の長さに正確に合わせることができます。
4
背景画像の自動取得(Unsplash API)
記事の内容からChatGPTが英語キーワードを抽出し、Unsplash APIで関連画像を自動検索・取得。スライドごとに異なる画像を使用するため、同じ画像が続いて単調になりません。
5
スライド画像生成(Pillow)
背景画像に半透明の暗幕オーバーレイを重ね、画面下部に字幕スタイルでテキストを描画。日本語フォント(Noto Sans CJK)を使用し、左右にパディングを設けて見切れを防止します。
6
動画合成・出力(FFmpeg)
各スライド画像と対応する音声ファイルをFFmpegで合成。文ごとの音声長に合わせてスライドの表示時間を制御するため、音声と字幕のタイミングが完全に一致します。最終的にMP4形式で出力してダウンロードできます。

使用技術・API

Webフレームワーク
Flask(Python)
軽量Webアプリケーションとして実装
AI台本生成
ChatGPT API
台本生成・キーワード抽出
音声合成
gTTS
Google Text-to-Speech(無料)
画像
Unsplash API
記事内容に合った背景画像を自動取得
画像処理
Pillow
スライド画像の生成・テキスト描画
動画合成
FFmpeg
画像・音声の合成・MP4出力
インフラ
ConoHa VPS
Ubuntu 22.04 / systemdで自動起動
記事取得
BeautifulSoup
HTMLから記事本文を自動抽出

ランニングコスト

動画1本あたりのコストは数円程度です。

ChatGPT API
台本生成・キーワード抽出(動画1本あたり)
約0.3〜0.5円
gTTS(Google TTS)
音声合成
無料
Unsplash API
背景画像取得
無料
ConoHa VPS
1GB / 2Core(月額)
約700円/月

1日10本生成しても月のAPI費用は150円程度。VPS代を含めても月1,000円以下で運用できます。

ビジネス活用の可能性

ニュースメディアの動画展開

テキスト記事を量産しているメディアが動画コンテンツにも展開する際のコストを大幅削減。毎日記事を書いているなら、毎日動画も出せるようになります。

SNSショート動画の素材生成

X(Twitter)やInstagramのリール用に、記事の要約動画を量産するベースとして活用。動画編集の手間を大幅に削減できます。

サービスとして提供

「記事を送ってください、動画にします」というBtoB展開も可能。動画制作の外注費は高いため、自動化ツールを使ったサービスは価格競争力があります。

まとめ

「記事取得 → AI台本生成 → 音声合成 → 背景画像取得 → 動画合成」のパイプラインをFlask + FFmpegで実装しました。URLを入力してボタンを押すだけで1〜2分で動画が完成します。

動画制作の自動化・効率化に興味がある方、または同様のツール構築についてはお気軽にご相談ください。

📌 関連サービス

自動ニュースサイトの構築もお任せください → AIで完全自動化するニュースサイト構築サービス|WordPress×ChatGPT API対応

開発・ご相談はこちら

お問い合わせ →

AIで完全自動化するニュースサイト構築サービス|WordPress×ChatGPT API対応

ブラウザ拡張機能のUIデモを作った|Chrome拡張機能で動画ダウンロードボタンを追加する仕組み