maomomo-article-writer/references/image-generation.md

3.3 KiB
Raw Blame History

图片生成脚本与后端选择

需要实际生成配图文件、使用 API/CLI fallback、批量生成 assets或排查图片接口配置时先读本文件。

后端选择

优先顺序:

  1. Codex / 当前 agent 的内置图片生成工具。适合大多数配图任务。
  2. scripts/maomomo_image_gen.py API/CLI fallback。适合用户明确要求 API/CLI、内置工具不可用、需要批量 manifest、或希望把生成过程记录到文件时。

不要因为脚本存在就强制使用脚本。若内置图片工具可用,仍优先使用内置工具生成独立 PNG再保存到 assets/

配置来源

脚本按以下顺序读取配置:

  • MAOMOMO_IMAGE_API_KEY / OPENAI_API_KEY
  • MAOMOMO_IMAGE_BASE_URL / OPENAI_BASE_URL
  • MAOMOMO_IMAGE_MODEL / CODEX_PPT_IMAGE_MODEL
  • ~/.codex/config.toml 中的 base_url
  • ~/.codex/auth.json 中可识别的 API key

不要在日志、回答、Markdown 或 manifest 中写入完整 API key。

单张生成

python3 scripts/maomomo_image_gen.py generate \
  --out article/assets/hsbc-mastercard-alipay-campaign-01-cover.png \
  --style warm-fintech-guide \
  --title "汇丰 Mastercard 支付宝活动" \
  --image-type "封面图" \
  --core-text "先看报名、门槛和封顶,避免白刷"

先只看 prompt

python3 scripts/maomomo_image_gen.py generate \
  --out article/assets/hsbc-mastercard-alipay-campaign-01-cover.png \
  --style data-card-dashboard \
  --title "返现计算图" \
  --image-type "计算图" \
  --core-text "HK$190 ÷ 9% ≈ HK$2112,超过部分没有额外收益" \
  --dry-run

批量 manifest

manifest 示例:

{
  "images": [
    {
      "file_name": "assets/hsbc-mastercard-alipay-campaign-01-cover.png",
      "type": "封面图",
      "title": "汇丰 Mastercard 支付宝活动",
      "core_text": "先报名,再看门槛和封顶",
      "alt_text": "MAOMOMO 汇丰 Mastercard 支付宝返现活动封面图",
      "style": "warm-fintech-guide",
      "aspect_ratio": "16:9"
    },
    {
      "file_name": "assets/hsbc-mastercard-alipay-campaign-02-calculation.png",
      "type": "计算图",
      "title": "怎么刷到刚刚好",
      "core_text": "HK$190 ÷ 9% ≈ HK$2112超过部分没有额外收益",
      "style": "data-card-dashboard"
    }
  ]
}

运行:

python3 scripts/maomomo_image_gen.py batch \
  --manifest article/image_manifest.json \
  --base-dir article

file_name 必须与 Markdown 中的相对路径一致,且最终文件必须真实存在。

内置风格名

可用:

  • warm-fintech-guide
  • clean-professional
  • clean-editorial
  • data-card-dashboard
  • handdrawn-note
  • creative-magazine
  • retro-flat-illustration
  • e-ink-editorial
  • scientific-defense
  • mckinsey-brief
  • xiaohongshu-vertical

查看完整描述:

python3 scripts/maomomo_image_gen.py styles

失败处理

  • API key 缺失:提示用户配置环境变量或检查 Codex 配置,不要编造图片文件。
  • 接口失败:保留已生成图片,说明失败项,必要时用 --dry-run 交付 prompt 清单作为临时排查材料。
  • 图片文字乱码或金额错误:重新生成该单张图片;不要手工覆盖文字伪装成模型输出。
  • 图片不符合风格:先更新 manifest 的 style / core_text / extra,再重跑对应项。