なぜ「Claude Code で画像を一括」という組み方になるのか
生成モデル単体で 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 を通じて画像モデルを呼び、返ってきた画像を保存し、既存分は避ける、という手順を組み立てます。
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 側の rate は毎分ベース、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 code 画像 一括の指示は、日本語で通りますか
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 は、この用途で設計されています。