YouTube動画の企画〜投稿を全自動化:ClaudeCode×Antigravity連携術

ClaudeCodeとAntigravityでYouTube動画を全自動生成

「YouTube動画を作るのに何時間かかりますか?」と聞かれたら、以前は「テーマによりますが2〜3日は見てください」と答えていた。今は「スクリプトのレビューに30分さえもらえれば、残りは自動です」と答えている。

この変化はClaudeCodeとAntigravityを連携させた自動化パイプラインを構築したことで起きた。企画立案から投稿まで、人間が担当するのは「方向性の確認」だけにした。その全手順を公開する。

全体フロー:6ステップの自動化パイプライン

  1. テーマ投入:キーワードまたは1行のメモをClaudeCodeに渡す
  2. スクリプト生成:Claude APIがターゲット・構成・ナレーション原稿を自動生成
  3. 音声合成:生成原稿をTTS APIに渡しナレーション音声を生成
  4. 映像生成:Antigravityが素材画像・BGM・テキストテロップを組み合わせて動画を生成
  5. サムネイル生成:スクリプトのタイトルをもとにClaudeCodeがサムネイル用コピーを生成、Canva APIで画像化
  6. YouTube投稿:YouTube Data API v3でタイトル・説明文・タグ・サムネイルをセットして自動アップロード

このパイプラインの核になるのがClaudeCodeとAntigravityの連携だ。ClaudeCodeがスクリプトの「意味」を理解し、Antigravityがそれを「映像」に変換する役割分担になっている。

ClaudeCodeの設定:プロンプトテンプレート管理

ClaudeCodeはコード生成だけでなく、構造化されたプロンプトを管理するハブとして使っている。具体的には以下のファイル構成で管理している:

youtube-auto/
├── CLAUDE.md          # プロジェクト全体の指示書
├── prompts/
│   ├── script.md      # スクリプト生成プロンプト
│   ├── title.md       # タイトル生成プロンプト
│   └── thumbnail.md   # サムネコピー生成プロンプト
├── pipeline.ts        # メインの自動化スクリプト
└── config.json        # チャンネル設定(トーン・禁止ワードなど)

CLAUDE.mdにチャンネルのコンセプト・ターゲット・禁止ワードを書いておくことで、ClaudeCodeがどのプロンプトを使うときも一貫したトーンを維持してくれる。これはReactアプリ開発でCLAUDE.mdを活用する手法と同じ発想だ。

Antigravityとの連携:映像生成の自動化

Antigravityはn8nやMakeのような自動化ツールではなく、映像生成に特化したAIオーケストレーションツールだ。ワークフローを定義しておけば、テキスト・音声・画像を受け取って動画ファイルを吐き出してくれる。

僕の使い方で重要なポイントが1つある。Antigravityのワークフローにはテンプレートという概念があり、AfterEffectsで作ったモーショングラフィックスのテンプレートをそのまま使い回せる仕組みになっている。これが動画の「品質の底上げ」に直結している。CapCutのテンプレートよりも遥かにカスタマイズ性が高く、ブランドのデザインシステムを守りながら自動生成できる。

実際のコード:pipeline.tsの抜粋

import Anthropic from "@anthropic-ai/sdk";
import { AntigravityClient } from "antigravity-sdk";

const claude = new Anthropic();
const ag = new AntigravityClient({ apiKey: process.env.AG_API_KEY });

async function generateVideo(theme: string) {
  // 1. スクリプト生成
  const scriptResp = await claude.messages.create({
    model: "claude-opus-4-6",
    max_tokens: 2000,
    system: fs.readFileSync("prompts/script.md", "utf-8"),
    messages: [{ role: "user", content: theme }],
  });
  const script = scriptResp.content[0].text;

  // 2. Antigravityに渡して動画生成
  const job = await ag.createJob({
    template: "youtube-explainer-v3",
    script: script,
    voice: "jp-female-calm",
    bgm: "upbeat-soft",
  });

  await ag.waitForCompletion(job.id);
  return ag.getOutputUrl(job.id);
}

YouTube Data API v3での自動投稿

動画ファイルができたら、YouTube Data API v3で自動投稿する。説明文・タグはClaudeCodeが生成し、サムネイルはCanva APIで作成したものを使う。

// YouTube投稿の核となる部分
const youtube = google.youtube({ version: "v3", auth: oAuth2Client });
await youtube.videos.insert({
  part: ["snippet", "status"],
  requestBody: {
    snippet: {
      title: generatedTitle,
      description: generatedDescription,
      tags: generatedTags,
      categoryId: "22", // People & Blogs
    },
    status: { privacyStatus: "public" },
  },
  media: { body: videoFileStream },
});

運用してわかったこと:人間が関与すべき2つのポイント

自動化を1年以上運用して、「ここだけは人間が確認すべき」と判断した箇所が2つある。

1. スクリプトの事実確認:Claudeは「それらしい情報」を出力することがある。ツールのバージョン・価格・最新情報は必ず一次ソースで確認する。

2. サムネイルの最終承認:自動生成されたサムネイルがブランドトーンから外れることがある。5秒でいいので目視確認を挟む。

この2点だけ守れば、1本の動画にかける人間の時間は15〜20分に収まる。

まとめ

ClaudeCode×Antigravityの連携は「動画制作を代替するもの」ではなく「クリエイターの生産性を10倍にするもの」だ。AfterEffectsで培った映像品質の感覚があるからこそ、Antigravityのテンプレートを適切に作れる。技術の蓄積があってこそ、自動化が活きる。

あわせて読みたい

ツール導入で終わらない「本当のDX」を、一緒に作りませんか

AE→Lottie→Remotionの動画自動生成から、業務プロセス全体の自動化まで。
自分で作って動かしている仕組みを、あなたのビジネスにも実装します。

プロダクト・サービス一覧開発実績を見る
タイトルとURLをコピーしました