Model reference · open weights
PosterOmni is an open-weight image model from MeiGen-AI. PosterOmni_v1 (BF16) weighs 40.9 GB; the smallest configuration that runs it is H100 80 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the MeiGen-AI/PosterOmni_v1 model card, 2026-10-01
What it is
| Released by | MeiGen-AI |
|---|---|
| Released | 2026-02-14 |
| Parameters | 20.4B |
| VRAM | 40.9 GB for the weights |
What it runs on
| Card | One image | Memory |
|---|---|---|
| RTX 3060 12 GB … L40S 48 GB | does not fit | |
| A100 80 GB | fits | 78.2 GB |
| H100 80 GB | fits | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | fits | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | fits | 107 GB |
| H200 141 GB | fits | 138 GB |
| B200 180 GB | fits | 176 GB |
From the model card
PosterOmni is a unified image-to-poster framework that bridges two regimes in poster creation:
This Hugging Face repository currently provides PosterOmni-v1 transformer weights (component-only). Other components (VAE / text encoder / tokenizer / scheduler / processor) should be loaded from a compatible base pipeline.
git clone https://github.com/Ephemeral182/PosterOmni.git
cd PosterOmni
conda create -n posteromni python=3.11 -y
conda activate posteromni
pip install -r requirements.txt
QwenImageEditPlusPipeline (Transformer from this repo)This repo provides PosterOmni-v1 transformer weights (Diffusers component-only).
Please load a compatible base pipeline (e.g., Qwen/Qwen-Image-Edit-Plus) and replace its transformer with our weights.
⚠️ Component-only: this repo does NOT include
model_index.jsonand other pipeline components, so...Pipeline.from_pretrained("MeiGen-AI/PosterOmni_v1")will NOT work.
import torch
from PIL import Image
from diffusers import QwenImageEditPlusPipeline
device = "cuda" if torch.cuda.is_available() else "cpu"
dtype = torch.bfloat16 if device == "cuda" else torch.float32
# 1) Load full base pipeline
base_model = "Qwen/Qwen-Image-Edit-Plus" # change to your compatible base
pipe = QwenImageEditPlusPipeline.from_pretrained(base_model, torch_dtype=dtype).to(device)
pipe.tokenizer_max_length = 1024 # optional
# 2) Plug PosterOmni transformer from this repo
posteromni_id = "MeiGen-AI/PosterOmni_v1"
pipe.transformer = pipe.transformer.__class__.from_pretrained(posteromni_id, torch_dtype=dtype).to(device)
# 3) Run inference
img = Image.open("your_input.jpg").convert("RGB")
# recommended: make width/height multiples of 16
w, h = img.size
w, h = (w // 16) * 16, (h // 16) * 16
prompt = "Rescale image to 1:1" # for rescaling, include "to W:H"
generator = torch.Generator(device=device).manual_seed(42)
out = pipe(
image=[img],
prompt=prompt,
negative_prompt="",
width=w,
height=h,
num_inference_steps=40,
true_cfg_scale=4.0,
guidance_scale=1.0,
generator=generator,
).images[0]
out.save("posteromni_test.png")
print("Saved: posteromni_test.png")
Notes
to W:H, e.g. Rescale image to 16:9.
PosterOmni is trained with a four-stage workflow:
We introduce a unified data suite with PosterOmni-200K (training) and PosterOmni-Bench (evaluation) for image-to-poster generation. PosterOmni-200K contains 200K+ paired samples covering six tasks—local editing (Rescaling, Filling, Extending, Identity-driven) and global creation (Layout-driven, Style-driven)—and spans six poster themes: Products, Food, Events/Travel, Nature, Education, Entertainment. PosterOmni-Bench provides 540 Chinese and 480 English prompts, evenly distributed across the same six themes for consistent evaluation across tasks.
| Regime | Tasks |
|---|---|
| Poster Local Editing | Rescaling · Filling · Extending · Identity-driven |
| Poster Global Creation | Layout-driven · Style-driven |
We also have another text-to-poster work that may interest you:
[ICLR 2026] PosterCraft: Rethinking High-Quality Aesthetic Poster Generation in a Unified Framework
This repository provides:
config.jsondiffusion_pytorch_model-*.safetensorsdiffusion_pytorch_model.safetensors.index.json(i.e., Transformer2DModel weights in Diffusers format.)
Sixiang Chen: schen691@connect.hkust-gz.edu.cn
Jianyu Lai: jlai218@connect.hkust-gz.edu.cn
Jialin Gao: gaojialin04@meituan.com
Hengyu Shi: qq1842084@gmail.com
Zhongying Liu: liuzhongying@meituan.com
If you find PosterOmni useful for your research, please cite:
@article{chen2026posteromni,
title={PosterOmni: Generalized Artistic Poster Creation via Task Distillation and Unified Reward Feedback},
author={Chen, Sixiang and Lai, Jianyu and Gao, Jialin and Shi, Hengyu and Liu, Zhongying and Ye, Tian and Luo, Junfeng and Wei, Xiaoming and Zhu, Lei},
journal={arXiv preprint arXiv:2602.12127},
year={2026}
}
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.
Running it yourself
Rent a machine by the hour. ComfyUI is installed on it. Open ComfyUI through the tunnel and load the workflow from the model's card on Hugging Face; choose this model's file in its loader.
# on your rented machine (the ssh line is on its page in the console)
# get REPO FILE FOLDER: one file into /workspace/models/FOLDER, where ComfyUI loads it from
get() { hf download "$1" "$2" --local-dir /workspace/hf-files && mkdir -p "/workspace/models/$3" && mv "/workspace/hf-files/$2" "/workspace/models/$3/$4"; }
# the model (937 MB)
get MeiGen-AI/PosterOmni_v1 diffusion_pytorch_model-00005-of-00005.safetensors diffusion_models
start-comfyui
# on your computer, in a second terminal: ComfyUI in your browser at http://localhost:8188
# HOST, PORT and BOOKING are your machine's, from its page in the console
ssh -o HostKeyAlias=axforge-BOOKING -o StrictHostKeyChecking=accept-new -L 8188:localhost:8188 dev@HOST -p PORT