Skip to main content

Welcome to HyperGen

HyperGen is an optimized inference and fine-tuning framework for diffusion models. Train LoRAs 3x faster with 80% less VRAM, or serve models with an OpenAI-compatible API.

Installation

1

Install HyperGen

Install HyperGen via pip:
pip install hypergen
For GPU support, make sure you have PyTorch with CUDA installed:
# If you don't have PyTorch with CUDA
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
2

Verify Installation

Check that HyperGen is installed correctly:
hypergen --version

Your First LoRA Training

Train a LoRA in just 5 lines of code:
1

Prepare Your Dataset

Create a folder with your training images:
my_images/
  photo1.jpg
  photo1.txt  (optional caption)
  photo2.jpg
  photo2.txt  (optional caption)
  ...
Caption files (.txt) are optional but recommended for better results. Just place a text file with the same name as each image.
2

Train the LoRA

Create a Python file and run:
from hypergen import model, dataset

# Load model
m = model.load("stabilityai/stable-diffusion-xl-base-1.0")
m.to("cuda")

# Load dataset
ds = dataset.load("./my_images")

# Train LoRA - that's it!
lora = m.train_lora(ds, steps=1000)
The first run will download the model from HuggingFace, which may take a few minutes depending on your internet connection.
3

Generate Images

Use your trained model to generate images:
# Generate with the base model
image = m.generate("A beautiful sunset over mountains")
image[0].save("output.png")

Serving a Model

Serve any diffusion model with an OpenAI-compatible API:
1

Start the Server

hypergen serve stabilityai/stable-diffusion-xl-base-1.0 --api-key your-secret-key
The server will start on http://localhost:8000
2

Generate Images via API

Use the OpenAI Python client:
from openai import OpenAI
import base64

client = OpenAI(
    api_key="your-secret-key",
    base_url="http://localhost:8000/v1"
)

response = client.images.generate(
    model="sdxl",
    prompt="A cat holding a sign that says hello world",
    n=2,
    size="1024x1024"
)

# Save images
for i, img in enumerate(response.data):
    with open(f"image_{i}.png", "wb") as f:
        f.write(base64.b64decode(img.b64_json))

Advanced Configuration

Customize your training with additional parameters:
lora = m.train_lora(
    ds,
    steps=2000,
    learning_rate=5e-5,
    rank=32,                    # LoRA rank (higher = more capacity)
    alpha=64,                   # LoRA alpha scaling factor
    batch_size=2,               # Or "auto" for automatic
    save_steps=500,             # Save checkpoints
    output_dir="./checkpoints"
)

GPU Requirements

Minimum

  • 8GB VRAM (NVIDIA GPU)
  • CUDA 11.8+
  • For SDXL/SD 1.5 models

Recommended

  • 16GB+ VRAM
  • CUDA 12.1+
  • For FLUX.1 and larger models

Next Steps