File size: 3,632 Bytes
f47d70f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/usr/bin/env python3
"""Test SDXL Turbo image generation"""
import requests
import time
from PIL import Image
import io
import numpy as np

# Test the wizard prompt
prompt = "a wizard with a long white beard standing in a mystical forest"
print(f"πŸ§™ Testing SDXL Turbo with prompt: '{prompt}'")
print("")

# Start generation session
print("Starting generation session...")
start_response = requests.post("http://localhost:7860/api/generate-session/start", json={
    "prompt": prompt,
    "mode": "general",
    "aspect_ratio": "1:1",
    "steps": 4,
    "guidance_scale": 0.0,
    "seed": -1,
    "mock": False
})

if start_response.status_code == 200:
    session_data = start_response.json()
    session_id = session_data["session_id"]
    print(f"βœ… Session started: {session_id}")
    print("")
    
    # Poll for completion
    print("⏳ Generating image", end="", flush=True)
    while True:
        status_response = requests.post("http://localhost:7860/api/generate-session/status", json={
            "session_id": session_id
        })
        
        if status_response.status_code == 200:
            status_data = status_response.json()
            state = status_data["state"]
            
            if state == "completed":
                print(" βœ…")
                print("")
                print("Generation completed!")
                print(f"  Image URL: {status_data['image_url']}")
                print(f"  Time: {status_data['latency_sec']:.1f}s")
                print(f"  Memory: {status_data['memory_used_mb']:.1f}MB")
                print(f"  Seed: {status_data['seed']}")
                print(f"  Mock: {status_data['used_mock']}")
                print("")
                
                # Check if image is not blank
                img_response = requests.get(f"http://localhost:7860{status_data['image_url']}")
                if img_response.status_code == 200:
                    img = Image.open(io.BytesIO(img_response.content))
                    img_array = np.array(img)
                    
                    # Check if image is blank (all black or all same color)
                    is_blank = (img_array.std() < 5)
                    mean_brightness = img_array.mean()
                    
                    if is_blank:
                        print("❌ WARNING: Image appears to be BLANK/BLACK!")
                        print(f"   Mean brightness: {mean_brightness:.1f}/255")
                        print(f"   Std deviation: {img_array.std():.1f}")
                        print("")
                        print("The upcast_vae fix may not have worked. Check backend logs.")
                    else:
                        print("βœ… SUCCESS! Image looks good (Not blank)")
                        print(f"   Mean brightness: {mean_brightness:.1f}/255")
                        print(f"   Std deviation: {img_array.std():.1f}")
                        print(f"   Image size: {img.size}")
                        print("")
                        print(f"🎨 View your image at: http://localhost:3000")
                    
                break
            elif state == "failed":
                print(" ❌")
                print(f"Generation failed: {status_data.get('error', 'Unknown error')}")
                break
            elif state == "generating":
                print(".", end="", flush=True)
                time.sleep(1)
        else:
            print(f"Status check failed: {status_response.status_code}")
            break
else:
    print(f"❌ Failed to start session: {start_response.status_code}")
    print(start_response.text)