Skip to content

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

Models

The model name opens the on-site API page, and Docs links to the package README. Task is task-agnostic when one trained checkpoint or configuration serves every accepted generation condition, task-aware when each condition has its own checkpoint or training run, or single-task when one condition is accepted; Content is content-agnostic when inference uses no canvas/background image or saliency input and content-aware when it does; see the conventions' model catalog classification. Weights are converted original weights you can load. The Training link opens each package's reproduction record, which states whether full training was in scope and verified.

Model Task Content Venue Weights Training Paper Docs
BASNet task: saliency content: content-aware venue: CVPR 2019 checkpoint: ckpt training: n/a Paper README
CanvasVAE task: single-task content: content-agnostic venue: ICCV 2021 checkpoint: ckpt training: train Paper README
CGB-DM task: task-agnostic content: content-aware venue: arXiv 2024 checkpoint: ckpt training: train Paper README
Coarse-to-Fine task: single-task content: content-agnostic venue: AAAI 2022 checkpoint: ckpt training: n/a Paper README
DLT task: task-agnostic content: content-agnostic venue: ICCV 2023 checkpoint: ckpt training: train Paper README
DS-GAN task: single-task content: content-aware venue: CVPR 2023 checkpoint: ckpt training: train Paper README
Flex-DM task: task-agnostic content: content-agnostic venue: CVPR 2023 checkpoint: ckpt training: n/a Paper README
House-GAN task: single-task content: content-agnostic venue: ECCV 2020 checkpoint: ckpt training: n/a Paper README
LACE task: task-agnostic content: content-agnostic venue: ICLR 2024 checkpoint: ckpt training: train Paper README
LayouSyn task: single-task content: content-agnostic venue: ICCV 2025 checkpoint: ckpt training: n/a Paper README
Layout-Corrector task: task-agnostic content: content-agnostic venue: ECCV 2024 checkpoint: ckpt training: train Paper README
LayoutDETR task: single-task content: content-aware venue: ECCV 2024 checkpoint: ckpt training: n/a Paper README
LayoutDM task: task-agnostic content: content-agnostic venue: CVPR 2023 checkpoint: ckpt training: train Paper README
Layout FID task: evaluation content: content-agnostic venue: ACM MM 2021 checkpoint: ckpt training: n/a Paper README
LayoutAction task: task-agnostic content: content-agnostic venue: AAAI 2023 checkpoint: ckpt training: n/a Paper README
LayoutFlow task: task-agnostic content: content-agnostic venue: ECCV 2024 checkpoint: ckpt training: train Paper README
LayoutGPT task: task-agnostic content: content-agnostic venue: NeurIPS 2023 checkpoint: ckpt training: n/a Paper README
LT-Net task: single-task content: content-agnostic venue: CVPR 2021 checkpoint: ckpt training: n/a Paper README
LayoutDiffusion task: task-agnostic content: content-agnostic venue: ICCV 2023 checkpoint: ckpt training: train Paper README
LayoutFormer++ task: task-aware content: content-agnostic venue: CVPR 2023 checkpoint: ckpt training: train Paper README
LayoutGAN++ task: single-task content: content-agnostic venue: ACM MM 2021 checkpoint: ckpt training: train Paper README
LayoutVAE task: single-task content: content-agnostic venue: ICCV 2019 checkpoint: ckpt training: n/a Paper README
LayoutPrompter task: task-agnostic content: content-agnostic venue: NeurIPS 2023 checkpoint: ckpt training: n/a Paper README
Parse-Then-Place task: single-task content: content-agnostic venue: ICCV 2023 checkpoint: ckpt training: n/a Paper README
PixelVAE task: evaluation content: content-aware venue: ICCV 2021 checkpoint: ckpt training: train Paper README
PosterLlama task: task-agnostic content: content-aware venue: ECCV 2024 checkpoint: ckpt training: n/a Paper README
PosterLLaVA task: single-task content: content-aware venue: TMM 2024 checkpoint: ckpt training: n/a Paper README
PosterO task: single-task content: content-aware venue: CVPR 2025 checkpoint: ckpt training: n/a Paper README
RADM task: single-task content: content-aware venue: CIKM 2023 checkpoint: ckpt training: train Paper README
RALF task: task-aware content: content-aware venue: CVPR 2024 checkpoint: ckpt training: n/a Paper README
SmartText task: single-task content: content-aware venue: TMM 2021 checkpoint: ckpt training: n/a Paper README

Libraries

Library Description Docs
library: laygen Layout-generation schemas, pipeline helpers, bbox utilities, schedulers, model-card helpers, and testing helpers. README
library: posgen Poster-generation and content-aware placement contracts for shared dataset names, position content, and label helpers. README
library: traingen Training utilities for package-local PyTorch Lightning CLI integration in packages that train models locally. README
library: traingen-parity 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.