self-media-james/scripts/gen_article_images_16x9.py
邓文兵 95ea0f26ac feat(articles): 添加龙虾全家桶文章配图批量生成脚本
- 创建 16:9 比例的微信公众号版本配图生成脚本
- 实现 11 张不同主题的卡通龙虾插画批量生成功能
- 配置科技感与卡通风格结合的图像提示词参数
- 集成 jimeng_gen 图像生成模块进行批量处理
- 设置 800x450 分辨率适配微信公众号显示需求
- 添加生成进度显示与结果统计功能
2026-03-10 14:11:09 +08:00

88 lines
3.9 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""批量生成龙虾全家桶文章配图 - 16:9 微信公众号版"""
import sys
import os
sys.path.insert(0, os.path.dirname(__file__))
from jimeng_gen import generate_image
BASE_DIR = os.path.join(os.path.dirname(__file__), '..', 'articles', 'images', '001')
WIDTH = 800
HEIGHT = 450
IMAGES = [
{
"name": "cover.png",
"prompt": "一群风格各异的卡通龙虾站在巨大的发光电路板上,每只龙虾颜色不同有红色蓝色绿色金色紫色,背景是深蓝色科技感数据流,扁平插画风格,色彩鲜艳充满活力",
},
{
"name": "openclaw_hero.png",
"prompt": "一只巨大的红色卡通龙虾坐在服务器机房的中控台前,面前有多个全息屏幕显示着各种社交媒体图标,龙虾戴着耳机在工作,科技感赛博朋克风格,蓝紫色调",
},
{
"name": "nanobot.png",
"prompt": "一只迷你的白色卡通龙虾站在一本打开的Python编程书上身体非常小巧精致旁边有一个放大镜和代码片段极简风格白色背景干净利落扁平插画",
},
{
"name": "picoclaw.png",
"prompt": "一只微型绿色卡通龙虾站在一块很小的电路板芯片上,芯片发着绿色的光,旁边放着一枚硬币做大小对比,背景是智能家居场景,温暖灯光,科技与居家结合",
},
{
"name": "zeroclaw.png",
"prompt": "一只银色金属质感的卡通龙虾身穿铠甲手持盾牌,盾牌上有锁的图标,站在数字城堡的城门前,背景是防火墙数据流,金属蓝色调科幻风格",
},
{
"name": "memu.png",
"prompt": "一只紫色卡通龙虾的大脑上方浮现着发光的知识图谱网络,各个节点之间有彩色连线,节点上有小图标代表日历音乐跑步生日蛋糕等生活场景,深色背景科技紫色调梦幻风格",
},
{
"name": "china_lobsters.png",
"prompt": "五只不同颜色的卡通龙虾站在中国风格的舞台上,红色灯笼和科技全息投影结合,中国红与科技蓝碰撞,喜庆又现代,扁平插画风格",
},
{
"name": "lobsterai.png",
"prompt": "一只金色卡通龙虾面前有一个漂亮的图形化操作界面,界面上显示着中文,龙虾用钳子在触摸屏上操作,现代化办公室背景,明亮温暖的色调",
},
{
"name": "agent_tars.png",
"prompt": "一只机械风格的卡通龙虾坐在电脑前,眼睛发出扫描光线照在电脑屏幕上,钳子在键盘上打字,屏幕上显示着被高亮框选的界面元素,未来感十足暗色调配霓虹灯效果",
},
{
"name": "choose_guide.png",
"prompt": "一个可爱的卡通场景,一个人站在龙虾水族馆前,玻璃缸里有各种不同颜色和大小的龙虾,每只龙虾上方有小标签,人物在思考选择哪只,温馨有趣的插画风格明亮色彩",
},
{
"name": "security_warning.png",
"prompt": "一只卡通龙虾拿着一个警告三角标志,旁边有一个打开的插件盒子里面冒出可疑的紫色烟雾,背景是安全警示条纹,黄色和黑色配色,警示感强烈但不失可爱",
},
]
def main():
os.makedirs(BASE_DIR, exist_ok=True)
results = []
for i, img in enumerate(IMAGES):
output_path = os.path.join(BASE_DIR, img["name"])
# 覆盖已有的方形图片
print(f"\n[{i+1}/{len(IMAGES)}] 生成: {img['name']}")
result = generate_image(
prompt=img["prompt"],
output_path=output_path,
width=WIDTH,
height=HEIGHT,
)
if result:
results.append(result)
else:
print(f" !! 生成失败: {img['name']}")
print(f"\n===== 完成 =====")
print(f"成功: {len(results)}/{len(IMAGES)}")
for r in results:
print(f" OK {r}")
if __name__ == '__main__':
main()