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.