Loading...
Loading...
Fan out 50+ ad variants from one hero image.
npx skill4agent add picsart/gen-ai-skills marketer-ad-variant-factorygen-ai generatemarketer-campaign-kit{campaign}_{axis}_{variant}_{size}.webpidimagegen-ai batch run variants.json --dry-rungen-ai batch run variants.json -c 8 -o ./ad-variantsresults.jsongen-ai batch resume ./ad-variantsresults.json{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" }
]
}count| Sub-task | Model | Why |
|---|---|---|
| Brand-consistent variants from a hero (default) | | Strongest at keeping design language consistent across many renders |
| Photoreal product / lifestyle variants | | Best photoreal adherence, great for Meta/TikTok product ads |
| Variants with readable headline text baked in | | Only model that reliably renders legible copy — use when you can't overlay |
| Face/character continuity across variants | | Nano Banana Pro locks subject identity best |
| Background swaps on a fixed subject | | Keeps the subject pixel-identical, only swaps the scene |
| Ultra-cheap exploration before the flagship run | | ~5x cheaper, fast — use to pick winning prompts, then regenerate with flux/recraft |
gen-ai models --mode imageimagedefaults{campaign}_{visual}_{composition}_{size}gemini-3.1-flash-imageflux-2-prorecraftv4idimage./variants-$(date +%F-%H%M)gen-ai whoami--debug| Variant count | Model | Credits each | Total | Wall time @ concurrency 8 |
|---|---|---|---|---|
| 9 variants | | ~2 | ~18 | ~45s |
| 15 variants | | ~2 | ~30 | ~90s |
| 30 variants (exploration) | | ~0.5 | ~15 | ~2 min |
| 30 variants (flagship) | | ~2 | ~60 | ~3 min |
| 30 drafts + 8 upgraded | mixed | ~30 | ~4 min total |
gen-ai batch run variants.json --dry-rungen-ai-use/SKILL.mdgen-ai-batch/SKILL.mdgen-ai-workflows/SKILL.mdworkflows/marketer-campaign-kit/SKILL.mdworkflows/marketer-localize-campaign/SKILL.md