ショート動画の台本をAIで自動生成する方法【ClaudeCode実例×TikTok・Reels対応】

ショート動画台本AI自動生成

TikTok・Instagram Reels・YouTubeショートで再生数を伸ばすには「最初の3秒」と「構成の型」が決定的な差を生む。ClaudeCodeを使って、プラットフォームごとの最適な台本を自動生成するシステムを構築する方法を解説する。

ショート動画台本の基本構成(バイラル型)

時間役割内容例
0〜3秒フック「これ知らないと絶対損する」「実は〇〇だった」
4〜15秒問題提起視聴者の共感できる悩みを提示
16〜45秒解決策具体的な情報・手順・ノウハウ
46〜55秒まとめ要点の再確認、数字で締める
56〜60秒CTA「フォロー」「保存」「コメント」誘導

あなたの「作りたい」を叶えるAdobeの動画ツール

初心者からプロまで。目的に合わせて最適な制作方法が見つかります

1まずは無料で始めるなら Adobe Express

豊富なテンプレートとAI機能で、誰でも簡単に見栄えの良い動画が作れます。SNS投稿やショート動画の作成に最適。ブラウザやスマホアプリですぐに始められます。

2プロ品質を求めるなら テンプレート活用

「こんな動画が作りたい」というイメージに合うテンプレートを選ぶだけ。テキストや映像を差し替えるだけで、プロが作ったような動画が驚くほど手軽に完成します。

3本格的な編集に挑戦するなら Creative Cloud

テンプレートのカスタマイズや、ゼロからオリジナリティを追求するならプロ用ツールが最適。2つの代表的なアプリで、表現の幅は無限大に広がります。

  • Premiere Pro: カット編集、テロップ、色調整など、動画編集の全てをこなす万能ツール。
  • After Effects: VFXやモーショングラフィックスなど、映像をリッチに彩る特殊効果ツール。

これらを含む20以上のアプリが全て使えるコンプリートプランがおすすめです。

あなたの「作りたい」を叶えるAdobeの動画ツール

1無料で手軽に始める

豊富なテンプレートとAI機能で、SNS投稿やショート動画の作成に最適です。

Adobe Expressを試す

2プロ品質の本格編集へ

Premiere ProやAfter Effectsで、テンプレート活用から本格的な映像制作まで挑戦できます。

3か月半額で始める

ClaudeCodeで台本自動生成スクリプトを作る

import anthropic
import json

def generate_short_script(
    topic: str,
    platform: str = "tiktok",  # tiktok / reels / youtube-shorts
    duration: int = 60,          # 秒数
    style: str = "educational"   # educational / entertainment / tutorial
) -> dict:
    """ショート動画台本をClaudeで自動生成する"""

    client = anthropic.Anthropic()

    platform_rules = {
        "tiktok": "テンポが速く、トレンドの言葉を使う。Z世代向けのカジュアルな語り口。",
        "reels": "ビジュアル重視。テキストオーバーレイを意識した短い文章。おしゃれ・映え意識。",
        "youtube-shorts": "検索されやすいキーワードを冒頭に入れる。情報量を重視した実用的な内容。"
    }

    msg = client.messages.create(
        model="claude-opus-4-6",
        max_tokens=2000,
        messages=[{
            "role": "user",
            "content": f"""以下の条件でショート動画の台本を作成してください。

トピック:{topic}
プラットフォーム:{platform}
動画尺:{duration}秒
スタイル:{style}
プラットフォームルール:{platform_rules.get(platform, '')}

出力形式(JSON):
{{
  "title": "動画タイトル(40文字以内)",
  "hook": "最初の3秒のセリフ(インパクト重視)",
  "sections": [
    {{
      "time": "開始時間-終了時間(例: 0-3秒)",
      "role": "セクションの役割",
      "script": "実際のセリフ・ナレーション",
      "visual": "映像・テロップの指示"
    }}
  ],
  "hashtags": ["ハッシュタグ1", "ハッシュタグ2"],
  "cta": "エンディングの行動喚起",
  "estimated_views_score": 1-10(バイラル予測スコア)
}}"""
        }]
    )

    text = msg.content[0].text
    import re
    json_match = re.search(r'{.*}', text, re.DOTALL)
    if json_match:
        return json.loads(json_match.group())
    return {"error": "JSON parse failed", "raw": text}


# 実行例
script = generate_short_script(
    topic="AfterEffectsの無料テンプレートの見つけ方",
    platform="youtube-shorts",
    duration=60,
    style="tutorial"
)
print(json.dumps(script, ensure_ascii=False, indent=2))

生成結果の例

{
  "title": "AEテンプレートを無料で手に入れる3つの方法",
  "hook": "AfterEffectsのテンプレート、まだ有料で買ってるの?",
  "sections": [
    {
      "time": "0-3秒",
      "role": "フック",
      "script": "AfterEffectsのテンプレート、まだ有料で買ってるの?無料で手に入る方法が3つあります",
      "visual": "テキスト大文字で「無料」を強調表示"
    },
    {
      "time": "4-20秒",
      "role": "方法1",
      "script": "1つ目はMotionArray。毎月無料テンプレートが追加されます。サイトに行って「Free」フィルターをかけるだけ",
      "visual": "MotionArrayサイトの画面録画、フィルター操作をハイライト"
    }
  ],
  "hashtags": ["AfterEffects", "動画編集", "無料素材", "映像制作"],
  "cta": "他にも動画編集の裏技を発信してます。フォローして見逃さないで!",
  "estimated_views_score": 7
}

複数台本を一括生成してCSVに出力する

import csv
import time

topics = [
    ("動画のカット編集を3倍速くする方法", "youtube-shorts", "tutorial"),
    ("TikTokのアルゴリズムを攻略する投稿時間", "tiktok", "educational"),
    ("Reelsで1万再生を取るためのフック10選", "reels", "educational"),
    ("字幕を自動生成する無料ツール比較", "youtube-shorts", "tutorial"),
]

results = []
for topic, platform, style in topics:
    script = generate_short_script(topic, platform, 60, style)
    results.append({
        "topic": topic,
        "platform": platform,
        "title": script.get("title", ""),
        "hook": script.get("hook", ""),
        "cta": script.get("cta", ""),
        "score": script.get("estimated_views_score", 0),
        "hashtags": " ".join(script.get("hashtags", []))
    })
    time.sleep(1)  # API制限を考慮

with open("scripts_output.csv", "w", newline="", encoding="utf-8-sig") as f:
    writer = csv.DictWriter(f, fieldnames=results[0].keys())
    writer.writeheader()
    writer.writerows(results)

print(f"{len(results)}件の台本を生成しました")

フックのA/Bテスト自動化

同じトピックで複数のフックを生成し、投稿後のパフォーマンスを比較する。

def generate_hook_variants(topic: str, count: int = 5) -> list:
    """同じトピックで異なるフックを複数生成する"""
    client = anthropic.Anthropic()
    msg = client.messages.create(
        model="claude-opus-4-6",
        max_tokens=1000,
        messages=[{
            "role": "user",
            "content": f"""「{topic}」についてのショート動画のフック(最初の3秒のセリフ)を{count}パターン作成してください。

パターン別に異なるアプローチで:
1. 数字を使ったフック
2. 疑問形のフック
3. 意外性・驚きのフック
4. 共感を呼ぶフック
5. 否定形のフック

JSON配列で出力:["フック1", "フック2", ...]"""
        }]
    )
    import re, json
    text = msg.content[0].text
    arr_match = re.search(r'[.*]', text, re.DOTALL)
    return json.loads(arr_match.group()) if arr_match else []

hooks = generate_hook_variants("動画編集の時短テクニック")
for i, hook in enumerate(hooks, 1):
    print(f"パターン{i}: {hook}")

プラットフォームごとの最適化ポイント

  • TikTok:音楽との同期が重要。台本にビート合わせの指示を入れると効果的
  • Instagram Reels:テキストオーバーレイが多い視聴者(音なし視聴)向けにテロップ指示を充実させる
  • YouTubeショート:検索流入を意識し、冒頭にキーワードを自然に盛り込む

まとめ

ClaudeCodeを使った台本自動生成は、月に数十本のショート動画を運用するクリエイターにとって制作時間を大幅に短縮できる。特に「フックの複数生成→A/Bテスト」のサイクルを自動化することで、データドリブンにバイラルコンテンツを量産できるようになる。まずは自分のジャンルで5本分の台本を一括生成してみてほしい。

あなたの「作りたい」を叶えるAdobeの動画ツール

初心者からプロまで。目的に合わせて最適な制作方法が見つかります

1まずは無料で始めるなら Adobe Express

豊富なテンプレートとAI機能で、誰でも簡単に見栄えの良い動画が作れます。SNS投稿やショート動画の作成に最適。ブラウザやスマホアプリですぐに始められます。

2プロ品質を求めるなら テンプレート活用

「こんな動画が作りたい」というイメージに合うテンプレートを選ぶだけ。テキストや映像を差し替えるだけで、プロが作ったような動画が驚くほど手軽に完成します。

3本格的な編集に挑戦するなら Creative Cloud

テンプレートのカスタマイズや、ゼロからオリジナリティを追求するならプロ用ツールが最適。2つの代表的なアプリで、表現の幅は無限大に広がります。

  • Premiere Pro: カット編集、テロップ、色調整など、動画編集の全てをこなす万能ツール。
  • After Effects: VFXやモーショングラフィックスなど、映像をリッチに彩る特殊効果ツール。

これらを含む20以上のアプリが全て使えるコンプリートプランがおすすめです。

あなたの「作りたい」を叶えるAdobeの動画ツール

1無料で手軽に始める

豊富なテンプレートとAI機能で、SNS投稿やショート動画の作成に最適です。

Adobe Expressを試す

2プロ品質の本格編集へ

Premiere ProやAfter Effectsで、テンプレート活用から本格的な映像制作まで挑戦できます。

3か月半額で始める
タイトルとURLをコピーしました