Downloads · 30 days
0
Maikelpr/Bsuej
Bsuej is a machine learning model from Maikelpr. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
import gradio as gr from huggingfacehub import InferenceClient import requests from PIL import Image import io
Downloads · 30 days
0
Access
Public
Updated Nov 23, 2025
Repo size
—
Likes
0
Public
Click a slice to open those files.
.md3 KB · 67%
From the Hugging Face model README
import gradio as gr from huggingface_hub import InferenceClient import requests from PIL import Image import io
HF_TOKEN = "tu_token_aqui" # Reemplaza con tu token real
image_client = InferenceClient(model="stabilityai/stable-diffusion-2-1", token=HF_TOKEN) video_client = InferenceClient(model="stabilityai/stable-video-diffusion", token=HF_TOKEN)
def generate_image(prompt, image_input=None): """Genera una imagen a partir de texto o refina una imagen subida.""" if image_input: # Si hay imagen, usa como base (aunque SD es text-based, podemos simular refinamiento) # Nota: Para refinamiento real, usa un modelo como img2img, pero aquà simplificamos. prompt = f"Refine this image: {prompt}" # Convertir imagen a bytes y enviar (HF Inference API soporta img2img en algunos modelos) image_bytes = io.BytesIO() image_input.save(image_bytes, format='PNG') image_bytes = image_bytes.getvalue() result = image_client.image_to_image(image=image_bytes, prompt=prompt) else: result = image_client.text_to_image(prompt) return result
def generate_video(image_input, prompt=""): """Genera un video a partir de una imagen.""" if image_input is None: return "Error: Sube una imagen para generar el video."
# Convertir imagen a bytes
image_bytes = io.BytesIO()
image_input.save(image_bytes, format='PNG')
image_bytes = image_bytes.getvalue()
# Generar video (image-to-video)
result = video_client.image_to_video(image=image_bytes, prompt=prompt if prompt else "Animate this image naturally")
# El resultado es un video; Gradio lo maneja automáticamente
return result
with gr.Blocks(title="Generador de IA: Fotos y Videos Sin Restricciones") as demo: gr.Markdown("# Generador de Fotos y Videos con IA\nBasado en Hugging Face. Sin restricciones de contenido.")
with gr.Tab("Generar Foto (Text-to-Image)"):
prompt_input = gr.Textbox(label="Describe la imagen (prompt)", placeholder="Ej: Un gato volando en el espacio")
image_upload = gr.Image(label="Opcional: Sube una imagen para refinar", type="pil")
generate_btn = gr.Button("Generar Imagen")
output_image = gr.Image(label="Imagen Generada")
generate_btn.click(generate_image, inputs=[prompt_input, image_upload], outputs=output_image)
with gr.Tab("Generar Video (Image-to-Video)"):
video_image_upload = gr.Image(label="Sube una imagen base", type="pil")
video_prompt = gr.Textbox(label="Opcional: Prompt para el video", placeholder="Ej: Haz que se mueva como si estuviera vivo")
generate_video_btn = gr.Button("Generar Video")
output_video = gr.Video(label="Video Generado")
generate_video_btn.click(generate_video, inputs=[video_image_upload, video_prompt], outputs=output_video)