3.3 KiB
3.3 KiB
图片生成脚本与后端选择
需要实际生成配图文件、使用 API/CLI fallback、批量生成 assets,或排查图片接口配置时,先读本文件。
后端选择
优先顺序:
- Codex / 当前 agent 的内置图片生成工具。适合大多数配图任务。
scripts/maomomo_image_gen.pyAPI/CLI fallback。适合用户明确要求 API/CLI、内置工具不可用、需要批量 manifest、或希望把生成过程记录到文件时。
不要因为脚本存在就强制使用脚本。若内置图片工具可用,仍优先使用内置工具生成独立 PNG,再保存到 assets/。
配置来源
脚本按以下顺序读取配置:
MAOMOMO_IMAGE_API_KEY/OPENAI_API_KEYMAOMOMO_IMAGE_BASE_URL/OPENAI_BASE_URLMAOMOMO_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-guideclean-professionalclean-editorialdata-card-dashboardhanddrawn-notecreative-magazineretro-flat-illustratione-ink-editorialscientific-defensemckinsey-briefxiaohongshu-vertical
查看完整描述:
python3 scripts/maomomo_image_gen.py styles
失败处理
- API key 缺失:提示用户配置环境变量或检查 Codex 配置,不要编造图片文件。
- 接口失败:保留已生成图片,说明失败项,必要时用
--dry-run交付 prompt 清单作为临时排查材料。 - 图片文字乱码或金额错误:重新生成该单张图片;不要手工覆盖文字伪装成模型输出。
- 图片不符合风格:先更新 manifest 的
style/core_text/extra,再重跑对应项。