用途
nano-banana-image-ad(Arcads)用于通过 Arcads 外部 API 生成一张或多张独立的 Meta 图片广告创意。它调用 POST /v2/images/generate,使用 Nano Banana 模型系列(默认 nano-banana-2),并把生成的图片路径交给用户的 Meta 广告构建技能;本技能不负责上传到 Meta。
主要能力
- 生成模式:image(默认,全新广告图,需 --prompt、--aspect-ratio,可选 --image-ref 最多 14 张);image_edit(修改 --source 指定图片,需 --prompt、--source,可选 --image-ref 最多 14 张)。
- 画幅:Arcads 的 /v2/images/generate 端点只接受 1:1、16:9、9:16。其他比例模板需回退到 1:1 再后期裁剪,或改用支持完整 Meta 比例集的 KIE nano-banana-image-ad 同类技能。
- 模型变体:nano-banana-2(默认,Gemini 2.5 Flash Image);nano-banana-pro(Gemini 3 Pro Image,适合主视觉、跨次一致角色、材质写实关键镜头,积分更高);nano-banana-edit(偏重局部重绘,仅配合 image_edit 使用);nano-banana(旧版,仅用户明确要求时使用)。其他模型会被拒绝;若用户要求 gpt-image-2,应改用 chatgpt-image-ad。
- 硬性规则:输出中不得出现平台或截图外观元素(NO_CHROME_SUFFIX 始终开启,仅 --allow-chrome 可覆盖);边缘安全与字形安全后缀默认开启,除非显式 --no-safe-zone;参考图最多 14 张,由脚本强制。
使用方式
前置条件:.env 中含 ARCADS_BASIC_AUTH(优先)或 ARCADS_API_KEY;可选 PRODUCT_ID、PROJECT_ID 用于会话目录组织;参考图位于本地磁盘,脚本内部处理 Arcads 预签名上传流程。
配置:基础地址为 https://external-api.arcads.ai(或 ARCADS_BASE_URL);认证为 HTTP Basic,优先使用预编码的 ARCADS_BASIC_AUTH,否则编码 ARCADS_API_KEY;生成接口 POST /v2/images/generate,轮询 GET /v1/assets/{id} 直到状态为 generated;参考图上传通过 POST /v1/file-upload/get-presigned-url 获取 {presignedUrl, filePath},PUT 字节到 presignedUrl,再把 filePath 传入 referenceImages,该上传为一次性,脚本会为每个变体重新上传。
工作流程:预检(凭证、可选会话目录、健康检查 curl -sf -H "$AUTH" "$BASE_URL/v1/products" 返回 200)→ 收集输入(种子提示词、模式、源图、参考图、变体数量、画幅、模型变体)→ 提示词改写(对照共享模板库,确认 Nano Banana 适用,填充占位符并请用户确认)→ 强制积分成本确认(从 logs/arcads-api.jsonl 读取历史,突出模型变体差异,等待明确确认)→ 生成(脚本示例:
~/.claude/skills/nano-banana-image-ad/scripts/generate_image.py
--prompt "<rewritten>"
--aspect-ratio <ratio>
--n <N>
--image-ref <product.png>
--out ./generated
--env-file .env
主视觉可加 --model nano-banana-pro;编辑运行使用 --mode image_edit --model nano-banana-edit --source <existing.png>。stdout 每行一个 JSON 变体,记录 variant、path、asset_id、width、height、prompt、mode、aspect_ratio、model,并写入日志)→ 强制视觉质检(检查小字乱码、多指/肢体数量错误、文字标识漂移、跨变体角色一致性漂移,问题需改写提示词重生成,每个变体最多重试 2 次)→ 确认并交付(展示所有路径,询问全部使用/指定使用/重生成/取消,可选写入 ./generated/run-<ts>.jsonl)。
常见错误:401/403 修正 .env;422 校验或审核问题需收紧提示词、确认画幅在支持集合内、--n ≤ 5;500 UNKNOWN_ERROR 通常是预签名 filePath 过期,脚本会按变体重传,若持续存在则附 asset_id 报问题。
适用场景
适合通过 Arcads 批量产出 Meta 图片广告素材、复用共享提示词模板库进行广告图改写、对已有图片做局部重绘、也需要在生成前控制积分成本的营销与创意工作流。
限制
不负责 Meta 上传;不生成 gpt-image-2 图片(改用 chatgpt-image-ad);不支持视频、轮播、DCO 广告,仅图片;不撰写广告文案;不编辑共享提示词库(改用 image-ad-clone)。