#!/bin/bash
# NEONCYBER - Bedroom Window Views
# First-person cozy room POV looking out at neon city
# HUGE trend on Wallpaper Engine - almost no competition in our style
# Usage: ./generate-bedroom-views.sh

set -e

COMFYUI="http://192.168.1.57:8188"
TIMESTAMP=$(date +%H%M%S)

echo "🛏️ NEONCYBER - Bedroom Window Views"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Cozy interior + neon city exterior - WE trending theme"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

PROMPTS=(
    # 1: Classic desk setup
    "First person POV from dark bedroom desk looking out window at neon cyberpunk city, minimal anime aesthetic. Foreground: silhouette of monitor and keyboard on desk. Window shows magenta and cyan neon cityscape with rain. Cozy dark room interior contrasts with bright neon outside. Empty contemplative atmosphere. Bokeh city lights through wet window. 1920x1080 widescreen, bedroom window masterpiece."

    # 2: Corner window view
    "Corner bedroom with large window overlooking cyberpunk city at night, glitch aesthetic. Dark cozy interior with minimal furniture silhouettes. Floor-to-ceiling window shows purple and cyan neon grid city below. Rain streaks on glass. Empty room, nobody home. Atmospheric contrast between intimate space and vast city. 1920x1080 widescreen, window view quality."

    # 3: Rainy window bokeh
    "Bedroom window with heavy rain and neon bokeh beyond, minimal anime style. Close-up on rain-covered window glass. Out of focus magenta and cyan city lights create dreamy bokeh. Water droplets on glass catch neon reflections. Dark room interior barely visible. Empty peaceful rainy night mood. 1920x1080 widescreen, rain bokeh masterpiece."

    # 4: Balcony door view
    "Open balcony door from dark bedroom looking out at neon cityscape, cyberpunk anime aesthetic. Silhouette of door frame and curtains. Beyond: sprawling city with purple and cyan towers, flying vehicles in distance. Cool night air implied. Empty room, peaceful solitude. Atmospheric depth with fog. 1920x1080 widescreen, balcony view quality."

    # 5: Multiple monitors glow
    "Gaming setup bedroom with multiple monitors casting cyan glow, window shows magenta city, minimal style. Foreground: silhouettes of monitors and desk items. Window reflection shows both room and city. Dual light sources: cyan screens, magenta neon outside. Empty battlestation aesthetic. Glitch artifacts on screens. 1920x1080 widescreen, setup view masterpiece."

    # 6: Minimal window frame
    "Minimalist bedroom with single large window framing neon city perfectly, glitch aesthetic. Clean geometric window frame composition. Center: perfect rectangle of cyberpunk cityscape in gold and purple. Dark minimalist room. Empty zen space meets chaotic city. Pixel sorting on city view. 1920x1080 widescreen, framed city quality."

    # 7: Floor level view
    "Sitting on bedroom floor level looking up at window and neon city beyond, anime aesthetic. Low angle perspective. Window high on wall shows magenta sky and cyan towers. Dark cozy floor space. Pillows or blanket silhouettes. Empty peaceful solitude. Rain outside. 1920x1080 widescreen, floor view masterpiece."

    # 8: Neon reflection on floor
    "Dark bedroom where neon city light reflects on polished floor, minimal cyberpunk style. Window casts magenta and cyan light patterns across floor. Empty room with beautiful light geometry. Reflective surfaces creating double exposure of city. Atmospheric mood lighting. Glitch corruption on reflections. 1920x1080 widescreen, reflection quality."

    # 9: Curtain silhouette
    "Bedroom with sheer curtain silhouette and diffused neon city glow beyond, glitch aesthetic. Translucent curtain softens the bright purple and cyan cityscape. Dreamy diffused lighting. Dark room interior. Empty ethereal atmosphere. Wind-blown curtain implied. Chromatic aberration on city lights. 1920x1080 widescreen, curtain glow masterpiece."

    # 10: Split screen room/city
    "Bedroom composition split perfectly: left dark interior, right bright neon city window, minimal anime. Geometric split down center. Left: empty dark room shadows. Right: vibrant magenta/cyan cityscape. Perfect symmetry. Contrast between private/public, dark/bright, empty/busy. 1920x1080 widescreen, split composition quality."
)

DESCRIPTIONS=(
    "Classic Desk Setup"
    "Corner Window View"
    "Rainy Window Bokeh"
    "Balcony Door View"
    "Multiple Monitors Glow"
    "Minimal Window Frame"
    "Floor Level View"
    "Neon Reflection Floor"
    "Curtain Silhouette"
    "Split Screen Room/City"
)

for i in {0..9}; do
    NUM=$((i + 1))
    PROMPT="${PROMPTS[$i]}"
    DESC="${DESCRIPTIONS[$i]}"

    echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
    echo "[$NUM/10] $DESC"
    echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

    WORKFLOW=$(cat <<EOF
{
  "prompt": {
    "1": {"inputs": {"unet_name": "z_image_turbo_bf16.safetensors", "weight_dtype": "default"}, "class_type": "UNETLoader"},
    "2": {"inputs": {"clip_name": "qwen_3_4b.safetensors", "type": "qwen_image"}, "class_type": "CLIPLoader"},
    "3": {"inputs": {"vae_name": "ae.safetensors"}, "class_type": "VAELoader"},
    "4": {"inputs": {"text": "$PROMPT", "clip": ["2", 0]}, "class_type": "CLIPTextEncode"},
    "5": {"inputs": {"text": "low quality, blurry, people, characters, humans, faces, anime girls", "clip": ["2", 0]}, "class_type": "CLIPTextEncode"},
    "6": {"inputs": {"width": 1920, "height": 1080, "batch_size": 1}, "class_type": "EmptyLatentImage"},
    "7": {"inputs": {"seed": $(python3 -c "import random; print(random.randint(1, 2**32-1))"), "steps": 8, "cfg": 1.0, "sampler_name": "euler", "scheduler": "sgm_uniform", "denoise": 1, "model": ["1", 0], "positive": ["4", 0], "negative": ["5", 0], "latent_image": ["6", 0]}, "class_type": "KSampler"},
    "8": {"inputs": {"samples": ["7", 0], "vae": ["3", 0]}, "class_type": "VAEDecode"},
    "9": {"inputs": {"filename_prefix": "wp/wp_bedroom_${TIMESTAMP}_v${NUM}", "images": ["8", 0]}, "class_type": "SaveImage"}
  }
}
EOF
)

    RESPONSE=$(curl -s -X POST "$COMFYUI/prompt" -H "Content-Type: application/json" -d "$WORKFLOW")
    PROMPT_ID=$(echo "$RESPONSE" | python3 -c "import sys, json; print(json.load(sys.stdin).get('prompt_id', ''))" 2>/dev/null || echo "")

    if [ -n "$PROMPT_ID" ]; then
        echo "✅ Queued: $PROMPT_ID"
    else
        echo "❌ Failed to queue"
    fi
    echo ""
done

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "✨ All 10 bedroom view variations queued!"
echo ""
echo "📁 Files: ComfyUI/output/wp/"
echo "  wp_bedroom_${TIMESTAMP}_v1_*.png - Classic Desk Setup"
echo "  wp_bedroom_${TIMESTAMP}_v2_*.png - Corner Window View"
echo "  wp_bedroom_${TIMESTAMP}_v3_*.png - Rainy Window Bokeh"
echo "  wp_bedroom_${TIMESTAMP}_v4_*.png - Balcony Door View"
echo "  wp_bedroom_${TIMESTAMP}_v5_*.png - Multiple Monitors Glow"
echo "  wp_bedroom_${TIMESTAMP}_v6_*.png - Minimal Window Frame"
echo "  wp_bedroom_${TIMESTAMP}_v7_*.png - Floor Level View"
echo "  wp_bedroom_${TIMESTAMP}_v8_*.png - Neon Reflection Floor"
echo "  wp_bedroom_${TIMESTAMP}_v9_*.png - Curtain Silhouette"
echo "  wp_bedroom_${TIMESTAMP}_v10_*.png - Split Screen Room/City"
echo ""
echo "🛏️ Cozy bedroom views - WE trending category!"
