#!/bin/bash
# OCR với Gemini 2.5 Pro - Shell script

API_KEY="${GEMINI_API_KEY}"
WORKDIR="/opt/openclaw/.openclaw/workspace/Chuan Muc Sadi"
GEMINI_URL="https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent?key=${API_KEY}"

echo "📖 Bắt đầu OCR với Gemini 2.5 Pro..."

OUTPUT_FILE="${WORKDIR}/extracted/Sadi-176-180-Gemini.md"
echo "# Sadi-176-180 (Raw OCR - Gemini 2.5 Pro)" > "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"

for i in 1 2 3 4 5; do
    echo ""
    echo "🔄 Xử lý trang ${i}/5..."
    
    IMG_PATH="${WORKDIR}/sadi_page-${i}.png"
    
    # Resize ảnh bằng convert (ImageMagick)
    RESIZED_PATH="/tmp/sadi_page_${i}_resized.png"
    convert "$IMG_PATH" -resize 1200x "$RESIZED_PATH" 2>/dev/null
    
    # Encode base64
    IMG_BASE64=$(base64 -w 0 "$RESIZED_PATH")
    echo "   Đã encode trang ${i} (${#IMG_BASE64} chars)"
    
    # Tạo JSON payload
    JSON_PAYLOAD=$(cat <<EOF
{
  "contents": [{
    "parts": [
      {"text": "Extract all Myanmar text from this page EXACTLY as written. This is a literal transcription - do NOT clean or modify anything. Output ONLY Myanmar text."},
      {"inline_data": {"mime_type": "image/png", "data": "${IMG_BASE64}"}}
    ]
  }],
  "generationConfig": {
    "temperature": 0.1,
    "maxOutputTokens": 4096
  }
}
EOF
)
    
    # Gửi request
    echo "   Đang gửi request..."
    RESPONSE=$(curl -s -X POST "$GEMINI_URL" \
        -H "Content-Type: application/json" \
        -d "$JSON_PAYLOAD" \
        --max-time 120)
    
    # Extract text từ response
    TEXT=$(echo "$RESPONSE" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('candidates',[{}])[0].get('content',{}).get('parts',[{}])[0].get('text','[ERROR]'))" 2>/dev/null)
    
    if [ -n "$TEXT" ] && [ "$TEXT" != "[ERROR]" ]; then
        echo "--- Trang ${i} ---" >> "$OUTPUT_FILE"
        echo "$TEXT" >> "$OUTPUT_FILE"
        echo "" >> "$OUTPUT_FILE"
        echo "   ✅ Trang ${i} hoàn thành"
    else
        echo "   ❌ Lỗi trang ${i}: ${RESPONSE:0:200}"
        echo "--- Trang ${i} ---" >> "$OUTPUT_FILE"
        echo "[OCR FAILED]" >> "$OUTPUT_FILE"
        echo "" >> "$OUTPUT_FILE"
    fi
    
    # Cleanup
    rm -f "$RESIZED_PATH"
    
    # Nghỉ giữa các trang
    sleep 2
done

echo ""
echo "✅ Hoàn thành! Kết quả lưu tại: $OUTPUT_FILE"
