Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -6,6 +6,7 @@ from cachetools import TTLCache, cached
|
|
6 |
import random
|
7 |
import os
|
8 |
import urllib.parse
|
|
|
9 |
|
10 |
app = Flask(__name__)
|
11 |
|
@@ -20,8 +21,12 @@ if not keys:
|
|
20 |
def get_random_key():
|
21 |
return random.choice(keys)
|
22 |
|
|
|
|
|
|
|
|
|
23 |
@cached(cache)
|
24 |
-
def generate_cached_image(prompt, width, height, seed, model_name):
|
25 |
api_key = get_random_key()
|
26 |
headers = {
|
27 |
"Authorization": f"Bearer {api_key}",
|
@@ -36,8 +41,7 @@ def generate_cached_image(prompt, width, height, seed, model_name):
|
|
36 |
},
|
37 |
"width": width,
|
38 |
"height": height,
|
39 |
-
"seed": seed
|
40 |
-
# generator=torch.Generator("cpu").manual_seed(0)
|
41 |
}
|
42 |
|
43 |
try:
|
@@ -60,8 +64,11 @@ def get_image(prompt):
|
|
60 |
# Декодируем URL-кодированный prompt
|
61 |
prompt = urllib.parse.unquote(prompt)
|
62 |
|
|
|
|
|
|
|
63 |
try:
|
64 |
-
image = generate_cached_image(prompt, width, height, seed, model_name)
|
65 |
except Exception as e:
|
66 |
app.logger.error(f"Error generating image: {e}")
|
67 |
abort(500, description="Error generating image")
|
|
|
6 |
import random
|
7 |
import os
|
8 |
import urllib.parse
|
9 |
+
import hashlib
|
10 |
|
11 |
app = Flask(__name__)
|
12 |
|
|
|
21 |
def get_random_key():
|
22 |
return random.choice(keys)
|
23 |
|
24 |
+
def generate_cache_key(prompt, width, height, seed, model_name):
|
25 |
+
# Создаем уникальный ключ на основе всех параметров
|
26 |
+
return hashlib.md5(f"{prompt}_{width}_{height}_{seed}_{model_name}".encode()).hexdigest()
|
27 |
+
|
28 |
@cached(cache)
|
29 |
+
def generate_cached_image(cache_key, prompt, width, height, seed, model_name):
|
30 |
api_key = get_random_key()
|
31 |
headers = {
|
32 |
"Authorization": f"Bearer {api_key}",
|
|
|
41 |
},
|
42 |
"width": width,
|
43 |
"height": height,
|
44 |
+
"seed": seed
|
|
|
45 |
}
|
46 |
|
47 |
try:
|
|
|
64 |
# Декодируем URL-кодированный prompt
|
65 |
prompt = urllib.parse.unquote(prompt)
|
66 |
|
67 |
+
# Генерируем уникальный ключ для кэша
|
68 |
+
cache_key = generate_cache_key(prompt, width, height, seed, model_name)
|
69 |
+
|
70 |
try:
|
71 |
+
image = generate_cached_image(cache_key, prompt, width, height, seed, model_name)
|
72 |
except Exception as e:
|
73 |
app.logger.error(f"Error generating image: {e}")
|
74 |
abort(500, description="Error generating image")
|