headshots / app.py
Bavisetti's picture
updated
e84961b verified
# import torch
# import numpy as np
# from diffusers import StableDiffusionImg2ImgPipeline
# from PIL import Image
# import gradio as gr
# # Load Stable Diffusion Image-to-Image Pipeline
# pipe = StableDiffusionImg2ImgPipeline.from_pretrained(
# "CompVis/stable-diffusion-v1-4",
# torch_dtype=torch.float16
# )
# pipe.to("cuda" if torch.cuda.is_available() else "cpu") # Use GPU if available
# def generate_headshot(image):
# # Convert NumPy array to PIL Image
# if isinstance(image, np.ndarray):
# image = Image.fromarray(image)
# # Define the AI prompt for professional headshots
# prompt = "A professional corporate headshot, studio lighting, high resolution, DSLR quality"
# # Generate the AI-enhanced headshot
# generated_image = pipe(prompt=prompt, image=image, strength=0.7).images[0]
# return generated_image
# # Create Gradio UI
# iface = gr.Interface(fn=generate_headshot, inputs="image", outputs="image")
# iface.launch()
# ===================================
import torch
import numpy as np
from diffusers import StableDiffusionImg2ImgPipeline
from PIL import Image
import gradio as gr
# Load Stable Diffusion Image-to-Image Pipeline
pipe = StableDiffusionImg2ImgPipeline.from_pretrained(
"stabilityai/stable-diffusion-2-1",
torch_dtype=torch.float32 # Use float32 for CPU
)
# Force execution on CPU (since no GPU is available)
pipe.to("cpu")
# Define function to generate professional headshots
def generate_headshot(image):
if isinstance(image, np.ndarray):
image = Image.fromarray(image)
prompt = "Ultra-realistic professional headshot, studio lighting, 4K resolution, "
"sharp details, DSLR quality, corporate portrait, neutral background, "
"perfect skin texture, cinematic lighting"
# Generate image (Lower strength for subtle changes)
generated_image = pipe(prompt=prompt, image=image, strength=0.5).images[0]
return generated_image
# Create Gradio UI
iface = gr.Interface(fn=generate_headshot, inputs="image", outputs="image")
iface.launch()