- 创建 16:9 比例的微信公众号版本配图生成脚本 - 实现 11 张不同主题的卡通龙虾插画批量生成功能 - 配置科技感与卡通风格结合的图像提示词参数 - 集成 jimeng_gen 图像生成模块进行批量处理 - 设置 800x450 分辨率适配微信公众号显示需求 - 添加生成进度显示与结果统计功能
88 lines
3.9 KiB
Python
88 lines
3.9 KiB
Python
"""批量生成龙虾全家桶文章配图 - 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()
|