Macをつけっぱなしにせず、スマホからAIでYouTube動画を作る構成を考えた【Codex Cloud×GitHub Actions×Remotion】

個人開発
スポンサーリンク

自宅のPCを常時起動せずに、スマホからAIでYouTube動画制作を進めたい。この記事では、ChatGPTで台本を作り、Codex CloudにRemotionのコードを書かせ、GitHub Actionsで動画をレンダリングするという構成を、実際に組み立てながら検討した内容をまとめます。

先にお断りしておくと、この記事は「完成した仕組みを紹介する」ものではなく、まだ作っている途中の設計・検討編です。動画投稿を止めずに、少しずつ自動化を進めたい個人開発者向けに、「自分ならこう組む」という現時点の設計図を共有する記事だと思ってください。

こんな人に向けて書いています。

  • AIを使ってYouTube動画を作りたい人
  • Remotionで動画を生成している人
  • 自宅PCをつけっぱなしにしたくない人
  • スマホから動画制作を進めたい人
  • 副業や個人開発で、確保できる作業時間が限られている人
  • Codex CloudやClaude Codeを動画制作に活用したい人

最終的に目指すのは、「スマホでChatGPTに相談 → 指示を出す → クラウド側で動画が組み上がる → スマホで最終確認して公開」という流れです。まずは全体像から見ていきます。

用語だけ先に軽く補足します。RemotionはReact(Webのコードを書く仕組み)で動画を作れるライブラリ、Codex Cloudはクラウド上でGitHubリポジトリのコードを編集してくれるAIエージェント、GitHub ActionsはGitHub上でコマンドを自動実行してくれる仕組みです。それぞれ本文の中でもう少し説明します。

1. 動画を作りながら自動化も進めたい

YouTubeの解説動画を作っていると、まず制作そのものに時間がかかります。テーマを決めて、調べて、台本を書いて、動画にして、確認して……という工程が一通りあって、これだけで1本分の時間はけっこう埋まるんですよね。

そこに「自動化の仕組みづくり」を乗せようとすると、ひとつ困ったことが起きます。自動化を作り込んでいる間、肝心の動画投稿が止まりがちなんです。仕組みを整えるのは大事だけど、そのために投稿ペースが落ちてしまうと本末転倒だなと思っています。

僕の場合、平日に確保できる作業時間は1日おおよそ1時間30分くらい。しかもYouTube以外にブログやアプリ開発もやっているので、動画だけに全部を注ぎ込むわけにもいきません。会社のPCで個人の副業作業はしたくないし、かといって自宅のMacBook Airを一日中つけっぱなしにするのも避けたい。レンダリングのために夜通しMacを回す、みたいなのはやりたくないな、って感じです。

だから方針としては、こう決めました。

  • 完全自動化を一気に作ろうとしない
  • 動画投稿は止めない
  • PCを常時起動する方式は採用しない
  • クラウド側で処理が回る形を、段階的に作っていく

要するに、「投稿を続けながら、毎週ちょっとずつ自動化する」という進め方です。この前提が、これから説明する構成の土台になっています。

2. 考えた動画制作フロー

まず、頭の中で組み立てた全体の流れを図にするとこうなります。

スマホでChatGPTに質問
        ↓
自分がテーマを理解する
        ↓
「これを動画化して」と指示
        ↓
動画制作指示書を作成
        ↓
Codex CloudがRemotionコードを作成
        ↓
GitHub Actionsで動画をレンダリング
        ↓
YouTubeへ非公開または限定公開でアップロード
        ↓
スマホで確認して公開

ポイントは、AIの役割を2つに分けているところです。

  • ChatGPT:内容の理解、構成の整理、台本作成を担当する(=人間側の思考を助ける係)
  • Codex Cloud:GitHubリポジトリ上のコードやファイルの作成を担当する(=手を動かす係)

僕は動画を作るとき、まずテーマについてChatGPTに質問して、自分自身がちゃんと理解してから動画化したいタイプです。理解しないまま台本だけAIに書かせても、後で説明が浅くなるのが分かっているので。だからこの工程だけは、スマホからChatGPTと納得いくまでやり取りする、という時間を残しています。

自分が納得したら、「これを動画化して」という形で動画制作指示書に落とし込みます。ここから先、実際のコードを書く部分はCodex Cloudの担当。人間が考える部分とAIが手を動かす部分を、意識的に分けているのがこのフローの肝かなと思っています。

3. Codex Cloudに任せる部分

Codex Cloudには、GitHub上のRemotionプロジェクトのコード作業を任せる想定です。具体的にはこのあたりを考えています。

  • GitHub上のRemotionプロジェクトを読み取る
  • 台本やシーン構成をもとに、動画のコードを作る
  • 字幕や素材の配置を行う
  • 横動画版とショート動画版の構成を追加する
  • 変更をPull Request、またはコミットとしてGitHubへ反映する

ここで大事にしたいのは、Codexに動画のテーマそのものを考えさせないということです。「面白い動画のネタ出して」みたいな使い方はしません。テーマや構成、伝えたいことは、あくまでChatGPTと自分で詰めておく。Codexにはその決定済みの制作仕様を、Remotionのコードとして実装させる、という役割分担にしています。

誤解のないように書いておくと、Codex Cloudは「動画を丸ごと生成してくれる魔法のサービス」ではありません。あくまでGitHubリポジトリ上のコードを書く担当です。動画そのものを吐き出すというより、「動画を作るためのコードを書き換えてコミットしてくれるエンジニア」に近いイメージで捉えると、期待値がズレにくいと思います。

4. 最後のレンダリングはGitHub Actionsで行う

Codex Cloudが動画のコードを書いてくれても、それだけでは動画ファイル(MP4)にはなりません。コードを実際に実行してレンダリングする工程が別に必要です。ここを担当するのがGitHub Actionsです。

役割を整理するとこうなります。

  • Codex Cloud:動画コードを作る担当
  • GitHub Actions:完成したコードを実行して、動画に変換する担当

GitHub Actionsは、GitHub側が用意する一時的なUbuntu(Linux)環境の上でコマンドを動かしてくれます。そこでRemotionのレンダリングを実行すれば、自分のMacBook Airを起動しておく必要がありません。処理はクラウド側で完結するので、Macを閉じていても動画が組み上がる、という状態を目指せます。これがこの構成でいちばんやりたかったことです。

あと地味に嬉しいのが、実行結果やログがGitHub上に残るのであとから確認しやすいこと。失敗したときも、同じworkflowをボタンひとつで再実行しやすい。手元でやり直すより気楽なんですよね。

GitHub Actionsのサンプル(説明用)

イメージをつかむために、ごく簡単なサンプルを載せておきます。あくまで構成を説明するためのもので、このままどのプロジェクトにも貼れば動く、というものではありません。実際にはプロジェクト構成やRemotion側のコマンドに合わせた調整が必要です。

# 動画をレンダリングするGitHub Actionsのサンプル(説明用)
name: render-video

on:
  workflow_dispatch:   # 手動で実行できるようにする

jobs:
  render:
    runs-on: ubuntu-latest   # GitHubが用意する一時的なUbuntu環境
    steps:
      # 1. リポジトリのコードを取得する
      - uses: actions/checkout@v4

      # 2. Node.js(Remotionを動かすための実行環境)をセットアップ
      - uses: actions/setup-node@v4
        with:
          node-version: 20

      # 3. 必要なパッケージをインストール
      - run: npm ci

      # 4. Remotionで動画をレンダリング(コマンドはプロジェクトに合わせる)
      - run: npx remotion render MyVideo out/video.mp4

      # 5. 完成したMP4をArtifact(成果物)として保存
      - uses: actions/upload-artifact@v4
        with:
          name: rendered-video
          path: out/video.mp4

やっていることは、上のコメントの通りです。「コードを取ってくる → 実行環境を整える → 必要なものを入れる → 動画にする → 成果物を保存する」という素直な流れになっています。Remotionのレンダリングコマンドやアクションのバージョンは変わる可能性があるので、実際に組むときは公式ドキュメントを確認してください。

5. GitHubリポジトリに動画ファイルは保存しない

構成を考えるうえで、ひとつ大事な線引きがあります。それは、GitHubには完成した動画ファイルを置かないということです。

GitHubに保存するのは、こういう「動画を作るための材料」だけにします。

  • Remotionのコード
  • 台本
  • 字幕データ
  • シーン構成
  • 設定ファイル
  • 制作ルール
  • 小さな画像素材

逆に、これらはGitHubにコミットしません。

  • 完成したMP4
  • レンダリング途中の動画
  • 大量の音声ファイル
  • 一時生成ファイル
  • 大容量の動画素材

理由はシンプルで、GitHubはもともと大きなバイナリファイル(動画や音声のような、テキストじゃないファイル)を溜め込む場所として向いていないからです。動画をコミットし続けると、リポジトリがどんどん重くなって扱いにくくなります。

じゃあ完成した動画はどこに置くのか。方針としては、次のいずれかを考えています。

  • GitHub ActionsのArtifactに、短期間だけ保存する
  • YouTubeへ非公開または限定公開でアップロードする
  • 必要に応じて外部ストレージを利用する

言い換えると、GitHubは完成動画の保管場所ではなく、「動画工場の設計図」を置く場所、というイメージです。設計図(コードや台本)はGitHubに、出来上がった製品(動画)は別の場所に。この切り分けを最初に決めておくと、後で構成が破綻しにくいかなと思っています。

6. YouTube APIでアップロードする際の注意点

将来的には、レンダリングした動画をYouTube APIで自動アップロードするところまで考えています。ただ、ここは注意点が多いので、現時点で調べて分かったことを整理しておきます。

まず認証まわり。ここは混同しやすいポイントです。

  • 動画情報の取得(再生数を見る、など)に使うAPIキーだけでは、動画をアップロードできません
  • アップロードにはOAuth 2.0認証が必要です
  • 読み取り専用の権限では、当然ながらアップロードできません
  • YouTubeへアップロードするための権限(youtube.upload のようなスコープ)を設定する必要があります

次にセキュリティ。

  • クライアントシークレットやリフレッシュトークンを、GitHubへ直接コミットしてはいけません
  • こうした秘密情報は、GitHub Actions Secretsなどの仕組みで管理します

運用面では、いきなり本番でやらないこと。

  • まずは短いテスト動画で、アップロードが通るかを確認する
  • 自動で「公開」まで進めず、非公開または限定公開までにとどめる

そして、これは特に押さえておきたい点なのですが、未監査(未確認)のAPIプロジェクトからアップロードした動画は、非公開に制限されるという仕様があります。Googleの公式ドキュメントによると、2020年7月28日以降に作成された未確認のAPIプロジェクトから videos.insert でアップロードされた動画は、非公開(private)モードに制限され、この制限を解除するにはプロジェクトの監査(audit)を受ける必要がある、とされています(YouTube Data API: Videos: insert)。

つまり、監査を通していない個人プロジェクトでは、APIでアップロードした動画はそもそも非公開になる可能性が高い、ということです。これは今回の「非公開または限定公開までにとどめる」という方針とも噛み合っているので、僕としてはむしろ都合がいいなと捉えています。

ただし、この手の仕様は変わる可能性があります。公開前には必ずYouTube Data APIの公式ドキュメントやGoogle/YouTubeの公式資料を確認して、最新の仕様に合わせてください。この記事の内容も、あくまで2026年7月時点で確認できた範囲のものです。

7. CodexとClaude Codeを切り替えられる構成にする

もうひとつ考えているのが、AIエージェントを切り替えられるようにしておくという保険です。

Codex Cloudには利用制限があるので、上限に達したときに作業が止まってしまうと困ります。そこで、Codexが使えないときはClaude Codeに切り替えて作業を続けられるように、GitHubを共通の作業場所にしておく、という考え方です。

そのために、リポジトリにこういうファイルを置いておくイメージです。

AGENTS.md              … AIエージェント共通の前提・ルール
CLAUDE.md              … Claude Code向けの補足指示
docs/AI_RULES.md       … 制作全体で守るルール
docs/VIDEO_WORKFLOW.md … 動画制作フローの説明
episodes/対象動画/HANDOFF.md … その動画の引き継ぎメモ

ポイントは、会話履歴を引き継ごうとしないことです。「さっきまでChatGPTと話していた内容」をそのままCodexやClaudeに渡すのは現実的じゃありません。そうではなく、GitHub上の仕様書・コミット履歴・HANDOFF.mdを「引き継ぎ資料」として使う。どのAIが作業に入っても、そのリポジトリを読めば「今どういう状態で、次に何をすればいいか」が分かる、という状態を目指します。

この記事の主題はあくまでCodex Cloudを使った動画制作なので、Claude Codeの話はここまでにしておきます。要は「作業場所をGitHubに固定しておけば、道具は差し替えられる」という発想です。

8. 一気に完全自動化しない

ここまで書いてきた構成を、最初から全部作ろうとは思っていません。作っている間に投稿が止まるのを避けたいので、段階的に進めます。今考えている計画はこんな感じです。

第1段階

  • GitHubとCodex Cloudを接続する
  • Codexが既存のRemotionプロジェクトを読める状態にする
  • 動画コードの作成まで任せる
  • レンダリングは、これまで通り手動でもよい

第2段階

  • GitHub Actionsで、ショート動画1本だけをレンダリングしてみる
  • 出来上がったMP4を、Artifactとして確認する

第3段階

  • 横動画1本とショート3本の構成に対応する
  • 音声生成もクラウド処理へ移す

第4段階

  • YouTube APIで、非公開または限定公開のアップロードを試す
  • スマホのYouTube Studioで確認して、最終的な公開は手動で行う

方針としては、動画投稿を止めず、毎週1工程ずつ自動化するくらいのペースを想定しています。1週間で1個の工程がクラウドに移れば十分、という気持ちでいれば、投稿を続けながらでも着実に進められるかなと思っています。

9. 現時点での構成

というわけで、現時点でまず目指しているのは、次のような役割分担です。

  • ChatGPT:テーマの理解、調査、台本、制作指示書
  • Codex Cloud:Remotionコード、字幕、シーン構成の作成
  • GitHub:コード、台本、制作ルールの管理
  • GitHub Actions:音声生成、動画レンダリング
  • YouTube:完成動画の非公開または限定公開での保存
  • スマホ:指示、進捗確認、最終公開

人間(=自分)がやるのは、ChatGPTと一緒にテーマを理解して指示を出すところと、最後にスマホで確認して公開するところ。その間の「手を動かす作業」を、少しずつクラウド側に寄せていく、という構図です。

繰り返しになりますが、これはまだ全部が動いている状態ではありません。あくまで「この形を目指す」という現時点の設計です。

10. まとめ

長くなったので、考えてきたことをまとめます。

  • 最初から完全自動化を目指さない
  • 動画投稿を継続しながら、少しずつ自動化していく
  • Macを常時起動しなくても、クラウド構成は作れる
  • GitHubには完成動画ではなく、コードや設計データを保存する
  • まずはCodex Cloudが既存プロジェクトを読み、動画コードを作れるところから始める

こうやって書き出してみると、いきなり「全自動の動画製造マシン」を作るんじゃなくて、設計図をGitHubに置いて、手を動かす部分を1つずつクラウドに移す、という進め方が自分には合っているなと感じました。作業時間が1日1時間30分しかないからこそ、一気に作るより、止めずに少しずつ、が現実的かなって思います。

コメント

タイトルとURLをコピーしました