maomomo-article-writer/references/visual-assets.md

21 KiB
Raw Blame History

MAOMOMO 配图与视觉资产规则

需要生成、准备、插入或更新配图时,先读本文件。

配图交付原则

  • 完整文章默认配独立 PNG短文章 4-6 张,普通攻略 6-8 张,长教程 / 多活动整理 8-12 张。
  • 不为凑数量硬加图;每张图必须服务正文。
  • 每张图独立生成或准备,不要用一张拼图、长图或总图代替全部。
  • 出图前先把全部图片 prompt 写入 prompts/ 或 manifest 文件;不要在聊天里输出超长 prompt 代替文件。
  • 先只生成一张样张,优先封面图;用户确认样张前不得生成剩余图片。
  • 样张确认后,后续图片使用同一生图后端、同一视觉系统和同一质量配置。
  • 图片生成按“一张图一个 job / 一次请求 / 一次 QA”推进运行环境支持子 agent 时,可以一图一个子 agent 并发,但不要一次请求多张图。
  • 最终原始图保存到 origin_image/,通过 QA 后同步到 Markdown 引用的 assets/
  • 生成图必须是“示意图 / 信息图 / 教程视觉”,不得伪造真实 App 截图、账单或官方页面。
  • 用户提供真实截图时,优先用真实截图,并隐去姓名、账号、余额、地址、手机号、二维码、交易号等个人信息。
  • 真实银行 / 券商 / 钱包截图、账单、交易记录、客服记录等默认视为敏感素材;需要上传图片 API 做编辑或重绘前,必须先向用户确认实际 API 地址 / baseURL、接口归属、是否为用户自有兼容服务以及是否允许外发。不要默认把配置里的图片 API 视为公共第三方,也不要在未确认具体接收方时上传真实截图。若用户未确认、确认不允许或安全策略 / 上下文不允许外发,即使用户要求“用 GPT Image2 美化截图”也改用“GPT Image2 生成空白展示模板 + 本地嵌入真实截图”的流程。
  • 空白模板流程:图片后端只生成不含真实截图、账单文字、交易数字和伪造 App UI 的展示框 / 卡片背景;随后用本地工具把真实截图完整嵌入预留区域。本地嵌入可以做裁切适配、圆角、阴影、边框和背景排版,但不得修改截图内部文字、金额、日期、账户、交易描述或任何证据内容。
  • 使用空白模板流程时,prompt / manifest / deck_spec.json / 状态文件必须记录模板生成后端、真实截图本地嵌入方式、原截图路径和 QA 结论;最终回复说明真实截图未上传到图片接口。
  • 每张图必须包含清晰可见的 MAOMOMO 标识。
  • 每张图的可见文字必须受控:只允许出现该图指定的业务文案、MAOMOMO 和已核对允许出现的品牌 / 支付标识不得添加副标题、风格标签、prompt 描述、说明文字、额外 slogan 或无关文字。
  • 不要用 Playwright、HTML/CSS、SVG、Pillow、canvas、本地拼贴或手工覆盖文字替代图片生成后端。

可见文字与 prompt 边界

  • 视觉风格只作为后台画面描述,不得成为画面文字。
  • 生成用 prompt 不要写容易被模型照抄到画面里的中文风格标签,例如“暖橙金融教程风”“数据仪表盘风”“手绘便签风”“清爽编辑部风”。
  • 把风格名改写成可观察的视觉描述:白底、暖橙强调、信息卡片、猫咪向导、清晰标题、留白充足、表格感、时间线、轻纸感等。
  • prompt 必须写明:画面只允许出现指定业务文案、MAOMOMOallowed_brand_marks 中已核对允许出现的品牌 / 支付标识不要添加副标题、风格标签、prompt 描述、说明文字、额外 slogan 或无关文字。
  • style 字段可保留内部风格 ID例如 warm-fintech-guide,但完整 prompt 字段里不要把中文风格名当成可见文案写入。

推荐写法:

明亮白底,暖橙强调色,干净信息卡片,友好的白橘猫作为向导,中文标题清楚,画面包含 MAOMOMO 标识。可见文字只允许出现「先报名再看门槛和封顶」和「MAOMOMO」。

不推荐写法:

MAOMOMO 暖橙金融教程风,画出一张手绘便签风仪表盘图。

金融卡面与支付网络核对

  • 金融活动配图中只要出现信用卡、支付卡、卡组织、支付网络或银行卡样式,必须先根据官方材料、用户截图或用户提供的卡面参考图核对。
  • 用户提供卡面或 Logo 参考图时,把原始素材保存到 sources/,例如 sources/gba-unionpay-card-reference.png;不要只留在聊天上下文里。
  • 用户没有提供 Logo / 卡面素材但画面需要银行、卡组织、支付机构、酒店、OTA 或活动品牌标识时,主动尽力查找准确标识,不要先默认画通用符号。
  • 查找优先级:用户素材 > 官方活动页 / 条款 PDF / App 或官网截图 > 官方品牌资源页 / media kit / press kit > 官方社交账号或应用商店页面 > 可信百科或新闻配图。只有前几类无法获得时,才使用第三方汇总站,并必须交叉核对。
  • 找到标识后,把原始文件、截图或网页证据保存到 sources/,并记录来源 URL、读取日期、用途和核对结论不要只把来源写在聊天里。
  • prompt、manifest 和 deck_spec.json 中记录参考素材路径、卡组织 / 支付网络、允许出现的品牌 / 支付标识、来源 URL 和核对依据。
  • 不得把银联 / UnionPay 卡画成 Mastercard、Visa、American Express 或其他卡组织;不确定时画“无卡组织标识的通用支付卡”。
  • Mastercard、Visa、UnionPay、银行、支付宝、微信支付、酒店、OTA 等 Logo 或支付网络标识,只要已经由官方材料、用户素材或用户明确口径核对正确,就可以作为辅助识别出现。
  • 已核对的第三方 Logo 必须尺寸克制、位置辅助,不得抢占、替代或压过 MAOMOMO 主标识;封面尤其要让 MAOMOMO 仍是最清楚的品牌锚点。
  • 如果当前环境无法联网、官方素材无法读取或标识版本仍不确定,记录 blocker除非用户确认否则不要凭记忆画真实 Logo改用通用卡片、通用 POS、通用酒店图标或文字描述。
  • 如果官方活动限定某卡组织或指定卡面,图片 QA 必须把卡组织 / 支付网络列为必检项。

推荐记录字段:

{
  "reference_assets": ["sources/gba-unionpay-card-reference.png"],
  "brand_mark_sources": [
    {
      "name": "UnionPay",
      "source_url": "https://example.com/official-unionpay-source",
      "source_type": "官方活动页 / 官方品牌资源页 / 用户素材",
      "checked_at": "YYYY-MM-DD"
    }
  ],
  "payment_network": "UnionPay / 银联",
  "allowed_brand_marks": ["UnionPay", "中信银行(国际) GBA 卡面识别"],
  "card_art_rule": "根据用户卡面参考图画银联 GBA 双币信用卡;不得出现 Mastercard 或 Visa 标识UnionPay 标识只能小尺寸辅助出现,不能抢 MAOMOMO 主标识位置"
}

封面信息层级

  • 封面只放最高优先级结论和少量核心数字,服务“读者一眼知道这篇讲什么、值不值得点开”。
  • 不把复杂计算结论、全年理论上限、长公式、多重限制、详细规则或小字说明塞进封面。
  • 计算过程、月度 / 年度理论上限、封顶拆解、资格分支和详细条款,应放到计算图、总览图或正文。
  • 封面核心文案建议 1 句主标题 + 1-3 个短数字 / 短标签;如果超过手机端一眼可读的密度,拆到下一张图。

金额与币种写法

  • 发布稿、图片文案、prompt、manifest、deck_spec.json、alt text 和 speech.md 中,港币金额统一写 HKD 1,000
  • 不使用港币符号写法,例如 HK$1,000港币 1,0001,000 港币
  • 来源原文抽取文件、官方截图 OCR 或原文摘录可以保留来源写法;它们不作为发布内容检查对象。
  • 如果来源使用港币符号,改写到发布内容时同步转换为 HKD

风格选择

如果用户没有指定视觉方向,生成图片前先读 references/recommended-styles.md,给 2-3 个可选风格,并推荐一个。确认后,整篇文章的配图保持同一套视觉身份:稳定的配色、猫咪造型、标题区、图标语言和信息密度;不同图片可以根据用途变化构图。

小红书卡片模式先确认两件事:

  • 比例:3:49:16
  • 视觉方向:2D 扁平风3D 轻拟物风。用户没指定时,推荐 2D 扁平风,因为信息卡片更清爽、教程 / 规则说明更稳,也更不容易出现中文文字翻车;3D 轻拟物风 更适合封面、活动感和金融产品展示。

小红书卡片一旦确认 2D3D,整组图片必须继承同一个 visual_direction,不得中途混用。

默认推荐逻辑:

  • 活动 / 返现 / 港卡攻略:优先 warm-fintech-guide
  • 规则、门槛、费用、返现计算和产品对比:优先 data-card-dashboard
  • SEO 长文、经验整理、品牌感更强的文章:优先 clean-editorial
  • 保姆式教程、避坑经验和轻量操作步骤:优先 handdrawn-note
  • 小红书 / 4 图看完 / 多图卡片:必须用 xiaohongshu-vertical,并按用户确认生成 3:4 或 9:16 竖图。

可选风格:

风格名 适合场景 视觉方向
warm-fintech-guide 默认 MAOMOMO 金融攻略、港卡、银行活动 白底、暖橙强调色、干净卡片、白橘猫向导
clean-professional 正式规则整理、开户 / 保号教程 浅色背景、蓝绿和暖橙强调、可信结构化卡片
clean-editorial SEO 长文、解释型文章、站内封面 大标题、留白、轻杂志感、猫咪作为角落品牌元素
creative-magazine 传播型封面、活动盘点 大标题、编辑部排版、强留白、原创金融视觉
data-card-dashboard 返现计算、活动对比、费用路径、时间线 指标卡、表格感、仪表盘、清晰数字层级
handdrawn-note 避坑、步骤教程、保号经验 手绘箭头、便签、圈注、猫咪提示牌
retro-flat-illustration 轻松羊毛攻略、用卡姿势 低饱和复古扁平插画、金融小物件
e-ink-editorial 深度解释、观点长文 纸感、黑白灰、少量强调色、元信息条
scientific-defense 条款核对、规则证据链 严谨浅色版式、来源卡片、条件树
mckinsey-brief 多方案对比、路径选择 结论先行、矩阵、取舍图、商业简报感
xiaohongshu-vertical 小红书发布版、4 图看完、多图卡片 3:4 或 9:16 竖版、大字少字、强钩子、系列化版式

示例确认话术:

我建议用 A因为这篇是活动攻略读者最需要快速看懂门槛、封顶和翻车点。

A. warm-fintech-guide推荐白底暖橙、猫咪向导、金融教程感适合 MAOMOMO 常规文章。
B. data-card-dashboard更强调数字卡片和计算表适合门槛 / 返现 / 费用信息密集的文章。
C. handdrawn-note便签和手绘箭头更明显适合避坑经验和保姆式步骤。

你选哪个?也可以指定颜色、猫咪比例或是否更像小红书图。

常见配图类型

类型 用途
封面图 文章主题、核心利益点 / 核心问题、猫咪识别和产品场景
总览图 活动、产品、规则或教程的核心信息总览
流程图 开户、注册、转账、入金、申请、报名、设置路径
表格图 / 对比图 多产品、多方案、多活动、支持 / 不支持渠道对比
计算图 返现、收益、费用、年化、门槛和封顶测算
时间线图 活动日期、到账时间、任务周期、持有期、截止日
避坑图 常见翻车点、不能补救的点、费用 / 规则 / 时效风险
FAQ 图 3-5 个高频问题和简短答案

图片清单格式

生成图片前先规划清单,并同步写入 prompts/{article_slug}_XX.json 或图片 manifest。每个 prompt 文件至少包含文件名、类型、放置位置、核心文案、可见文字白名单、alt text、风格、依赖素材、输出路径和完整 prompt。小红书卡片还必须包含 aspect_ratiovisual_directionportrait_composition_rules 和分批交付批次。涉及信用卡、支付卡、支付网络或机构 Logo 时,还要包含参考素材、卡组织 / 支付网络、allowed_brand_marksbrand_mark_sources 和核对依据。

| 文件名 | 类型 | 放置位置 | 核心文案 | alt text | 风格 | 依赖素材 |
|---|---|---|---|---|---|---|
| hong-kong-bank-account-01-cover.png | 封面 | 标题下方 | 港卡保号关键点 | MAOMOMO 港卡保号教程封面图 | warm-fintech-guide | 无 |
| hong-kong-bank-account-02-flow.png | 流程图 | 操作步骤前 | 三步完成账户活跃 | 港卡保号操作流程图 | handdrawn-note | 用户截图 1 |

确认用户不需要先看清单时,可以不在聊天里展开清单,但仍必须写入 prompt 文件并遵守“先样张、后逐张生成”的门禁。最终必须让文件名、alt text 和插图位置与正文一致。

推荐单图 prompt JSON

{
  "id": "hsbc-mastercard-alipay-campaign_01",
  "file_name": "hsbc-mastercard-alipay-campaign-01-cover.png",
  "origin_out": "origin_image/hsbc-mastercard-alipay-campaign-01-cover.png",
  "asset_out": "assets/hsbc-mastercard-alipay-campaign-01-cover.png",
  "type": "封面图",
  "placement": "标题下方",
  "core_text": "先报名,再看门槛和封顶",
  "visible_text_allowed": ["先报名,再看门槛和封顶", "MAOMOMO"],
  "alt_text": "MAOMOMO 汇丰 Mastercard 支付宝返现活动封面图",
  "style": "warm-fintech-guide",
  "aspect_ratio": "16:9",
  "visual_direction": "2D 扁平风",
  "delivery_batch": "batch-01-cover",
  "portrait_composition_rules": [],
  "required_assets": [],
  "reference_assets": [],
  "brand_mark_sources": [],
  "payment_network": "",
  "allowed_brand_marks": [],
  "card_art_rule": "如无官方或用户参考素材确认,画无卡组织标识的通用支付卡;已核对的品牌 / 支付标识只能辅助出现,不能抢 MAOMOMO 主标识位置",
  "forbidden_visible_text": ["风格标签", "prompt 描述", "额外 slogan", "无关说明文字"],
  "prompt": "完整图片生成 prompt包含视觉描述、指定业务文案、可见文字限制和禁止项"
}

小红书卡片 prompt JSON 中,portrait_composition_rules 必须包含:

[
  "native portrait composition",
  "no squeezed elements",
  "no stretched card / logo / text",
  "vertical layout redesigned for Xiaohongshu"
]

文件命名

图片文件名必须 SEO 友好,并包含主题前缀:

origin_image/
  hsbc-mastercard-alipay-campaign-01-cover.png
  hsbc-mastercard-alipay-campaign-02-overview.png

assets/
  hsbc-mastercard-alipay-campaign-01-cover.png
  hsbc-mastercard-alipay-campaign-02-overview.png
  hsbc-mastercard-alipay-campaign-03-step-guide.png
  hsbc-mastercard-alipay-campaign-04-comparison.png
  hsbc-mastercard-alipay-campaign-05-calculation.png
  hsbc-mastercard-alipay-campaign-06-timeline.png
  hsbc-mastercard-alipay-campaign-07-common-pitfalls.png
  hsbc-mastercard-alipay-campaign-08-faq.png

规则:

  • 使用英文小写、数字和连字符。
  • 不使用中文文件名。
  • 不使用 01-cover.png02-overview.png 这类缺少主题前缀的通用文件名。
  • 后续改稿删除某个活动分支时相关文件名、alt text、正文引用和 ZIP 中旧图都要同步清理。

Markdown 插图

统一使用相对路径:

![图片说明](assets/文件名.png)

插图位置:

  • 封面图放在标题下方。
  • 总览图放在活动 / 产品介绍之后。
  • 流程图放在步骤段落前后。
  • 计算图放在公式或测算表格后。
  • 时间线图放在日期说明后。
  • 避坑图放在翻车点段落后。
  • FAQ 图放在常见问题段落前后。

图片说明必须根据图片内容写,不要都写成“配图”。

origin_image/ 不直接写进 Markdown除非用户明确要求引用原始图目录。发布用 Markdown 默认引用 assets/

猫咪视觉识别

基础方向:

中文金融实操信息图,干净明亮白色背景,暖橙色点缀,友好的白橘猫吉祥物,圆脸、小爪子,现代 App 信息卡片质感,清晰中文标题和卡片信息层级,实用而非奢华,包含清晰的 MAOMOMO 主标识,已核对的第三方品牌 / 支付标识只做辅助识别不伪造真实截图。可见文字只允许出现指定业务文案、MAOMOMO 和已核对允许出现的品牌 / 支付标识。

猫咪可以:

  • 指向关键数字。
  • 拿着通用卡片。
  • 坐在手机、账本、路线图或计算器旁。
  • 举“实测”“注意”“先登记”提示牌。

猫咪不能:

  • 穿戴第三方银行、卡组织、券商、支付机构 Logo如果猫咪拿着带标识的卡片或支付牌标识必须已核对、尺寸小、位置辅助不能盖住或替代 MAOMOMO。
  • 盖住关键数字、日期、步骤和风险提示。
  • 变成幼稚主角,压过金融教程信息。

主题追加元素

  • 信用卡 / 返现:通用信用卡、小票、购物篮、返现计算器、通用支付符号;只有在官方材料或用户素材确认后,才画具体卡组织 / 支付网络 / 支付机构 Logo且只能作为辅助识别。
  • 银行账户 / 保号:账户余额仪表、保险库、日历、警示标、活跃度卡片。
  • 转账 / 入金路线箭头、HKD / EUR / USD 标签、手机转账示意界面、勾选标记。
  • 券商活动股票礼品卡、K 线图、欢迎信封、香港天际线线稿。
  • 数字货币:硬件钱包、钱包 App、欧元通道、区块链节点路线画面克制避免暴富感。

小红书图

用户说“小红书”“卡片”“多图”“4 图看完”“发小红书”“3:4”“9:16”时

  • 进入小红书卡片模式不默认生成完整文章、Markdown 或 ZIP。
  • 生成多张 3:4 或 9:16 竖版 PNG默认 4 张;不复用文章横版图。
  • 出图前先确认 2D 扁平风 / 3D 轻拟物风;默认推荐 2D 扁平风
  • 每张图有 MAOMOMO 标识或猫咪水印。
  • 手机端可读,大字少字。
  • 默认结构:封面、核心拆解、操作流程、避坑总结。
  • 风格固定为 xiaohongshu-vertical,同组保持同一 visual_direction,不直接复用横版文章图。
  • prompt 必须包含 native portrait compositionno squeezed elementsno stretched card / logo / textvertical layout redesigned for Xiaohongshu
  • 通过 QA 后写入 final_manifest.json;最终交付只读取 final manifest 或状态文件中的 final assets。

图片 QA

每张图通过前检查:

  • 样张已被用户确认,后续图片没有切换生图后端或视觉风格。
  • 文件真实存在,格式为 PNG。
  • 小红书卡片比例为已确认的 3:49:16,不是横版图压缩或拉伸后的结果。
  • 小红书卡片是原生竖版重构元素没有压扁卡片、Logo 和文字没有拉伸。
  • origin_image/ 原始最终图和 assets/ 发布图对应。
  • Markdown 路径能打开对应文件。
  • 图片文字清楚,无乱码、错字、截断和多余文案。
  • 可见文字只包含指定业务文案、MAOMOMO 和已核对允许出现的品牌 / 支付标识没有副标题、风格说明文字、prompt 描述、额外 slogan 或无关说明。
  • 标题、金额、币种、日期、公式、规则与最终文章口径一致;港币金额发布写法统一为 HKD
  • 卡组织 / 支付网络 / 机构 Logo 与官方材料或用户参考素材一致;银联 / UnionPay 不得被画成 Mastercard、Visa 或其他卡组织。
  • 用户未提供 Logo / 卡面素材时,已尽力查找官方或可信来源;sources/、prompt、manifest 和 deck_spec.json 已记录标识素材、来源 URL、读取日期和核对结论。
  • 第三方 Logo 没有抢占、替代或压过 MAOMOMO 主标识位置MAOMOMO 仍然是画面主品牌识别。
  • 没有出现用户已删除、已排除或禁止使用的活动分支、旧版规则、旧金额或旧标题。
  • 没有真实个人信息。
  • 没有伪造官方 App 页面,也没有错误、未经核对或喧宾夺主的品牌 Logo 场景。
  • 没有把示意图伪装成真实截图、账单、订单、App 页面或官方页面。
  • 每张图独立主题明确,不是同一画面的机械变体。
  • 单张 QA 通过后,才用 scripts/maomomo_job_state.py result 记录结果并同步到 assets/;不得只生成到 origin_image/ 后声称完成。
  • 单张 QA 通过后,状态文件必须显示 qa_status=passedentered_assets=trueGitHub 推送后必须记录 github_pushed=true 或对应 batch 记录。
  • 最终交付前必须生成 final_manifest.json,且只包含通过 QA 并进入 assets/ 的最终文件。
  • article.md 已插入对应章节,且用脚本检查 Markdown 中所有图片路径真实存在。
  • slide_jobs.json / slide_run_state.json 中没有未处理的 pendingdispatchedblocked job如有不能声称完整交付完成。

路径检查命令:

uv run python scripts/maomomo_check_markdown_assets.py article/article.md