marketer-ad-variant-factory について
承認済みの広告コンセプトを、A/B テスト用の名前付き画像バリエーションにまとめて展開するスキルです。要素やアスペクト比を変え、広告プラットフォームへのアップロード用に出力を整えるマーケティングチーム向けです。
主な機能
- 01ヒーロー素材を基にした一括生成
- 02明示的なバリエーション軸とマトリクス
- 03プラットフォーム別アスペクト比
- 04規則に基づく出力名
- 05未完了のバッチジョブ再開
活用シーン
- 01承認済み広告から A/B テスト素材を作成
- 02複数プラットフォーム向けのサイズを準備
- 03ドラフト画像でクリエイティブ案を検討
- 04広告アカウントへのアップロード用に成果物を整理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ picsart/ gen-ai-skills --skill marketer-ad-variant-factoryインストール後、Claude Code で/marketer-ad-variant-factoryを入力して読み込まれたか確認します。
詳細
広告バリアントファクトリー
承認済みのコンセプトを1つ用意し、Meta、Google、TikTok、PinterestでのA/Bテスト向けに、配信可能な広告バリアントを10〜30種類作成します。スピード(並列バッチ処理)と、広告アカウントへの直接アップロード(決定論的な命名)を重視しています。
使用するタイミング
- ヒーロー画像/コンセプトがあり、A/Bテスト用に見出し × ビジュアル × CTA × 背景のバリアントを多数作成したい場合。
- 「この広告のバリアントをMeta向けに30種類作成して」/「テストマトリックスを生成して」/「このクリエイティブを増やして」。
- 新しい広告セットのローンチ準備で、9:16、1:1、16:9の各サイズについて、ビジュアルバリアントを3〜5種類ずつ用意する必要がある場合。
- 単一のヒーロー画像には使用しないでください(
gen-ai generateを使用)。複数チャネル向けのクリエイティブにも使用しないでください(marketer-campaign-kitを使用)。このスキルは、複数チャネルに幅広く展開するのではなく、1つのコンセプトを深掘りするためのものです。
前提条件
ブリーフに含まれていない場合は、最初に確認してください(質問を1つのメッセージにまとめます)。
- ヒーローアセット — 承認済みのコンセプト画像のパスまたはURL。
- 変更する軸 — ビジュアルの方向性(1〜5)、背景/シーン(1〜5)、焦点の構図(クローズアップかワイドか)、任意:色の処理。
- プラットフォーム/アスペクト比 — Metaは9:16と1:1、TikTokは9:16、ディスプレイ広告は16:9が必要です。対象を確認してください。
- バリアント数 — 合計でいくつ必要ですか?初回テストでは10〜15種類、幅広く検討する場合は30種類以上が一般的です。
- 命名規則 — 広告プラットフォームで必要な形式は何ですか(例:
{campaign}_{axis}_{variant}_{size}.webp)。 - ブランドガイドライン — 色(hex)、使用禁止要素、既存のbrand.mdはありますか?
ユーザーが「たくさん」とだけ言った場合は、ビジュアル5種類 × 3つのアスペクト比 = 15種類を既定値とします。
実行方法
- ヒーロー画像を基準にします。 ヒーロー画像は参照画像です。各バリアントは、いとこではなく兄弟のような印象にしてください。ローカルにある場合は、後続のジョブからURLを参照できるよう、まずDriveにアップロードします。
- バリアントマトリックスを定義します。 軸を明確にします。ビジュアルの方向性5種類 × アスペクト比3種類 = 15ジョブです。8つの軸を混在させないでください。テスト結果が読み取れなくなります。
- マニフェストを作成します。 各バリアントにつき1ジョブを用意し、広告プラットフォームの命名規則に対応する一意の
idを設定します。imageフィールドはヒーロー画像を参照します。 - 見積もりとドライランを行います。
gen-ai batch run variants.json --dry-run - 同時実行数を6〜8にして実行します。 画像バリアントは高速で独立しているため、既定値の3より同時実行数を増やします。429が発生していないか確認し、発生した場合は4に下げます。
gen-ai batch run variants.json -c 8 -o ./ad-variants - 監査して再開します。
results.jsonから未完了のジョブを絞り込み、再試行します。gen-ai batch resume ./ad-variants - 引き渡します。 広告プラットフォームへのアップローダーでは、標準的な命名規則に従ったフラットなフォルダーが必要です。
results.jsonには、Meta Ads Manager/TikTok Ads/Google AdsへのCSV直接インポートに使える、すべてのパスとURLが記載されています。
クイックリファレンス
命名規則{campaign}_{visual}_{composition}_{size}を使うと、後続のアップロードを整理しやすくなります。
{
"defaults": {
"model": "recraftv4",
"negativePrompt": "low quality, watermark, busy background",
"imageUrls": ["https://cdn-pipeline-output.picsart.com/.../hero.webp"]
},
"jobs": [
{ "id": "launch_bright_closeup_9x16", "prompt": "bright daylight variant, close-up focal, warm tones", "aspectRatio": "9:16" },
{ "id": "launch_bright_closeup_1x1", "prompt": "bright daylight variant, close-up focal, warm tones", "aspectRatio": "1:1" },
{ "id": "launch_bright_closeup_16x9", "prompt": "bright daylight variant, close-up focal, warm tones", "aspectRatio": "16:9" },
{ "id": "launch_studio_wide_9x16", "prompt": "studio lighting, wide shot, neutral backdrop", "aspectRatio": "9:16" },
{ "id": "launch_studio_wide_1x1", "prompt": "studio lighting, wide shot, neutral backdrop", "aspectRatio": "1:1" },
{ "id": "launch_studio_wide_16x9", "prompt": "studio lighting, wide shot, neutral backdrop", "aspectRatio": "16:9" },
{ "id": "launch_urban_medium_9x16", "prompt": "urban street setting, medium shot, cinematic", "aspectRatio": "9:16" },
{ "id": "launch_urban_medium_1x1", "prompt": "urban street setting, medium shot, cinematic", "aspectRatio": "1:1" },
{ "id": "launch_urban_medium_16x9", "prompt": "urban street setting, medium shot, cinematic", "aspectRatio": "16:9" }
]
}
ビジュアル3種類 × 3つのアスペクト比で9種類です。ビジュアルの行を追加して、15種類または30種類に増やせます。countフィールドは使わず、バリアントごとにジョブを1つ出力してください。
クイックリファレンス
| サブタスク | モデル | 理由 |
|---|---|---|
| ヒーロー画像からブランドの一貫性を保ったバリアントを作成(既定) | recraftv4 | 多数のレンダリングにわたってデザイン言語の一貫性を保つ能力が最も高い |
| 写真のようにリアルな商品/ライフスタイルのバリアント | flux-2-pro | 写真のようなリアルさと指示への忠実度が最も高く、Meta/TikTokの商品広告に最適 |
| 読みやすい見出しテキストを組み込んだバリアント | ideogram-v3 | 判読できるコピーを安定して生成できる唯一のモデル。テキストを重ねられない場合に使用 |
| バリアント間で顔/キャラクターの一貫性を維持 | gemini-3-pro-image | Nano Banana Proは被写体の同一性を最も確実に保つ |
| 固定した被写体の背景を差し替え | gen-ai change-bg(サブコマンド) | 被写体をピクセル単位で完全に保持し、シーンだけを差し替える |
| 本番実行前の超低コストな試行 | gemini-3.1-flash-image | 約5倍安価で高速です。有効なプロンプトを選ぶために使い、その後flux/recraftで再生成します |
gen-ai models --mode imageでIDを確認してください。
手順
- バリエーションの軸を明確にする。 ビジュアル、構図、色、設定など、最初に3〜4個の軸を決めます。無計画なプロンプトではA/Bテストの結果が読み取れなくなります。
- すべてのジョブでヒーロー画像を参照画像として使う。
defaultsのimageフィールドを使用します。すべてのバリエーションにブランドのルックが引き継がれます。 - 決定的な命名規則で広告プラットフォームに直接インポートする。
{campaign}_{visual}_{composition}_{size}形式なら、Meta/TikTok/Google 広告の CSV テンプレートで正しく解析できます。 - 低コストで下書きを作り、選んだものをアップグレードする。
gemini-3.1-flash-imageで30個のバリエーションを約1ドルで生成します。上位8個を選び、それらをflux-2-proまたはrecraftv4で再生成して、最終アップロード用に仕上げます。 - プラットフォームごとにテキスト用の安全領域を確保する。 Meta Stories では上部に250px、下部に310pxを確保します。TikTok では UI 用に下部に約300pxを確保します。キャンバス中央の60%に主要な被写体を配置するようプロンプトで指定します。
- 画像バリエーションの同時実行数は6〜8にする。 画像生成は高速なので、同時実行数を増やせば30個のバリエーションも2分以内に生成できます。429エラーが発生した場合は4に下げます。
- 結果を黙って上書きしない。 バリエーションごとに一意の
idを指定すれば、出力ファイル名も一意になり、安全に再開でき、衝突も起きません。 - プロンプトで成果を謳わない。 「バズる広告、1,000万回再生」と書いても出力は改善しません。フレーミング、被写体、照明、雰囲気を記述します。
注意点
- 軸が多すぎるとA/Bテストの結果が読み取れなくなります。 変更する軸は最大3〜4個にします。1つのバリエーションでビジュアル、構図、色、設定、見出しをすべて変更すると、何が良かったのか特定できません。
- ヒーロー画像の参照を忘れないでください。
defaultsにimageがないと、バリエーションごとに見た目がばらつき、ひとつのキャンペーンとしてまとまりません。 - プラットフォームに合ったアスペクト比を選んでください。 TikTok は全面表示の9:16、Meta Reels は9:16、Meta フィードは1:1または4:5(現在は1.91:1ではありません)、Google Display は300×250/728×90/160×600です。バリエーションを展開する前に、広告セットの要件を確認してください。
- ローカライズ計画がない状態で画像内にテキストを入れないでください。 画像に埋め込んだコピーはローカライズを妨げます。1つの市場のみを対象とする場合を除き、広告コピーは広告マネージャーのオーバーレイに入れます。
- 下書きの段階を設けず、一度に100個のバリエーションを生成しないでください。 最高品質の画像を100枚フルプライスで生成すると、クレジットが無駄になります。下書き → 選定 → アップグレードの順に進めます。
- 再実行時に結果を上書きしないでください。 実行ごとに出力ディレクトリを分けます(
./variants-$(date +%F-%H%M))。これにより、再開と監査を確実に行えます。
確認
gen-ai whoami を実行して認証を確認し、失敗したコマンドを --debug を付けて再実行します。
コストと所要時間
| バリエーション数 | モデル | 1個あたりのクレジット | 合計 | 同時実行数8の場合の所要時間 |
|---|---|---|---|---|
| 9個のバリエーション | recraftv4 | 約2 | 約18 | 約45秒 |
| 15個のバリエーション | recraftv4 | 約2 | 約30 | 約90秒 |
| 30個のバリエーション(試作) | gemini-3.1-flash-image | 約0.5 | 約15 | 約2分 |
| 30個のバリエーション(最高品質) | flux-2-pro | 約2 | 約60 | 約3分 |
| 下書き30個+アップグレード8個 | 混合 | 約30 | 合計約4分 |
gen-ai batch run variants.json --dry-run で必ず確認し、見積もりがユーザーの上限を超える場合は中断してください。
関連項目
gen-ai-use/SKILL.md— CLI の全リファレンス(フラグ、モデルカタログ、認証)gen-ai-batch/SKILL.md— マニフェストの形式、同時実行数の調整、再開gen-ai-workflows/SKILL.md— 複数ステップの一般的なパターンworkflows/marketer-campaign-kit/SKILL.md— 先に実行してヒーロー画像とブランドのルックを確立workflows/marketer-localize-campaign/SKILL.md— 後に実行して、選ばれたバリエーションを各市場向けに展開