#!/usr/bin/env python3
"""Deskripsi gambar via OpenRouter vision (free model)."""
import base64, json, urllib.request

KEY = open('/home/mantapman/.openrouter_key').read().strip()
IMG = 'media/inbound/openclaw-staged-a68ba680-68f7-4cfd-89b5-8111983f2ab3/c46cab1a-e490-4f7a-a3f9-8e699b2ebb99.jpg'

with open(IMG, 'rb') as f:
    b64 = base64.b64encode(f.read()).decode()

body = {
    "model": "nvidia/nemotron-nano-12b-v2-vl:free",
    "max_tokens": 400,
    "messages": [{"role": "user", "content": [
        {"type": "text", "text": "Deskripsikan gambar ini dalam Bahasa Indonesia secara detail: apa isinya (orang/benda/teks), pose, ekspresi, latar belakang, suasana. Kalau ada teks tulis persis. 4-6 kalimat."},
        {"type": "image_url", "image_url": {"url": f"data:image/jpeg;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=120) as r:
        d = json.loads(r.read())
    print(d['choices'][0]['message']['content'])
except Exception as e:
    print("ERROR:", e)
    try:
        print(e.read().decode()[:400])
    except Exception:
        pass
