なぜ「Claude の画像生成を MCP 経由で一括」という組み方になるのか

生成モデル単体で 100枚の画像を書き出す作業は、Web UI からでもできます。ただ、案件で回すとなると話が変わります。プロンプトの管理、命名の統一、失敗した回の作り直し、コストの上限、担当者間の引き継ぎ。この段取りが手作業のまま残ると、生成の速さの利点が消えます。

Claude Code は、この段取り側を担うツールです。公式ドキュメントは「エージェント型 CLI」と定義し、コードベースを読み、ファイルを編集し、コマンドを実行し、外部ツールと連携する道具として位置づけます。制作現場から見ると担当者に近い立ち位置です。プロンプト表を読み、Model Context Protocol(以下 MCP)で外部の画像モデルを呼びます。返ってきた画像をルールに沿って保存し、失敗があれば同じ入力から作り直すまでを担います。

姉妹記事のClaude Code をクリエイティブに使う実装ガイドで全体像を扱っています。本稿はそのうち、画像の一括生成にだけ絞って手順を書きます。

用意するもの|前提と接続の初期設定

必要な要素は四つです。Claude Code 本体、画像モデルを呼ぶための MCP サーバー、プロンプトを並べる表、保存先のフォルダです。

Claude Code のインストールは、macOS と Linux の場合は公式が用意した一行のスクリプトで済みます。curl -fsSL https://claude.ai/install.sh | bash を実行し、認証はログインか ANTHROPIC_API_KEY の環境変数で通します。Windows は PowerShell からの導入手順が別途案内されています。

画像モデル側は、Higgsfield(ヒッグスフィールド)と Recraft(リクラフト)が公式の MCP サーバーを公開しています。Higgsfield 側は動画と画像の両方を、Recraft 側はブランド素材とベクター寄りの画像の生成を担当します。姉妹記事のClaude MCP から Higgsfield を呼び出す接続手順とClaude MCP から Recraft を呼び出す接続手順に、鍵の取得と .mcp.json の書き方をまとめてあります。本稿ではその接続が済んでいる前提で進めます。

案件用のディレクトリを一つ切り、その下に prompts/、out/、.claude/skills/ の三つを置きます。この形が、以降の説明の起点になります。

プロンプト表を設計する|CSV か YAML で並べる

一括生成の中心は、プロンプトの表です。Claude Code に「表を読んで、一行ずつ画像モデルに投げて、返ってきた画像を保存して」という指示を出せる状態を作ります。

推奨の形式は二択です。CSV は Excel や Google スプレッドシートで編集しやすく、担当者と共有しやすい特徴があります。YAML はコメントを残せて、複数行のプロンプトを扱いやすい利点があります。案件の性格で決めます。

最小の CSV は次の形です。

id,prompt,aspect,model,seed
001,"モデル正面 ソフトライト 白背景",1:1,higgsfield-image,42
002,"モデル横顔 逆光 白背景",1:1,higgsfield-image,42
003,"商品パッケージ 俯瞰 白背景",4:5,recraft-v3,7

id は保存名と紐付ける識別子です。prompt は本文で、aspect は書き出しの比率です。model は呼び出す MCP 側のモデル名、seed は再現性のための固定値です。行を足していけば、そのまま一括処理の入力になります。

Claude Code からは、次のような自然言語で回せます。「prompts/shot_list.csv を読み、各行のプロンプトを model 列に指定されたモデルに送って、out/ に <id>.png として保存してください。既に同名のファイルがあればスキップしてください」。この指示だけで Claude Code は CSV を読み、MCP を通じて画像モデルを呼びます。返ってきた画像を保存し、既存分は避ける手順まで自分で組み立てます。

Claude の画像生成を MCP で Higgsfield と Recraft につなぐ

MCP は Claude Code から外部の道具を呼ぶための共通の口です。Anthropic が仕様を公開し、各社が対応サーバーを提供しています。Higgsfield と Recraft はどちらも公式に MCP サーバーを出しており、Claude Code から会話の中でそのまま呼び出せます。

接続の実体は、案件ディレクトリに置く .mcp.json です。ここに Higgsfield と Recraft のエンドポイントと鍵を書いておきます。Claude Code は起動時にサーバー一覧を読み、公開されたツール(generate_image、upscale など)を自分の道具として認識します。

呼び方はコード側で意識しなくて構いません。Claude Code に「Higgsfield の generate_image で 1024x1024 の画像を作って」と伝えます。Claude 側が引数を組み立て、MCP 越しに実行し、返ってきた URL からダウンロードします。表を回す場面では、この一連の動作を CSV の各行に対して繰り返します。

一つ注意点があります。MCP 越しの呼び出しは、実際に外部 API を叩きます。トークンの消費、モデル側の課金、レート制限がそのまま効きます。表の行数が多い場合は、後述のコスト上限の項の手当てを先に済ませます。

命名規則と保存場所を先に決める

一括生成で崩れやすいのは、ファイル名です。100枚を書き出したあとに「どれがどのプロンプトの分か」を追えなくなると、そこから先の差し戻しは全て手作業に戻ります。

規則は先に決めて、Skills に書きます。案件のディレクトリに .claude/skills/naming/SKILL.md を作り、命名の規則を平文で書きます。例を挙げます。

- 出力先: out/<案件id>/<日付>/<プロンプトid>_<モデル>_<seed>.png
- 案件id はディレクトリ名から自動で取る
- 日付は YYYY-MM-DD、生成の実行日
- 上書き禁止、既存があれば末尾に _r2, _r3 を付ける

Skills に置くと Claude Code は生成の前にこのファイルを読み、規則に沿って保存名を組み立てます。担当者が変わっても命名は同じ形で保たれます。案件が終わったら Skill ごと Git で残すと、次の案件の初期設定として使い回せます。

失敗時の再開とリトライ|途中から続ける

100行の CSV を回す途中には、モデル側のエラーや通信の切断、鍵の期限切れといった中断が起こります。この時、最初からやり直すのではなく、失敗した行だけを作り直せる状態を先に用意します。

実現の仕方は二段です。第一に、各行の結果を out/<案件id>/log.jsonl に追記します。成功したか、失敗の理由は何か、実際に呼んだモデルとパラメータを一行ずつ記録します。Claude Code に「行ごとに log.jsonl へ追記してください」と伝えれば、この記録は残せます。

第二に、次回の実行時に「log.jsonl を読み、成功済みの id はスキップし、失敗の id だけ再生成してください」と指示します。表の入力は変えず、記録側で差分を作る形です。これで、途中で止まっても続きから走らせられます。

同じ考え方は、生成物の微修正にも使えます。「id 007 と 012 だけ、prompt 末尾に『白背景を強めに』を足して再生成してください」と伝えます。Claude Code は該当の 2行だけ log.jsonl の指示を上書きし、差分だけを回します。

コスト上限を Hooks で守る

一括生成でこわいのは、意図せぬ大量呼び出しです。表を差し替えたつもりが桁を間違え、一晩で数十万トークンを消費するのはよくある事故です。この予防に Claude Code の Hooks が使えます。

Hooks は Claude Code の各工程の前後に処理を差し込める仕組みです。ツール呼び出しの前に走る Hook を設定しておくと、「呼び出しの回数と見積もり額を実行前に人に確認する」形が作れます。案件ディレクトリの .claude/settings.json に、次のようなブロックを足します。

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "mcp__higgsfield__.*|mcp__recraft__.*",
        "hooks": [
          { "type": "command", "command": "scripts/check_budget.sh" }
        ]
      }
    ]
  }
}

scripts/check_budget.sh の中では、今日の呼び出し回数を数えます。上限を超えていれば非零で終了して呼び出しを止める、という形が組めます。上限の管理を人の記憶に頼らず、仕組み側に持たせる考え方です。

サブエージェントで並列に分ける

100行を一本の直列で回すと、時間がかかります。Claude Code のサブエージェントは、この分担を担う仕組みです。親エージェントが表を五つに分割し、それぞれを別のサブエージェントに預けます。並列で生成を進める組み方ができます。

親側の指示は、次のような日本語で通ります。「shot_list.csv を 20行ずつに分けて、五つのサブエージェントに割り振ってください。各サブエージェントは、自分の担当範囲だけを MCP 経由で生成し、共通の log.jsonl に追記してください。全員が終わったら、失敗行だけをまとめて報告してください」。

並列化の効果は、モデル側のレート制限までです。Higgsfield と Recraft はそれぞれ 1分あたりのリクエスト上限を公開しています。その範囲に収まる分割数を選びます。Higgsfield 側は毎分ベース、Recraft 側は API プラン別で書き方が異なります。案件の入りで一度確認しておきます。

品質チェックを Skills に持たせる

書き出した画像を、そのまま納品には出しません。ブランド基準、NG 表現、指定した比率と解像度、埋め込み Exif の除去。この照合を Skills に持たせておくと、Claude Code は生成の直後に自分で確認します。外れた分だけを差し戻しの表に回します。

代表的な Skill 構成は三つです。第一は基準の一覧を書いた brand-check/SKILL.md。ロゴ位置、余白、指定色、書体を平文で並べます。第二は Exif や画素数を確認する exif-audit/SKILL.md。第三は差し戻し表を作る retry-list/SKILL.md。三つを組み合わせると、生成、審査、差し戻し表への集約、が同じ会話の中で完結します。

姉妹記事のClaude Code でブランドコンテンツを大量制作する実装では、Skills 側の設計をコピーや資料まで含めて扱っています。画像だけで完結させたい場合は、本稿の Skills 構成で足ります。

実際の制作パイプラインの流れ

以上の要素を一つの流れに並べると、次の形になります。担当者が Google スプレッドシートで shot_list.csv を編集し、案件ディレクトリに保存します。Claude Code を起動し、「shot_list.csv を回してください」と伝えます。Claude Code は naming Skill を読み、保存名を組み立てます。次にコスト上限の Hook を通過します。Higgsfield と Recraft を MCP 経由で呼び、画像を out/ に保存します。結果は log.jsonl に記録します。

サブエージェント側は、担当範囲を並列で処理します。書き出しが終わると brand-check Skill が全画像を照合し、外れた分を retry-list Skill が表に集約します。担当者はその表を見て prompt を直し、翌朝もう一度回します。手作業の残りは、prompt の修正と最終の目視だけです。

この形の利点は、量ではなく、再現性です。同じ CSV と同じ Skills を、翌月の案件でもそのまま使えます。担当者が変わっても、生成される画像の性格が保たれます。

FAQ

Q1. claude の画像生成を mcp で回す指示は、日本語で通りますか

A. 通ります。Claude Code は日本語での指示を扱えます。CSV の列名、Skills の記述、Hooks のスクリプトのコメントも日本語で書けます。ただし .mcp.json などの設定ファイルのキー名は、英語のまま扱うのが安全です。

Q2. Higgsfield と Recraft のどちらを主軸にすべきですか

A. 用途で分けます。人物や実写風の画像は Higgsfield 側、ブランド素材やベクター寄りの画像は Recraft 側が強みを出しやすいです。案件の性格に合わせて、CSV の model 列で行ごとに切り替える形が使いやすいです。

Q3. 100枚の一括生成に、どのくらい時間がかかりますか

A. モデル側のレート制限と、サブエージェントの分割数で変わります。Higgsfield の 1024x1024 を毎分 5枚として、直列で 20分、五つのサブエージェントで並列にして 4〜5分が目安です。実測は案件ごとに変わるため、最初の一回は 10枚で試すのが安全です。

Q4. 生成した画像の著作権は誰に帰属しますか

A. 各モデルの利用規約に従います。Higgsfield と Recraft はどちらも有料プランで商用利用を認めています。ただし範囲と条件はプランごとに異なります。案件の入り口で公式規約を確認し、契約側の書き方に落とします。

Q5. Claude Desktop ではなく Claude Code を選ぶ理由は

A. 一括生成は、ファイルの読み書きとスクリプト実行が中心の作業です。Claude Desktop はチャット中心の設計で、CSV の走査や log.jsonl の追記を伴う自動化には向きません。CLI 側の Claude Code は、この用途を前提に設計されています。

情報源