"""批量生成龙虾全家桶文章配图 - 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()
