Skip to main content

A unified visual generation data synthesis factory supporting multiple backends (diffusers, xDiT, OpenAI API)

Project description

Diffgentor

A unified visual generation data synthesis tool for batch image generation and editing, designed for GenArena evaluation and beyond.

Abstract

Diffgentor is an efficient pipeline for batch image generation using various image generation and editing models. It supports multiple backends including diffusers, OpenAI API, Google GenAI (Gemini), and third-party models like Step1X-Edit, BAGEL, and Emu3.5.

Key features:

  • Multiple Backends: diffusers, xDiT (multi-GPU), OpenAI, Google GenAI, and third-party models
  • Batch Processing: Efficient batch inference with multi-process/multi-thread support
  • GenArena Integration: Generate model outputs for GenArena pairwise evaluation
  • Optimization Suite: VAE slicing/tiling, torch.compile, attention backends, and more

Quick Start

Installation

Option 1: pip install

# Core installation (diffusers, OpenAI, Google GenAI backends)
pip install diffgentor

# Install with all optional backends
pip install "diffgentor[all]"

GPU users: PyPI's default torch package is CPU-only. To use CUDA-enabled PyTorch, add the PyTorch index:

pip install diffgentor --extra-index-url https://download.pytorch.org/whl/cu126

flash-attn: The flash-attn optional dependency requires CUDA compilation. It is recommended to install a pre-built wheel manually:

pip install flash-attn --no-build-isolation

Or download a pre-built wheel from the flash-attention releases.

Option 2: From source (for development)

git clone https://github.com/ruihanglix/diffgentor.git
cd diffgentor
pip install -e ".[all]"

Download GenArena Dataset

hf download rhli/genarena --repo-type dataset --local-dir ./data

Generate Images for MultiRef Subset

Example using FLUX.2 [klein] 4B model:

diffgentor edit --backend diffusers \
    --model_name black-forest-labs/FLUX.2-klein-4B \
    --input ./data/multiref/ \
    --output_dir ./output/multiref/FLUX2-klein-4B/

Supported Backends

Backend Type Description
diffusers T2I / Editing HuggingFace diffusers with auto pipeline detection
xdit T2I Multi-GPU inference with xDiT parallelism
openai T2I / Editing OpenAI API (GPT-Image, DALL-E)
google_genai T2I / Editing Google GenAI (Gemini native image models)
step1x Editing Step1X-Edit model
bagel Editing ByteDance BAGEL model
emu35 Editing BAAI Emu3.5 model
dreamomni2 Editing DreamOmni2 (FLUX.1-Kontext + Qwen2.5-VL)
flux_kontext_official Editing BFL official Flux Kontext
hunyuan_image_3 Editing Tencent HunyuanImage-3.0-Instruct

Documentation

Document Description
Image Editing Guide Comprehensive guide for image editing
Text-to-Image Guide Text-to-image generation guide
Optimization Guide Memory and speed optimization
Prompt Enhancement LLM-based prompt enhancement
Environment Variables Configuration via environment variables

Backend-Specific Guides

Environment Variables

Model-specific parameters are configured via DG_* environment variables:

# Step1X-Edit
DG_STEP1X_VERSION=v1.1
DG_STEP1X_SIZE_LEVEL=512

# BAGEL
DG_BAGEL_CFG_TEXT_SCALE=3.0
DG_BAGEL_CFG_IMG_SCALE=1.5

# API backends
OPENAI_API_KEY=your_key
GEMINI_API_KEY=your_key

See Environment Variables for the complete list.

Citation

@misc{li2026genarenaachievehumanalignedevaluation,
      title={GenArena: How Can We Achieve Human-Aligned Evaluation for Visual Generation Tasks?},
      author={Ruihang Li and Leigang Qu and Jingxu Zhang and Dongnan Gui and Mengde Xu and Xiaosong Zhang and Han Hu and Wenjie Wang and Jiaqi Wang},
      year={2026},
      eprint={2602.06013},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2602.06013},
}

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diffgentor-0.1.2.tar.gz (347.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

diffgentor-0.1.2-py3-none-any.whl (430.9 kB view details)

Uploaded Python 3

File details

Details for the file diffgentor-0.1.2.tar.gz.

File metadata

  • Download URL: diffgentor-0.1.2.tar.gz
  • Upload date:
  • Size: 347.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for diffgentor-0.1.2.tar.gz
Algorithm Hash digest
SHA256 4635717687ea7e15b89804cd05c36413bdc387fd2d72dc47c74e575ee67f8fa0
MD5 4f0418039bb9959ed6180e8c6e59b4c6
BLAKE2b-256 3bcc3cf89dc70282da5e3607f478bd75fec89dcedd7182d8071cb41a5e187939

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffgentor-0.1.2.tar.gz:

Publisher: publish.yml on ruihanglix/diffgentor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file diffgentor-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: diffgentor-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 430.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for diffgentor-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 61fb4a68127d89997e51db334b21be07479dddeb7721f253a6f8ae3b05b531e0
MD5 7aca2b998c235bd85f6ed8b1b593758d
BLAKE2b-256 5f8de09cd6217d46dd0a07de2c24ec207aad2308f72423a2d65409bf974ae313

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffgentor-0.1.2-py3-none-any.whl:

Publisher: publish.yml on ruihanglix/diffgentor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page