#!/usr/bin/env python3
"""Cek kualitas frame storyboard AMARI via OpenRouter vision free."""
import base64, json, time, urllib.request

KEY = open('/home/mantapman/.openrouter_key').read().strip()
b64 = base64.b64encode(open('video_orang/amari_frame1.png', 'rb').read()).decode()

PROMPT = ("Ini frame storyboard iklan AMARI ROOF UPVC. Evaluasi cepat dalam Bahasa Indonesia:\n"
          "1) Apakah ada teks 'Single Layer vs Double Layer' dan subtitle? Tulis teks yang terbaca.\n"
          "2) Apakah ada orang/presenter memegang panel atap?\n"
          "3) Apakah ada border merah & nomor scene merah?\n"
          "4) Kualitas: photorealistic atau jelek?\n"
          "5) Ada yang aneh/cacat? (tangan aneh, teks rusak, dll)\n"
          "Jawab singkat per poin.")

for attempt in range(4):
    body = {"model": "nvidia/nemotron-nano-12b-v2-vl:free", "max_tokens": 500,
            "messages": [{"role": "user", "content": [
                {"type": "text", "text": PROMPT},
                {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{b64}"}}]}]}
    req = urllib.request.Request("https://openrouter.ai/api/v1/chat/completions",
        data=json.dumps(body).encode(),
        headers={"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"})
    try:
        with urllib.request.urlopen(req, timeout=170) as r:
            d = json.loads(r.read())
        if "choices" in d:
            print(d["choices"][0]["message"]["content"])
            break
        print(f"[{attempt}] no choices:", json.dumps(d)[:200])
    except Exception as e:
        print(f"[{attempt}] err {str(e)[:100]}")
    time.sleep(8)
