Rooni commited on
Commit
405f02e
·
verified ·
1 Parent(s): b4361d2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -4
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")