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.