kostakoff/stable-diffusion-xl-base-1.0-GGUF
kostakoff
Texto a imagen
Versión cuantizada en formato GGUF de Stable Diffusion XL Base 1.0, preparada para ejecutarse con stable-diffusion.cpp. El repositorio ofrece pesos SDXL convertidos desde los safetensors originales, con varias cuantizaciones para equilibrar calidad, tamaño y consumo de memoria en generación de imágenes texto-a-imagen.
Como usar
Descargar la cuantización recomendada:
# Recommended — Q8_0
wget https://huggingface.co/kostakoff/stable-diffusion-xl-base-1.0-GGUF/resolve/main/sd_xl_base_1.0_0_Q8_0.gguf
Compilar stable-diffusion.cpp con CUDA:
git clone https://github.com/leejet/stable-diffusion.cpp
cd stable-diffusion.cpp
git submodule init
git submodule update
mkdir build && cd build
cmake .. -DSD_CUDA=ON
cmake --build . --config Release
Arrancar el servidor:
export CUDA_VISIBLE_DEVICES=0
./stable-diffusion.cpp/build/bin/sd-server \
-m ./sd_xl_base_1.0_0_Q8_0.gguf \
--vae-on-cpu \
--listen-ip 0.0.0.0 \
--listen-port 8081
Generar una imagen:
curl -s http://127.0.0.1:8081/v1/images/generations \
-H "Content-Type: application/json" \
-d '{
"model": "sdxl",
"prompt": "A lovely cat {\"seed\": 357925}",
"n": 1,
"size": "1024x1024",
"response_format": "b64_json"
}' | jq -r '.data[0].b64_json' | base64 --decode > out.png
Funcionalidades
- Generación texto-a-imagen basada en Stable Diffusion XL Base 1.0.
- Pesos en formato GGUF compatibles con stable-diffusion.cpp y sd.cpp.
- Cuantizaciones disponibles: BF16, Q8_0, Q4_K y Q4_0.
- Q8_0 se recomienda como equilibrio entre calidad y tamaño.
- Incluye ejemplo de servidor local compatible con endpoint tipo /v1/images/generations.
- Permite pasar parámetros adicionales como JSON incrustado en el campo prompt.
- Uso recomendado de --vae-on-cpu para reducir el consumo de VRAM en GPUs de consumo.
Casos de uso
- Ejecutar SDXL localmente con stable-diffusion.cpp usando pesos GGUF.
- Generar imágenes de 1024x1024 a partir de prompts de texto.
- Probar cuantizaciones de SDXL para ajustar calidad, tamaño de archivo y requisitos de hardware.
- Servir un modelo SDXL en una API local para flujos de generación de imágenes.
- Usar GPUs de consumo descargando el VAE a CPU para evitar picos altos de VRAM.