コードで動画を量産 — React + AIナレーション
SECTION 27
「動画をコードで書く」ことで、
ソフトウェア開発の知識がそのまま
動画制作の武器になる
SECTION 27
RemotionはReactで動画を作るオープンソースフレームワーク。Webの技術(HTML/CSS/JS)で動画コンテンツを定義し、Puppeteerでフレームをレンダリング、ffmpegで動画ファイルに書き出す。
通常のReactと同じようにコンポーネントを書くだけ。CSSアニメーションもそのまま動く。
npx remotion studio でブラウザ上のStudioが起動。シークバーで任意フレームを確認。
ffmpegを内部で利用し、最大4K・30fps/60fpsのMP4・WebMを書き出し可能。
SECTION 27
VOICEVOXは無料・オープンソースのAI音声合成エンジン(ローカル動作)。個性豊かなキャラクターボイスを使い、テキストから自然な日本語音声を生成できる。
ずんだもん・四国めたん・春日部つむぎなど多彩なキャラが収録。話者IDで指定。
localhost:50021 でAPI提供。テキストをPOSTするだけでWAVファイルが返ってくる。
速度・ピッチ・イントネーション・音量をAPI経由で細かく制御可能。
| 話者ID | キャラクター | 特徴 |
|---|---|---|
| 1 | 四国めたん | 標準・落ち着いた |
| 3 | ずんだもん | 明るい・元気 |
| 8 | 春日部つむぎ | 落ち着いた女性 |
| 11 | 玄野武宏 | 落ち着いた男性 |
SECTION 27
nodejs.org から LTS版をダウンロード・インストール
npm create video@latest で雛形を生成
voicevox.hiroshiba.jp からデスクトップアプリをダウンロード
アプリ起動後、http://localhost:50021/docs でAPI確認
コンポジション・アニメーション・レンダリングの基本
SECTION 27 — Remotion基礎
| パラメータ | 説明 | 推奨値 |
|---|---|---|
| fps | フレームレート | 30(通常)24(Veo連携) |
| width | 横ピクセル | 1920 / 1080 |
| height | 縦ピクセル | 1080 / 1920 |
| durationInFrames | 総フレーム数 | fps × 秒数 |
SECTION 27 — Remotion基礎
現在のフレーム番号を返すフック。これを使ってフレームに応じた値を計算する。
フレーム範囲を指定して値を線形補間。フェードインやスライドに使う。
自然なバネ物理でアニメーション。ポップイン・スケールアニメーションに最適。
SECTION 27 — Remotion基礎
通常のReactでHTMLを書けばそのまま使える。絶対座標・Flexboxどちらも対応。
Remotionの<Img>コンポーネントを使うと画像読み込みを確実に待機してからレンダリングされる。
レンダリングには<OffthreadVideo>を使う。<Video>はプレビュー用(ブラウザ依存でガタつく場合あり)。
SECTION 27 — Remotion基礎
| 動画の長さ | M1 Mac目安 |
|---|---|
| 10秒 | 約20秒 |
| 30秒 | 約1分 |
| 3分 | 約5〜10分 |
テキストからナレーション音声を自動生成する
SECTION 27 — VOICEVOX連携
テキストと話者IDを渡すと、読み上げ方・アクセント情報を含むJSONが返る
audio_queryの結果をそのままPOSTするとWAVファイルが返ってくる
SECTION 27 — VOICEVOX連携
| 話者ID | キャラクター名 | 声の特徴 | 推奨用途 | スタイル |
|---|---|---|---|---|
| 1 | 四国めたん(ノーマル) | やや高め・明るい | 一般解説・案内 | ノーマル |
| 3 | ずんだもん(ノーマル) | 明るい・子供っぽい | エンタメ・教育動画 | ノーマル |
| 8 | 春日部つむぎ | 落ち着いた女性 | ビジネス解説・研修 | ノーマル |
| 11 | 玄野武宏 | 落ち着いた男性 | ビジネス・ナレーション | ノーマル |
| 20 | もち子さん | やわらかい女性 | 講師役・丁寧な解説 | ノーマル |
| 47 | 冥鳴ひまり | 深みのある女性 | ドラマ・シリアス | ノーマル |
SECTION 27 — VOICEVOX連携
データ駆動型動画で100本を自動生成する
SECTION 27 — 量産パイプライン
動画の構造(テンプレート)と内容(データ)を分離することで、データを差し替えるだけで量産が可能になる設計パターン。
SECTION 27 — 量産パイプライン
SECTION 27 — 量産パイプライン
Google Vertex AIが提供するAI動画生成モデル。テキストプロンプトまたは参照画像から動画クリップを生成し、Remotionの素材として組み込める。
| 項目 | 仕様 |
|---|---|
| モデルID | veo-3.1-generate-preview |
| 出力解像度 | 720p / 24fps |
| 最大長 | 8秒(画像→動画) |
| Remotion fps設定 | 24fps必須(30だとガタつき) |
SECTION 27 — ハンズオン
Remotion + VOICEVOXで「自己紹介10秒動画」を制作する。テキストが中央に表示されながら音声ナレーションが流れる動画を完成させる。
npm create video@latest hello-video
「こんにちは、AIクリエイターです!」をWAV生成してpublic/に配置
テキストのフェードイン + Audioコンポーネントで音声を追加
out/hello.mp4 として完成動画を確認する
Remotion × VOICEVOXで「コードで動画を量産する」スキルを習得。
AIとReactの力を組み合わせ、動画制作を自動化できる。