Docs / AI & Machine Learning / AI Image Generation with SDXL

AI Image Generation with SDXL

By Admin · Mar 15, 2026 · Updated Apr 23, 2026 · 322 views · 1 min read

SDXL Setup

Stable Diffusion XL (SDXL) is a state-of-the-art text-to-image model producing 1024x1024 images. Running it on your own server gives you unlimited image generation with full privacy.

Requirements

  • NVIDIA GPU with 8GB+ VRAM (12GB recommended)
  • 16GB+ system RAM
  • 30GB+ disk space for models

Installation with Diffusers

pip install diffusers transformers accelerate safetensors

python3 << PYEOF
from diffusers import StableDiffusionXLPipeline
import torch

pipe = StableDiffusionXLPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0",
    torch_dtype=torch.float16,
    variant="fp16"
).to("cuda")

image = pipe(
    prompt="A serene mountain lake at sunset, photorealistic, 8k",
    num_inference_steps=30,
    guidance_scale=7.5
).images[0]

image.save("output.png")
PYEOF

FastAPI Image Generation Service

from fastapi import FastAPI
from diffusers import StableDiffusionXLPipeline
import torch, io, base64

app = FastAPI()
pipe = StableDiffusionXLPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0",
    torch_dtype=torch.float16
).to("cuda")

@app.post("/generate")
async def generate(prompt: str, steps: int = 30):
    image = pipe(prompt=prompt, num_inference_steps=steps).images[0]
    buf = io.BytesIO()
    image.save(buf, format="PNG")
    return {"image": base64.b64encode(buf.getvalue()).decode()}

Optimization

  • Use torch.float16 to reduce VRAM usage
  • Enable xformers for faster inference
  • Use SDXL Turbo for 1-4 step generation
  • Batch generation for throughput

Was this article helpful?