Agentive
副業・収益化

AIコンテンツリパーパス戦略 — 1本の記事を10個のコンテンツに展開

約5分で読めます

AIコンテンツリパーパス戦略 — 1本の記事を10個のコンテンツに展開

フリーランスにとって最大のボトルネックは「コンテンツを作り続ける時間がない」ことだ。毎日ブログ、X、YouTube、note、メルマガとそれぞれゼロからコンテンツを作っていては、本業の時間が削られる一方である。解決策は「1本の記事を書いたら、それを10個のコンテンツに展開する」リパーパス戦略だ。AIを使えば、1本の記事から30分以内に10種類のコンテンツを生成できる。

リパーパスとは何か — なぜ今重要なのか

リパーパス(Repurpose)とは、既存コンテンツを別のフォーマットやプラットフォーム向けに再構成することだ。新しいコンテンツをゼロから作るのではなく、すでに作ったコンテンツの価値を最大限に引き出す。

リパーパスが効果的な3つの理由

  1. 制作コストが激減する: ゼロから書くのと比べて、リパーパスなら1/10の時間でコンテンツが完成する
  2. メッセージの一貫性が保たれる: 同じ核となるメッセージを異なるフォーマットで伝えるため、ブランディングが強化される
  3. リーチが拡大する: ブログしか読まない人、Xしか見ない人、YouTubeしか見ない人、それぞれにアプローチできる

AIリパーパスの展開マップ

元コンテンツ展開先所要時間(AI使用)手動の場合
ブログ記事X投稿5本5分30分
ブログ記事note有料記事10分60分
ブログ記事YouTube台本10分90分
ブログ記事メルマガ5分30分
ブログ記事LinkedIn投稿3分20分
ブログ記事Instagramカルーセル原稿5分40分
ブログ記事Podcast台本8分60分
ブログ記事Zenn記事(技術寄り)10分45分

合計: AI使用で約56分、手動なら375分。約85%の時間削減が可能だ。

リパーパスの基本設計 — 元コンテンツの作り方

リパーパスしやすい記事には共通の構造がある。最初から「展開前提」で書くことが重要だ。

リパーパス向き記事のテンプレート

# タイトル(メインキーワード含む)

## 導入(150〜200字)
→ X投稿の1本目、メルマガの冒頭に転用

## 問題提起(300字)
→ YouTube台本の導入部に転用

## 解決策の概要(箇条書き3〜5個)
→ Instagramカルーセルの各スライドに転用

## 詳細解説(各セクション300〜500字 × 3〜5個)
→ note有料記事のメインコンテンツに転用

## 実践ステップ(番号付きリスト)
→ X投稿のスレッドに転用

## まとめ(200字)
→ メルマガの結びに転用

この構造で1本書けば、各セクションがそのまま別コンテンツの素材になる。

Claude APIでリパーパスを自動化する

X投稿への展開

import anthropic

client = anthropic.Anthropic()

def repurpose_to_x_posts(article_text: str) -> list[str]:
    """ブログ記事からX投稿5本を生成する"""
    response = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=2000,
        messages=[{
            "role": "user",
            "content": f"""以下のブログ記事をX(Twitter)投稿5本に変換してください。

ルール:
- 各投稿は140文字以内(日本語)
- 1本目: 記事の核心を一言で伝えるフック
- 2〜4本目: 具体的なTipsや数字を含む
- 5本目: 記事へのリンク誘導(CTAを含む)
- ハッシュタグは各投稿に2〜3個

記事:
{article_text}

JSON配列で出力してください:
[{{"post": "投稿文", "hashtags": ["#tag1", "#tag2"]}}]"""
        }]
    )
    return response.content[0].text

# 使用例
with open("blog_post.md", "r", encoding="utf-8") as f:
    article = f.read()

posts = repurpose_to_x_posts(article)
print(posts)

YouTube台本への展開

def repurpose_to_youtube_script(article_text: str, duration_min: int = 8) -> str:
    """ブログ記事からYouTube台本を生成する"""
    response = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=4000,
        messages=[{
            "role": "user",
            "content": f"""以下のブログ記事を{duration_min}分のYouTube動画台本に変換してください。

台本の構成:
1. フック(最初の15秒で視聴者を引き込む質問や驚きの事実)
2. 自己紹介(5秒)
3. 本題の導入(問題提起)
4. メインコンテンツ(3〜5個のポイント)
5. 実演/デモ部分(スクリーンキャストの指示含む)
6. まとめとCTA(チャンネル登録・コメント促進)

注意:
- 話し言葉で書く(「〜です」「〜ですよね」)
- 画面切り替えのタイミングを[画面切替]で指示
- B-ROLLが必要な箇所を[B-ROLL: 説明]で指示
- テロップにすべきキーワードを【テロップ: テキスト】で指示

記事:
{article_text}"""
        }]
    )
    return response.content[0].text

script = repurpose_to_youtube_script(article, duration_min=10)
with open("youtube_script.md", "w", encoding="utf-8") as f:
    f.write(script)

note有料記事への展開

def repurpose_to_note_article(article_text: str, free_ratio: float = 0.3) -> dict:
    """ブログ記事をnote有料記事に変換する(無料部分と有料部分を分離)"""
    response = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=5000,
        messages=[{
            "role": "user",
            "content": f"""以下のブログ記事をnoteの有料記事に変換してください。

構成ルール:
- 無料部分(全体の{int(free_ratio*100)}%): 問題提起と解決策の概要。読者が「続きを読みたい」と思う構成
- 有料部分(残り): 具体的な手順、コード、テンプレート、数字の実例
- 無料部分の末尾に購入を促すCTAを入れる
- 価格帯の推奨: 500〜1,500円

JSON形式で出力:
{{
  "title": "noteタイトル",
  "free_section": "無料部分のMarkdown",
  "paid_section": "有料部分のMarkdown",
  "recommended_price": 金額,
  "tags": ["タグ1", "タグ2"]
}}

元記事:
{article_text}"""
        }]
    )
    return response.content[0].text

一括リパーパスパイプラインの構築

個別に変換するのではなく、1回のコマンドで全展開先に変換するパイプラインを構築する。

パイプライン全体像

import json
from pathlib import Path
from datetime import datetime

class ContentRepurposer:
    """ブログ記事を複数フォーマットに一括変換するパイプライン"""
    
    def __init__(self):
        self.client = anthropic.Anthropic()
        self.output_dir = Path("repurposed_content")
        self.output_dir.mkdir(exist_ok=True)
    
    def run_pipeline(self, article_path: str) -> dict:
        """全フォーマットへの変換を一括実行"""
        with open(article_path, "r", encoding="utf-8") as f:
            article = f.read()
        
        timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
        results = {}
        
        converters = {
            "x_posts": self.to_x_posts,
            "youtube_script": self.to_youtube_script,
            "note_article": self.to_note_article,
            "newsletter": self.to_newsletter,
            "linkedin_post": self.to_linkedin_post,
        }
        
        for format_name, converter in converters.items():
            try:
                result = converter(article)
                output_path = self.output_dir / f"{timestamp}_{format_name}.md"
                output_path.write_text(result, encoding="utf-8")
                results[format_name] = {"status": "success", "path": str(output_path)}
            except Exception as e:
                results[format_name] = {"status": "error", "error": str(e)}
        
        # 結果サマリーを保存
        summary_path = self.output_dir / f"{timestamp}_summary.json"
        summary_path.write_text(json.dumps(results, ensure_ascii=False, indent=2))
        return results

# 実行
repurposer = ContentRepurposer()
results = repurposer.run_pipeline("blog_post.md")
for fmt, result in results.items():
    print(f"{fmt}: {result['status']}")

品質管理 — リパーパスコンテンツの品質を保つ

AIで生成したリパーパスコンテンツは、そのまま公開すると品質にばらつきが出る。品質チェックの仕組みを組み込むことが重要だ。

自動品質チェック

def quality_check(original: str, repurposed: str, format_type: str) -> dict:
    """リパーパスコンテンツの品質を自動チェック"""
    response = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=1500,
        messages=[{
            "role": "user",
            "content": f"""元記事とリパーパスされた{format_type}を比較し、品質チェック。

チェック項目:
1. 事実の正確性: 元記事と矛盾する情報がないか
2. 核心メッセージの保持: 元記事の主要な主張が含まれているか
3. フォーマット適合性: {format_type}として自然な文体か
4. 独自価値: 単なるコピペでなく付加価値があるか
5. CTA: 行動喚起が含まれているか

元記事:
{original}

リパーパスコンテンツ({format_type}):
{repurposed}"""
        }]
    )
    return response.content[0].text

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

プラットフォーム最適な文字数投稿頻度重要な要素
X140文字/投稿1日3〜5回フック、数字、ハッシュタグ
note3,000〜8,000文字週1〜2回無料部分の設計、価格設定
YouTube台本2,000〜4,000字週1回サムネイル、最初の15秒
メルマガ500〜1,000文字週1回件名、CTA
LinkedIn300〜600文字週2〜3回実績数値、ビジネス文脈

収益シミュレーション

リパーパス戦略を実行した場合の収益モデルを試算する。

月間収益モデル(ブログ記事4本/月から展開)

展開先収益源月間見込み
note有料記事(4本)記事販売(500〜1,500円 × 20〜50部)10,000〜75,000円
YouTube(4本)広告収入 + アフィリエイト5,000〜30,000円
メルマガ(4通)アフィリエイト + スポンサー5,000〜20,000円
X投稿(20本)フォロワー増→案件獲得間接的
合計20,000〜125,000円

週2時間のリパーパス作業で、月2〜12万円の追加収入。本業の収入とは別に安定したストック型収益を構築できる。

まとめ — 今日から始めるリパーパス戦略

リパーパス戦略の導入は段階的に進めるのが確実だ。

  1. Week 1: 既存のブログ記事1本をX投稿5本に変換してみる
  2. Week 2: Claude APIを使った自動変換スクリプトを構築する
  3. Week 3: note有料記事とメルマガへの展開を追加する
  4. Week 4: YouTube台本への展開とパイプラインの自動化を完成させる

1本の記事に全力を注ぎ、その価値を最大限に引き出す。これがAI時代のコンテンツ戦略の正攻法だ。

関連記事

A

Agentive 編集部

AIエージェントを実際に使い倒す個人開発者。サイト制作の自動化を実践しながら、その知見を発信しています。