design-generators¶
design-generators ports layout, poster, and graphic-design generation research repositories into framework-specific packages for 🤗transformers, 🧨diffusers, and 🤖pydantic-ai that can load converted weights or prompt configuration and run inference through a consistent public schema.
Highlights¶
- ⚡ Run in minutes: converted weights load with
from_pretrained; no original-repository setup required. - 📐 One output schema: generation models share a single interface with
jaxtyping-shaped tensor annotations. - ✅ Reference-verified: our ports are numerically checked against the original implementations through agreement checks with copy-pasteable reproduction commands per package.
Models¶
The model name opens the on-site API page, and Docs links to the package README. Weights are converted original weights you can load, while Training means this repository trained and verified the weights itself.
| Model | Task | Venue | Weights | Training | Paper | Docs |
|---|---|---|---|---|---|---|
BASNet |
Saliency detection | Paper | README | |||
CGB-DM |
Poster layout generation | Paper | README | |||
Coarse-to-Fine |
Layout generation | Paper | README | |||
DLT |
Layout generation | Paper | README | |||
DS-GAN |
Poster layout generation | Paper | README | |||
Flex-DM |
Layout generation | Paper | README | |||
House-GAN |
Floorplan generation | Paper | README | |||
LACE |
Layout generation | Paper | README | |||
LayouSyn |
Layout generation | Paper | README | |||
Layout-Corrector |
Layout generation | Paper | README | |||
LayoutDETR |
Content-image layout generation | Paper | README | |||
LayoutDM |
Layout generation | Paper | README | |||
Layout FID |
Layout evaluation | Paper | README | |||
LayoutAction |
Layout generation | Paper | README | |||
LayoutFlow |
Layout generation | Paper | README | |||
LayoutGPT |
Prompt-based layout generation | Paper | README | |||
LT-Net |
Scene-graph-to-layout generation | Paper | README | |||
LayoutDiffusion |
Layout generation | Paper | README | |||
LayoutFormer++ |
Layout generation | Paper | README | |||
LayoutGAN++ |
Layout generation | Paper | README | |||
LayoutVAE |
Layout generation | Paper | README | |||
LayoutPrompter |
Prompt-based layout generation | Paper | README | |||
Parse-Then-Place |
Layout generation | Paper | README | |||
PosterLlama |
Poster layout generation | Paper | README | |||
PosterLLaVA |
Poster layout generation | Paper | README | |||
PosterO |
Poster layout generation | Paper | README | |||
RALF |
Retrieval-augmented layout generation | Paper | README | |||
SmartText |
Text placement | Paper | README |
Libraries¶
| Library | Description | Docs |
|---|---|---|
| Layout-generation schemas, pipeline helpers, bbox utilities, schedulers, model-card helpers, and testing helpers. | README | |
| Poster-generation and content-aware placement contracts for shared dataset names, position content, and label helpers. | README | |
| Training utilities for package-local PyTorch Lightning CLI integration in packages that train models locally. | README | |
| Deterministic trace capture and comparison helpers for training-parity checks. | README |
Quick Start¶
Install the shared layout library directly from this repository:
pip install "laygen @ git+https://github.com/creative-graphic-design/design-generators.git#subdirectory=lib/laygen"
Model packages depend on workspace libraries that are not published on PyPI, so install laygen together with the model package:
pip install \
"laygen @ git+https://github.com/creative-graphic-design/design-generators.git#subdirectory=lib/laygen" \
"layout-dm @ git+https://github.com/creative-graphic-design/design-generators.git#subdirectory=models/layout-dm"
from layout_dm import LayoutDMPipeline
print(LayoutDMPipeline.__name__)
For development, clone the repository and run member commands from the repository root with uv run --package <member> ...; each package documents its reproduction workflow in REPRODUCING.md.
git clone https://github.com/creative-graphic-design/design-generators.git
cd design-generators
uv run --package layout-dm pytest models/layout-dm/tests -m "not vendor_parity and not integration"
Getting started¶
The Getting Started guide explains the complete installation and first-inference workflow.
How the repository is organized¶
The architecture guide explains the boundary between shared libraries and model packages, while Conventions defines the common public output schema and conditioning names.
Policies¶
Reproducibility¶
Every port is verified against the original implementation: agreement checks (the repository's vendor_parity tests) compare package outputs with references generated by running the original implementation in vendor/. Each package's REPRODUCING.md shows how to reproduce the check, and its README reports the resulting comparison numbers.
Training¶
For models we reproduce by training ourselves, each package provides PyTorch Lightning modules, LightningCLI configs, and package-specific training commands. Shared training helpers live in lib/traingen, parity helpers live in lib/traingen-parity, and runnable workflows are documented in each package's TRAINING.md; see the training reproduction guide for the repository protocol.
Extension¶
Extend by installing pinned released packages and subclassing; never copy framework or repository source trees into your project and mutate them in place. This applies to human developers and AI coding agents alike; see Extending.
API reference¶
See the design-generators documentation for guides and the API reference for workspace libraries and model packages.
License¶
Repository code is licensed under Apache-2.0; see LICENSE. Converted weights, datasets, and vendored upstream code carry their original licenses.