1+ """
2+ CUDA_VISIBLE_DEVICES=4,5,6,7 torchrun --nproc_per_node=4 \
3+ -m cache_dit.serve.serve \
4+ --model-path black-forest-labs/FLUX.2-dev \
5+ --parallel-type ulysses \
6+ --parallel-text-encoder \
7+ --quantize-type float8_wo \
8+ --attn _flash_3 \
9+ --cache \
10+ --compile \
11+ --ulysses-anything
12+ """
13+
114import os
215import requests
316import base64
@@ -22,27 +35,19 @@ def call_api(prompt, image_urls=None, name="test", **kwargs):
2235 if image_urls :
2336 payload ["image_urls" ] = image_urls
2437
25- try :
26- response = requests .post (url , json = payload , timeout = 300 )
27- response .raise_for_status ()
28-
29- result = response .json ()
30-
31- if "images" not in result or len (result ["images" ]) == 0 :
32- return None
33-
34- img_data = base64 .b64decode (result ["images" ][0 ])
35- img = Image .open (BytesIO (img_data ))
38+ response = requests .post (url , json = payload , timeout = 300 )
39+ response .raise_for_status ()
40+ result = response .json ()
41+ assert "images" in result and len (result ["images" ]) > 0 , "No images in response"
3642
37- filename = f" { name } .png"
38- img . save ( filename )
43+ img_data = base64 . b64decode ( result [ "images" ][ 0 ])
44+ img = Image . open ( BytesIO ( img_data ) )
3945
40- print ( f"Saved: { filename } " )
41- return filename
46+ filename = f" { name } .png"
47+ img . save ( filename )
4248
43- except Exception as e :
44- print (f"Error: { e } " )
45- return None
49+ print (f"Saved: { filename } ({ img .size [0 ]} x{ img .size [1 ]} )" )
50+ return filename
4651
4752
4853def test_single ():
@@ -89,8 +94,22 @@ def test_text():
8994 )
9095
9196
97+ def test_text_ulysses_bad_resolution_regression ():
98+ filename = call_api (
99+ prompt = "A beautiful landscape with mountains and lakes" ,
100+ name = "text_gen_724x1080" ,
101+ width = 724 ,
102+ height = 1080 ,
103+ num_inference_steps = 8 ,
104+ )
105+ img = Image .open (filename )
106+ assert img .size == (720 , 1080 )
107+ return filename
108+
109+
92110if __name__ == "__main__" :
93111 test_single ()
94112 test_multi ()
95113 test_base64 ()
96114 test_text ()
115+ test_text_ulysses_bad_resolution_regression ()
0 commit comments