Layout reasoning for professional graphic design. Give the model a set of layer
assets and a canvas size; it returns the poster layout as JSON — a bounding box
and stacking order for every layer.
One JSON object: canvas_size + per-layer x, y, w, h, order, category
Training
Perturbed SFT → RL for visual-reality alignment → RL from aesthetic feedback
Usage
This checkpoint expects a specific image preprocessing pipeline — each layer is
flattened onto an auto-selected contrasting background, scaled to a 28-pixel
aligned canvas, and letterboxed with grey. Use the reference implementation
rather than feeding raw images:
The repository also contains the renderer that composites the predicted layout
and the original layers into the finished poster (PNG or editable PSD).
Prompt format
The model was trained with a fixed system prompt and this user turn:
Please process the following {N} RGB PNG layer assets and compose a single,
aesthetically pleasing poster. The canvas size is {W} x {H} (width x height).
optionally followed by Structure Requirements: {brief}. Both strings live in
postercopilot/prompts.py in the code repository; paraphrasing them moves the
input off the training distribution.
Notes
Decoding is greedy with repetition_penalty=1.05. Coordinates are emitted
digit by digit, so a single flipped digit re-rolls the rest of the layout —
expect different-but-comparable results across GPUs, dtypes and attention
kernels. Evaluate over a set of samples rather than one generation.
Requires ~20 GB of free VRAM in bfloat16.
transformers>=4.55 — the config uses the nested text_config schema that
older releases predate.
Citation
bibtex
1@article{wei2025postercopilot,
2 title={PosterCopilot: Toward Layout Reasoning and Controllable Editing for Professional Graphic Design},
3 author={Wei, Jiazhe and Li, Ken and Lao, Tianyu and Wang, Haofan and Wang, Liang and Shan, Caifeng and Si, Chenyang},
4 journal={arXiv preprint arXiv:2512.04082},
5 year={2025}
6}
License
Apache 2.0, inherited from the Qwen2.5-VL-7B-Instruct base model.