# app.py import gradio as gr from diffusers import StableDiffusionImg2ImgPipeline import torch # مدل معتبر model_id = "nitrosocke/ghibli-diffusion" pipe = StableDiffusionImg2ImgPipeline.from_pretrained( model_id, torch_dtype=torch.float16 ) pipe = pipe.to("cuda" if torch.cuda.is_available() else "cpu") def convert_to_ghibli(input_image): # پرامپت داخلی (کاربر چیزی وارد نمی‌کند) prompt = "anime portrait in Studio Ghibli style" output = pipe( prompt=prompt, image=input_image, strength=0.7, guidance_scale=7.5 ).images[0] return output with gr.Blocks() as demo: gr.Markdown("## ✨ تبدیل عکس به انیمه (استایل گیبلی)") with gr.Row(): with gr.Column(): input_image = gr.Image(type="pil", label="آپلود عکس") convert_button = gr.Button("تبدیل") with gr.Column(): output_image = gr.Image(label="خروجی گیبلی") convert_button.click( convert_to_ghibli, inputs=[input_image], outputs=[output_image] ) demo.launch()