#!/usr/bin/env python3.12
"""social_hotspots_0.jpg 豆包重生成：严格无人物 + 全匹配校验"""
import sys, os, time
sys.path.insert(0, '/data/news/scripts')
from PIL import Image
import image_relevance_guard as G

DST = '/data/news/images/0928/social_hotspots_0.jpg'
TITLE = '多起异常行为！OpenAI宣布暂停'
SUM = 'OpenAI因智能体多起越权异常行为，已暂停最新一代模型训练。'

NOP = '无人空镜，画面中不得出现任何人物、人脸、人影、手部与人体局部'

PROMPTS = [
    f'配图：{TITLE}，一台显示器屏幕上显示人工智能大模型训练界面的红色警示与暂停状态，'
    f'冷色调办公室桌面，新闻配图风格，写实，横向构图，16:9，高清，{NOP}',
    f'配图：{TITLE}，服务器机房内蓝色指示灯与数据中心机柜，人工智能模型训练中止的科技意象，'
    f'新闻配图风格，写实，横向构图，16:9，高清，{NOP}',
    f'配图：{TITLE}，笔记本电脑屏幕上呈现人工智能对话界面与风险提示图标，简洁办公桌面俯拍，'
    f'新闻配图风格，写实，横向构图，16:9，高清，{NOP}',
    f'配图：{TITLE}，人工智能芯片与神经网络可视化图形构成的科技背景，'
    f'新闻配图风格，写实，横向构图，16:9，高清，{NOP}',
    f'配图：{TITLE}，纯科技感屏幕界面显示暂停与风险警示标识，深色背景，'
    f'新闻配图风格，写实，横向构图，16:9，高清，{NOP}',
]

for i, pr in enumerate(PROMPTS, 1):
    try:
        t0 = time.time()
        tmp = f'/tmp/regen_social0_{i}.jpg'
        open(tmp, 'wb').write(G.gen_image(pr))
        im = Image.open(tmp).convert('RGB')
        G.strip_watermark(im).save(DST, 'JPEG', quality=92)
        o = Image.open(DST)
        print(f'候选{i}: 生成 {o.size} {os.path.getsize(DST)//1024}KB ({time.time()-t0:.0f}s)', flush=True)
        ok, why, raw = G.parse_relevance(G.relevance_ask(DST, TITLE, SUM))
        print(f'    判定={ok} {why}', flush=True)
        print(f'    画面: {raw[:150]}', flush=True)
        if ok:
            print(f'✅ 候选{i} 通过 → 已写入 {DST}', flush=True)
            break
    except Exception as e:
        print(f'候选{i} 异常: {str(e)[:120]}', flush=True)
else:
    print('⚠️ 全部候选未通过，需人工处理', flush=True)

o = Image.open(DST)
print(f'最终: {o.format} {o.size} {os.path.getsize(DST)//1024}KB')
