Ashrafb commited on
Commit
df94281
โ€ข
1 Parent(s): d9874cb

Upload main (3).py

Browse files
Files changed (1) hide show
  1. main (3).py +100 -0
main (3).py ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from fastapi.staticfiles import StaticFiles
3
+ from fastapi.responses import FileResponse
4
+ import gradio as gr
5
+ import os
6
+ import sys
7
+ import random
8
+ import string
9
+ import time
10
+ from queue import Queue
11
+ from threading import Thread
12
+
13
+ app = FastAPI()
14
+
15
+ text_gen = gr.Interface.load("models/Gustavosta/MagicPrompt-Stable-Diffusion")
16
+ proc1 = gr.Interface.load("models/dreamlike-art/dreamlike-photoreal-2.0")
17
+
18
+ queue = Queue()
19
+ queue_threshold = 100
20
+
21
+ def add_random_noise(prompt, noise_level=0.00):
22
+ if noise_level == 0:
23
+ noise_level = 0.00
24
+ percentage_noise = noise_level * 5
25
+ num_noise_chars = int(len(prompt) * (percentage_noise / 100))
26
+ noise_indices = random.sample(range(len(prompt)), num_noise_chars)
27
+ prompt_list = list(prompt)
28
+ noise_chars = list(string.ascii_letters + string.punctuation + ' ' + string.digits)
29
+ noise_chars.extend(['๐Ÿ˜', '๐Ÿ’ฉ', '๐Ÿ˜‚', '๐Ÿค”', '๐Ÿ˜Š', '๐Ÿค—', '๐Ÿ˜ญ', '๐Ÿ™„', '๐Ÿ˜ท', '๐Ÿคฏ', '๐Ÿคซ', '๐Ÿฅด', '๐Ÿ˜ด', '๐Ÿคฉ', '๐Ÿฅณ', '๐Ÿ˜”', '๐Ÿ˜ฉ', '๐Ÿคช', '๐Ÿ˜‡', '๐Ÿคข', '๐Ÿ˜ˆ', '๐Ÿ‘น', '๐Ÿ‘ป', '๐Ÿค–', '๐Ÿ‘ฝ', '๐Ÿ’€', '๐ŸŽƒ', '๐ŸŽ…', '๐ŸŽ„', '๐ŸŽ', '๐ŸŽ‚', '๐ŸŽ‰', '๐ŸŽˆ', '๐ŸŽŠ', '๐ŸŽฎ', 'โค๏ธ', '๐Ÿ’”', '๐Ÿ’•', '๐Ÿ’–', '๐Ÿ’—', '๐Ÿถ', '๐Ÿฑ', '๐Ÿญ', '๐Ÿน', '๐ŸฆŠ', '๐Ÿป', '๐Ÿจ', '๐Ÿฏ', '๐Ÿฆ', '๐Ÿ˜', '๐Ÿ”ฅ', '๐ŸŒง๏ธ', '๐ŸŒž', '๐ŸŒˆ', '๐Ÿ’ฅ', '๐ŸŒด', '๐ŸŒŠ', '๐ŸŒบ', '๐ŸŒป', '๐ŸŒธ', '๐ŸŽจ', '๐ŸŒ…', '๐ŸŒŒ', 'โ˜๏ธ', 'โ›ˆ๏ธ', 'โ„๏ธ', 'โ˜€๏ธ', '๐ŸŒค๏ธ', 'โ›…๏ธ', '๐ŸŒฅ๏ธ', '๐ŸŒฆ๏ธ', '๐ŸŒง๏ธ', '๐ŸŒฉ๏ธ', '๐ŸŒจ๏ธ', '๐ŸŒซ๏ธ', 'โ˜”๏ธ', '๐ŸŒฌ๏ธ', '๐Ÿ’จ', '๐ŸŒช๏ธ', '๐ŸŒˆ'])
30
+ for index in noise_indices:
31
+ prompt_list[index] = random.choice(noise_chars)
32
+ return "".join(prompt_list)
33
+
34
+ # Existing code...
35
+
36
+ import uuid # Import the UUID library
37
+
38
+ # Existing code...
39
+
40
+ # Existing code...
41
+
42
+ request_counter = 0 # Global counter to track requests
43
+
44
+ def send_it1(inputs, noise_level, proc=proc1):
45
+ global request_counter
46
+ request_counter += 1
47
+ timestamp = f"{time.time()}_{request_counter}"
48
+ prompt_with_noise = add_random_noise(inputs, noise_level) + f" - {timestamp}"
49
+ while queue.qsize() >= queue_threshold:
50
+ time.sleep(2)
51
+ queue.put(prompt_with_noise)
52
+ output = proc(prompt_with_noise)
53
+ return output
54
+
55
+
56
+ def get_prompts(prompt_text):
57
+ if not prompt_text:
58
+ return "Please enter text before generating prompts.ุฑุฌุงุก ุงุฏุฎู„ ุงู„ู†ุต ุงูˆู„ุง"
59
+ raise gr.Error("Please enter text before generating prompts.ุฑุฌุงุก ุงุฏุฎู„ ุงู„ู†ุต ุงูˆู„ุง")
60
+ else:
61
+ global request_counter
62
+ request_counter += 1
63
+ timestamp = f"{time.time()}_{request_counter}"
64
+
65
+ options = [
66
+ "Cyberpunk android",
67
+ "2060",
68
+ "newyork",
69
+ "style of laurie greasley" , "studio ghibli" , "akira toriyama" , "james gilleard" , "genshin impact" , "trending pixiv fanbox" , "acrylic palette knife, 4k, vibrant colors, devinart, trending on artstation, low details"
70
+ "Editorial Photography, Shot on 70mm lens, Depth of Field, Bokeh, DOF, Tilt Blur, Shutter Speed 1/1000, F/22, 32k, Super-Resolution, award winning,",
71
+ "high detail, warm lighting, godrays, vivid, beautiful, trending on artstation, by jordan grimmer, huge scene, grass, art greg rutkowski ",
72
+ "highly detailed, digital painting, artstation, illustration, art by artgerm and greg rutkowski and alphonse mucha.",
73
+ "Charlie Bowater, stanley artgerm lau, a character portrait, sots art, sharp focus, smooth, aesthetic, extremely detailed, octane render,solo, dark industrial background, rtx, rock clothes, cinematic light, intricate detail, highly detailed, high res, detailed facial features",
74
+ "portrait photograph" , "realistic" , "concept art" , "elegant, highly detailed" , "intricate, sharp focus, depth of field, f/1. 8, 85mm, medium shot, mid shot, (((professionally color graded)))" ," sharp focus, bright soft diffused light" , "(volumetric fog),",
75
+ "Cinematic film still" ," (dark city street:1.2)" , "(cold colors), damp, moist, intricate details" ,"shallow depth of field, [volumetric fog]" , "cinematic lighting, reflections, photographed on a Canon EOS R5, 50mm lens, F/2.8, HDR, 8k resolution" , "cinematic film still from cyberpunk movie" , "volumetric fog, (RAW, analog, masterpiece, best quality, soft particles, 8k, flawless perfect face, intricate details" , "trending on artstation, trending on cgsociety, dlsr, ultra sharp, hdr, rtx, antialiasing, canon 5d foto))" , "((skin details, high detailed skin texture))" , "(((perfect face))), (perfect eyes)))",
76
+
77
+ # Add other prompt options here...
78
+ ]
79
+
80
+ if prompt_text:
81
+ chosen_option = random.choice(options)
82
+ return text_gen(f"{prompt_text}, {chosen_option} - {timestamp}")
83
+ else:
84
+ return text_gen("", timestamp)
85
+
86
+ @app.get("/generate_prompts")
87
+ def generate_prompts(prompt_text: str):
88
+ return get_prompts(prompt_text)
89
+
90
+ @app.get("/send_inputs")
91
+ def send_inputs(inputs: str, noise_level: float):
92
+ return send_it1(inputs, noise_level)
93
+
94
+ app.mount("/", StaticFiles(directory="static", html=True), name="static")
95
+
96
+ @app.get("/")
97
+ def index() -> FileResponse:
98
+ return FileResponse(path="/app/static/index.html", media_type="text/html")
99
+
100
+