agency-multi-brand-pack
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAgency multi-brand pack
代理机构多品牌套件
Run generations for N retainer clients in one coordinated pass — each client's output strictly namespaced, each job gated by that client's brand rules, every run audit-ready for legal and billing.
N clients × M templates per client → one batch, zero cross-contamination. For agencies running weekly/monthly creative cycles across a client portfolio.
一次性为N个固定合作客户生成内容——每个客户的输出严格按命名空间隔离,每个任务受该客户的品牌规则约束,每次运行都可用于法律审计和账单核算。
N个客户 × 每个客户M个模板 → 一次批量处理,零交叉污染。 适用于在客户组合中每周/每月开展创意周期的代理机构。
When to Use
使用场景
- Weekly/monthly retainer refresh across multiple retainer clients
- Portfolio-wide seasonal re-skin (e.g. holiday refresh for all 8 retainer brands in one batch)
- Multi-client pitch week where each pitch needs its own branded mockup set
- Audit-ready production runs where finance/legal need a per-client spend breakdown
- Any agency workflow where "run the same pipeline for every client, with their rules" is the task
Do not use for single-client deep-production work — drop to or a client-specific workflow. Multi-brand is for portfolio parallelism.
agency-pitch-mockups- 为多个固定合作客户进行每周/每月的内容更新
- 全组合季节性重新设计(例如,一次性为8个固定合作品牌完成节日主题更新)
- 多客户提案周,每个提案需要专属的品牌化样机套装
- 可审计的生产运行,财务/法务部门需要按客户细分的支出明细
- 任何需要“为每个客户运行相同流程,并遵循其规则”的代理机构工作流
不适用于 单一客户深度生产工作——改用或客户专属工作流。多品牌套件适用于组合级并行处理。
agency-pitch-mockupsPrerequisites
前置条件
Ask the user (one message):
- Client list — slugs of clients in scope (e.g. ,
acme-fintech,zest-retail). Each must have a lockednova-travel.brand-system.json - Template set per client — same across all clients (hero + 3 social + OG) or does each client have a different deliverable?
- This week's theme / brief — one brief that gets re-expressed per client (e.g. "Q2 product refresh") or fully independent briefs per client?
- Output destination — Drive folder per client? Dropbox / S3? Internal repo path?
- Billing scope — tag each job with so per-client spend can be pulled from
client:<slug>gen-ai history - Concurrency ceiling — default 4, raise to 8 if clients all have premium rate limits
If any client in the list lacks or , stop and run for that client first — do not batch-generate without locked brand files.
brand-system.jsonbrand.mdagency-brand-scoping向用户询问(一次消息):
- 客户列表 — 目标客户的标识别名(例如、
acme-fintech、zest-retail)。每个客户必须有已锁定的nova-travel文件。brand-system.json - 每个客户的模板集 — 所有客户使用相同模板(首页横幅 + 3个社交模板 + OG模板),还是每个客户有不同交付物?
- 本周主题/简报 — 一个适用于所有客户的通用简报(例如“Q2产品更新”),还是每个客户使用独立简报?
- 输出目标 — 每个客户对应一个Drive文件夹?Dropbox/S3?内部代码库路径?
- 计费范围 — 为每个任务添加标签,以便从
client:<slug>中提取按客户细分的支出gen-ai history - 并发上限 — 默认4,若所有客户都有高级速率限制可提升至8
如果列表中的任何客户缺少或,请停止操作并先为该客户运行——没有锁定的品牌文件不得进行批量生成。
brand-system.jsonbrand.mdagency-brand-scopingHow to Run
运行步骤
1. VERIFY BRANDS → every client in scope has clients/<slug>/brand.md + brand-system.json
2. SCAFFOLD → build per-client manifest fragments, merge into one master manifest
3. ESTIMATE → gen-ai batch run <manifest.json> --dry-run + estimate; break into smaller batches if > $20
4. RUN → `gen-ai batch run <manifest.json>` with client names in job IDs and a resume-ready output dir
5. VERIFY → per-client output folders populated; cross-check any NULLs in results.json
6. AUDIT → export per-client spend + asset list for billing
7. DELIVER → folder per client, approved files uploaded or linked in the retainer channelRules:
- One folder per client. — never a shared output folder where filenames can collide.
out/<slug>/... - One brand context per job, not per batch — each job prompt should include the relevant client constraints. Batch-level generic prompts are the biggest source of cross-contamination.
brand.md - Use stable job IDs. Put client or campaign names in each so downloaded files and
idremain easy to group.results.json - Resume with by default.
gen-ai batch resume <output-dir>so mid-run failures don't cost the completed half.gen-ai batch resume <output-dir>
1. 验证品牌 → 所有目标客户都拥有clients/<slug>/brand.md + brand-system.json
2. 搭建框架 → 构建每个客户的清单片段,合并为一个主清单
3. 估算成本 → 执行gen-ai batch run <manifest.json> --dry-run进行估算;若超过20美元则拆分为更小批次
4. 运行任务 → 使用包含客户名称的任务ID和可恢复的输出目录执行`gen-ai batch run <manifest.json>`
5. 验证输出 → 每个客户的输出文件夹已填充;交叉检查results.json中的空值
6. 审计核算 → 导出按客户细分的支出和资产列表用于计费
7. 交付成果 → 每个客户对应一个文件夹,已批准的文件上传或链接至固定合作沟通渠道规则:
- 每个客户一个文件夹。— 绝对不要使用共享输出文件夹,避免文件名冲突。
out/<slug>/... - 每个任务对应一个品牌上下文,而非整个批次 — 每个任务提示应包含对应客户的约束。批次级通用提示是交叉污染的最大来源。
brand.md - 使用稳定的任务ID。在每个中加入客户或活动名称,以便下载的文件和
id易于分组。results.json - 默认使用恢复任务。这样中途运行失败不会导致已完成的部分白费。
gen-ai batch resume <output-dir>
Quick Reference
快速参考
json
{
"batch_kind": "multi-brand-pack",
"week": "2026-04-22",
"defaults": { "model": "recraftv4", "aspectRatio": "1:1" },
"clients": [
{ "slug": "acme-fintech", "templates": ["hero", "social-1", "og"] },
{ "slug": "zest-retail", "templates": ["hero", "social-1", "og"] }
]
}A scaffolding script expands this into the flat manifest the CLI expects. Keep the expanded manifest checked in under for reproducibility.
jobs[]out/retainer-<date>/manifest.jsonjson
{
"batch_kind": "multi-brand-pack",
"week": "2026-04-22",
"defaults": { "model": "recraftv4", "aspectRatio": "1:1" },
"clients": [
{ "slug": "acme-fintech", "templates": ["hero", "social-1", "og"] },
{ "slug": "zest-retail", "templates": ["hero", "social-1", "og"] }
]
}搭建脚本会将其扩展为CLI所需的扁平清单。将扩展后的清单签入以确保可复现性。
jobs[]out/retainer-<date>/manifest.jsonQuick Reference
快速参考
| Sub-task | Model | Notes |
|---|---|---|
| Per-client hero (default) | | Design-forward, respects brand palette |
| Per-client hero (photo-led brands) | | Override at the job level for photo-heavy clients |
| Social tiles (1:1, 9:16) | | Same brand rules, cheaper |
| OG / readable-headline slides | | Only reliable text rendering |
| Background replacement on product shots | | For ecomm retainers |
| Video cuts per brand | | Per-client concurrency 2 |
| 子任务 | 模型 | 说明 |
|---|---|---|
| 每个客户的首页横幅(默认) | | 设计导向,遵循品牌调色板 |
| 每个客户的首页横幅(以照片为主的品牌) | | 针对重照片客户在任务级别覆盖默认设置 |
| 社交卡片(1:1、9:16) | | 遵循相同品牌规则,成本更低 |
| OG/可读标题幻灯片 | | 唯一可靠的文本渲染模型 |
| 产品照片背景替换 | | 适用于电商固定合作客户 |
| 按品牌剪辑视频 | | 每个客户并发数为2 |
Procedure
流程规范
- One brand file per client, no shared "agency-style" rules. Each client pays for their own brand rigor.
- Namespace every output by slug — ,
out/<slug>/,drive:retainer-<date>/<slug>/job IDs. Redundant is good.results.json - Script the manifest. For > 3 clients, a Node/Python scaffold that iterates ×
clients[]beats copy-paste errors.templates[] - Estimate before every run. Multi-brand batches cross the $20 threshold easily — pause and confirm.
- Persist to the repo. Audit trail for legal, billing input, and reproducibility.
results.json - Keep a per-client prompt library at — manifest references these, edits propagate.
clients/<slug>/prompts/ - review brand-sensitive output. `` — better a missing asset than a mis-branded one.
- Weekly cadence deserves a cron + Slack webhook on completion; see §CI recipes.
gen-ai-batch.md
- 每个客户一个品牌文件,无共享“代理机构风格”规则。每个客户为自身的品牌严谨性付费。
- 所有输出按别名命名空间隔离 — 、
out/<slug>/、drive:retainer-<date>/<slug>/任务ID。冗余是好事。results.json - 脚本化清单。若客户超过3个,使用Node/Python搭建脚本遍历×
clients[]比复制粘贴更不易出错。templates[] - 每次运行前估算成本。多品牌批次很容易超过20美元阈值——暂停并确认。
- 将持久化到代码库。为法务提供审计追踪,为计费提供输入,并确保可复现性。
results.json - 为每个客户保留提示库,路径为— 清单引用这些提示,修改会自动传播。
clients/<slug>/prompts/ - 审核品牌敏感输出。宁可不生成资产,也不要出现品牌错误。
- 每周周期适合使用cron + Slack webhook通知完成状态;详见§CI 方案。
gen-ai-batch.md
Pitfalls
常见陷阱
- Brand cross-contamination — missing on a single job, entire batch suspect. Fix: per-job
rules, not batch-level.rules - Filename collisions without slug prefixes — client B's overwrites client A's.
hero.webp - Running without on a 100-job batch — one provider hiccup costs the whole run.
gen-ai batch resume <output-dir> - Shared Drive folder — client A sees client B's folder, NDA breach.
- Tagless jobs — can't produce per-client billing; finance asks, you can't answer.
- Flagship models applied everywhere — $40 weekly batch instead of $15. Draft-then-upgrade selectively.
- 品牌交叉污染 — 单个任务缺少,整个批次都可能受影响。解决方法:为每个任务设置
rules,而非批次级别。rules - 无别名前缀导致文件名冲突 — 客户B的覆盖客户A的同名文件。
hero.webp - 在100个任务的批次中未使用— 一次供应商故障就会导致整个运行失败。
gen-ai batch resume <output-dir> - 共享Drive文件夹 — 客户A看到客户B的文件夹,违反保密协议。
- 无标签任务 — 无法生成按客户细分的账单;财务询问时无法答复。
- 所有任务都使用旗舰模型 — 每周批次成本40美元而非15美元。选择性地先草稿再升级。
Verification
验证方法
Run to confirm authentication, then re-run the failed command with .
gen-ai whoami--debug运行确认身份验证,然后添加参数重新运行失败的命令。
gen-ai whoami--debugStep 1: Verify brands + build manifest
步骤1:验证品牌 + 构建清单
bash
CLIENTS=("acme-fintech" "zest-retail" "nova-travel")
WEEK=$(date +%Y-%m-%d)bash
CLIENTS=("acme-fintech" "zest-retail" "nova-travel")
WEEK=$(date +%Y-%m-%d)Sanity check: every client has a brand file
完整性检查:每个客户都有品牌文件
for c in "${CLIENTS[@]}"; do
test -f "clients/$c/brand.md" || { echo "Missing brand.md for $c"; exit 1; }
done
undefinedfor c in "${CLIENTS[@]}"; do
test -f "clients/$c/brand.md" || { echo "$c缺少brand.md"; exit 1; }
done
undefinedStep 2: Per-client manifest fragments, merged
步骤2:每个客户的清单片段,合并为完整清单
bash
cat > /tmp/multi-brand-$WEEK.json <<'EOF'
{
"defaults": { "model": "recraftv4", "aspectRatio": "1:1" },
"jobs": [
{ "id": "acme-fintech/hero", "prompt": "acme-fintech Q2 hero — editorial, restrained", "aspectRatio": "16:9" },
{ "id": "acme-fintech/og", "prompt": "acme-fintech OG — headline: Q2 launch", "aspectRatio": "1200x630", "model": "ideogram-v3" },
{ "id": "zest-retail/hero", "prompt": "zest-retail Q2 hero — playful, bold color", "aspectRatio": "16:9" },
{ "id": "nova-travel/hero", "prompt": "nova-travel Q2 hero — cinematic wide", "aspectRatio": "16:9", "model": "flux-2-pro" }
]
}
EOF
gen-ai batch run /tmp/multi-brand-$WEEK.json --dry-run
gen-ai batch run /tmp/multi-brand-$WEEK.json -c 4 -o "out/retainer-$WEEK"The in each job creates the per-client subfolder automatically — outputs land at plus .
/idout/retainer-<date>/<client-slug>/<asset>.webpresults.jsonbash
cat > /tmp/multi-brand-$WEEK.json <<'EOF'
{
"defaults": { "model": "recraftv4", "aspectRatio": "1:1" },
"jobs": [
{ "id": "acme-fintech/hero", "prompt": "acme-fintech Q2首页横幅 — 编辑风格,简约克制", "aspectRatio": "16:9" },
{ "id": "acme-fintech/og", "prompt": "acme-fintech OG模板 — 标题:Q2发布", "aspectRatio": "1200x630", "model": "ideogram-v3" },
{ "id": "zest-retail/hero", "prompt": "zest-retail Q2首页横幅 — 活泼风格,大胆配色", "aspectRatio": "16:9" },
{ "id": "nova-travel/hero", "prompt": "nova-travel Q2首页横幅 — 电影感宽屏", "aspectRatio": "16:9", "model": "flux-2-pro" }
]
}
EOF
gen-ai batch run /tmp/multi-brand-$WEEK.json --dry-run
gen-ai batch run /tmp/multi-brand-$WEEK.json -c 4 -o "out/retainer-$WEEK"每个任务中的会自动创建客户专属子文件夹——输出将保存到,同时生成。
id/out/retainer-<date>/<client-slug>/<asset>.webpresults.jsonStep 3: Per-client audit + delivery
步骤3:按客户审计 + 交付
bash
undefinedbash
undefinedPer-client completion breakdown from results.json
从results.json获取按客户细分的完成情况
node -e '
const r = require("./out/retainer-2026-04-22/results.json");
const by = {};
for (const j of r.jobs) {
const c = j.id.split("/")[0];
by[c] ||= { completed: 0, failed: 0 };
by[c][j.status] = (by[c][j.status] || 0) + 1;
}
console.table(by);
'
Create an archive sub-folder `retainer-$WEEK/<client-slug>/` per client, drop a summary with asset list + estimated spend from `gen-ai pricing`. Share only the per-client folder link — never the master folder.node -e '
const r = require("./out/retainer-2026-04-22/results.json");
const by = {};
for (const j of r.jobs) {
const c = j.id.split("/")[0];
by[c] ||= { completed: 0, failed: 0 };
by[c][j.status] = (by[c][j.status] || 0) + 1;
}
console.table(by);
'
为每个客户创建归档子文件夹`retainer-$WEEK/<client-slug>/`,放入包含资产列表和从`gen-ai pricing`获取的估算支出的摘要。仅分享客户专属文件夹链接——绝对不要分享主文件夹。Cost & time
成本与时间
| Phase | Typical spend | Typical time |
|---|---|---|
| Scoping (per new client, one-time) | ~$1 | 30 min |
| Production (weekly retainer, 8 clients × 4 assets) | $15-30 | 20-40 min batch + review |
| Flagship-model upgrade pass (2-3 hero upgrades) | $5-10 | 10-15 min |
Per-client weekly spend should be trackable from — if it isn't, the tagging is broken.
results.json| 阶段 | 典型支出 | 典型时间 |
|---|---|---|
| 品牌界定(每个新客户,一次性) | ~1美元 | 30分钟 |
| 生产(每周固定合作,8个客户 × 4个资产) | 15-30美元 | 20-40分钟批量处理 + 审核 |
| 旗舰模型升级(2-3个首页横幅升级) | 5-10美元 | 10-15分钟 |
每周按客户细分的支出应可从追踪——若无法追踪,则标签设置存在问题。
results.jsonSee also
相关文档
- — required prerequisite per client
workflows/agency-brand-scoping/ - — per-client pitch variant
workflows/agency-pitch-mockups/ - — package retainer history at engagement end
workflows/agency-client-handoff/ - — concurrency,
gen-ai-batch.md, audit recipesgen-ai batch resume <output-dir>
- — 每个客户必需的前置流程
workflows/agency-brand-scoping/ - — 按客户细分的提案变体
workflows/agency-pitch-mockups/ - — 合作结束时打包固定合作历史记录
workflows/agency-client-handoff/ - — 并发设置、
gen-ai-batch.md、审计方案gen-ai batch resume <output-dir>