Spaces:
Runtime error
Runtime error
import gradio as gr | |
import requests | |
import time | |
import json | |
from contextlib import closing | |
from websocket import create_connection | |
from deep_translator import GoogleTranslator | |
from langdetect import detect | |
import os | |
from PIL import Image | |
import io | |
import base64 | |
def flip_text(prompt, negative_prompt, task, steps, sampler, cfg_scale, seed): | |
result = {"prompt": prompt, "negative_prompt": negative_prompt, "task": task, "steps": steps, "sampler": sampler, "cfg_scale": cfg_scale, "seed": seed} | |
print(result) | |
language = detect(prompt) | |
if language == 'ru': | |
prompt = GoogleTranslator(source='ru', target='en').translate(prompt) | |
print(prompt) | |
cfg = int(cfg_scale) | |
steps = int(steps) | |
seed = int(seed) | |
url_sd1 = "https://stable-diffusion-open.api.replicate.com/infer" | |
url_sd2 = "https://api.replicate.com/predictions/10720/jobs/" | |
url_sd3 = "https://stable-diffusion-open.api.replicate.com/predictions/10720/output/" | |
if task == 'Realistic Vision 5.0': | |
model = 'Realistic Vision V5.0.safetensors+%5B614d1063%5D' | |
elif task == 'Dreamshaper 8': | |
model = 'dreamshaper_8.safetensors+%5B9d40847d%5D' | |
elif task == 'Deliberate 3': | |
model = 'deliberate_v3.safetensors+%5Bafd9d2d4%5D' | |
elif task == 'Analog Diffusion': | |
model = 'analog-diffusion-1.0.ckpt+%5B9ca13f02%5D' | |
elif task == 'Lyriel 1.6': | |
model = 'lyriel_v16.safetensors+%5B68fceea2%5D' | |
elif task == "Elldreth's Vivid Mix": | |
model = 'elldreths-vivid-mix.safetensors+%5B342d9d26%5D' | |
elif task == 'Anything V5': | |
model = 'anything-v4.5-pruned.ckpt+%5B65745d25%5D' | |
elif task == 'Openjourney V4': | |
model = 'openjourney_V4.ckpt+%5Bca2f377f%5D' | |
elif task == 'AbsoluteReality 1.8.1': | |
model = 'absolutereality_v181.safetensors+%5B3d9d4d2b%5D' | |
elif task == 'epiCRealism v5': | |
model = 'epicrealism_naturalSinRC1VAE.safetensors+%5B90a4c676%5D' | |
elif task == 'CyberRealistic 3.3': | |
model = 'cyberrealistic_v33.safetensors+%5B82b0d085%5D' | |
elif task == 'ToonYou 6': | |
model = 'toonyou_beta6.safetensors+%5B980f6b15%5D' | |
c = 0 | |
r = requests.get(f'{url_sd1}?prompt={prompt}&model={model}&negative_prompt={negative_prompt}&steps={steps}&cfg={cfg}&seed={seed}&sampler={sampler}&aspect_ratio=square', timeout=10) | |
job = r.json()['job'] | |
while c < 10: | |
c += 1 | |
time.sleep(2) | |
r2 = requests.get(f'{url_sd2}{job}', timeout=10) | |
status = r2.json()['status'] | |
if status == 'succeeded': | |
photo = f'{url_sd3}{job}.png' | |
return photo | |
if status == "queued": | |
continue | |
if status == 'failed': | |
return None | |
def mirror(image_output, scale_by, method, gfpgan, codeformer): | |
url_up = "https://scale-diffusion-open.api.replicate.com/infer" | |
url_up_f = "https://scale-diffusion-open.api.replicate.com/output/" | |
scale_by = int(scale_by) | |
gfpgan = int(gfpgan) | |
codeformer = int(codeformer) | |
with open(image_output, "rb") as image_file: | |
encoded_string2 = base64.b64encode(image_file.read()) | |
encoded_string2 = str(encoded_string2).replace("b'", '') | |
encoded_string2 = "data:image/png;base64," + encoded_string2 | |
data = { | |
"fn_index": 81, | |
"data": [0, 0, encoded_string2, None, "", "", True, gfpgan, codeformer, 0, scale_by, 512, 512, None, method, "None", 1, False, [], "", ""], | |
"session_hash": "" | |
} | |
r = requests.post(f"{url_up}", json=data, timeout=100) | |
print(r.text) | |
ph = f"{url_up_f}" + str(r.json()['data'][0][0]['name']) | |
return ph | |