Paper2Poster
A multi-agent pipeline that turns scientific-paper PDFs into editable PPTX posters.
- Source repo
- Paper2Poster/Paper2Poster
- Stars
- ★ 4k
- Last updated
- 16d ago
- License
- MIT
- Primary language
- Python
- FA score
- 50/100 · Major gaps
At a glance
- How it runs
- Works with
- Portable with changesCodex · OpenAI API
- Cost
- Free software; you pay for model usage
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- A researcher preparing for a conference has a paper.pdf and needs an academic poster that remains editable in PowerPoint.
- Not a fit if
- Users without GPUs or willingness to run a vLLM server
- Developers wanting a stable Python library or service API
- Source review
- 50/100 · Major gaps 1 safety controls not found
What does this agent do, and when should you use it?
Paper2Poster is a multimodal poster-automation project for scientific papers, centered on a system called PosterAgent. It takes a paper.pdf input and produces an editable poster.pptx through a top-down, visual-in-the-loop multi-agent workflow. The README describes Parser, Planner, and a Painter-Commentor loop: paper assets are organized, text and visuals are laid out, then rendered panels are refined with VLM feedback. The project documents API-based GPT-4o configurations as well as vLLM-hosted open-model combinations, alongside Docker deployment, a Gradio demo, YAML styling, and logo support. It also exposes evaluation commands for PaperQuiz, VLM-as-Judge, and statistical measures.
Place a paper at {dataset_dir}/{paper_name}/paper.pdf and run python -m PosterAgent.new_pipeline. The command accepts --poster_path, --model_name_t for the text model, --model_name_v for the vision model, and poster dimensions, then generates poster.pptx; documented examples use 48 by 36 inches. Section-content generation can run in parallel with --max_workers. With --conference_venue, it first checks logo_store/institutes/ and logo_store/conferences/, then can search DuckDuckGo if no local logo is found, or use Google Custom Search with --use_google_search and configured credentials; explicit --institution_logo_path and --conference_logo_path options bypass detection. Styling can come from config/poster.yaml or a poster.yaml beside paper.pdf. Evaluation is run through python -m Paper2Poster-eval.eval_poster_pipeline with qa, judge, or stats metrics.
- A researcher preparing for a conference has a paper.pdf and needs an academic poster that remains editable in PowerPoint.
- A lab is processing several papers and wants to use --max_workers to generate section content in parallel.
- A team with a vLLM deployment wants to use Qwen-2.5-7B-Instruct for text generation and pair it with GPT-4o or a local vision model.
- A conference presenter needs a poster with a NeurIPS or institutional logo, using automatic lookup or supplied logo files.
- An evaluator wants to compare generated posters on the Paper2Poster-data dataset with PaperQuiz, VLM-as-Judge, or statistical metrics.
How do you install or deploy this agent?
Install Python dependencies:
pip install -r requirements.txtInstall LibreOffice:
sudo apt install libreofficeInstall poppler:
conda install -c conda-forge popplerCreate .env in the project root and set:
OPENAI_API_KEY=<your_openai_api_key>For Google Custom Search logo lookup, also set GOOGLE_SEARCH_API_KEY and GOOGLE_SEARCH_ENGINE_ID. Before using open-source models, deploy them with vLLM and ensure the port is configured in get_agent_config() in utils/wei_utils.py.
How do you use this agent?
After creating {dataset_dir}/{paper_name}/paper.pdf, a documented GPT-4o invocation is:
python -m PosterAgent.new_pipeline \
--poster_path="${dataset_dir}/${paper_name}/paper.pdf" \
--model_name_t="4o" \
--model_name_v="4o" \
--poster_width_inches=48 \
--poster_height_inches=36The generated file is poster.pptx. For Docker, first run docker build -t paper2poster ., then use the documented docker run example to mount Paper2Poster-data and an output directory and provide OPENAI_API_KEY. For preparing poster-ready paper content only, the repository also provides a lightweight skill in skills/; its documented Codex invocation is: Use $paper2poster-poster to turn this paper into a poster package.
What are this agent's strengths and limitations?
- It produces editable PPTX output rather than only a raster or PDF poster.
- The documented workflow combines paper parsing, layout planning, rendering, and VLM feedback intended to address overflow and alignment.
- Text and vision models can be mixed; the README provides GPT-4o, vLLM Qwen plus GPT-4o, and fully local vLLM Qwen configurations.
- YAML supports global and per-paper visual styling, while logo handling can be automatic or explicitly file-based.
- The repository documents an evaluation path covering dataset download plus qa, judge, and stats modes.
- A full local setup requires Python, LibreOffice, and poppler; the open-model route additionally requires operating vLLM and configuring its port.
- The GPT-4o configuration depends on OPENAI_API_KEY, and the documentation does not provide API usage, cost, or service-availability guarantees.
- Automatic logo lookup may need network access when the local store has no match; Google-based lookup adds separate credentials.
- The documentation specifies PDF input and PPTX output but does not state behavior for low-quality scans, encrypted PDFs, or unusual paper formats.
- CLI, Docker, and Gradio are documented, but no stable library API or external service protocol is described.
How does this agent compare with similar options?
The README documents three operating profiles: GPT-4o for both text and vision is labeled “High Performance”; vLLM Qwen-2.5-7B-Instruct for text plus GPT-4o vision is labeled “Economic”; and vLLM Qwen configurations for both text and vision are the local option. The latter two require the corresponding vLLM services to be deployed.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Paper2Poster This agent | 50 · Major gaps | CLIFree + model costs | ★ 4k | 16d ago | Python | Codex · OpenAI API |
| Image-to-Editable-PPT Skill | 66 · Some gaps | Agent plugin / skillFree + model costs | ★ 3.3k | 1mo ago | Python | Codex |
| The Delegation | 45 · Major gaps | Web appFree + model costs | ★ 729 | 7mo ago | TypeScript | — |
| ArcReel Video Creation Workspace | 77 · Good | Self-hosted serviceFree + model costs | ★ 6.3k | 1d ago | Python | OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
The skill directs the agent to ground work in the paper, avoid inventing metrics or unseen figure content, and label missing information and assumptions. The README documents OpenAI and optional Google Search keys, online logo search, and local model paths, but does not fully explain what paper or generated data is sent to models, search, or other external services, how keys are protected, or when external actions require confirmation. No recovery or rollback guidance is shown, so those scores are limited or zero. The dependency list is broad and includes unpinned entries, supporting only partial credit for dependency security.
The skill's workflow proceeds coherently from gathering inputs through extraction, compression, deliverables, and a quality pass; the README supplies model configuration and execution commands. Installation is documented, but the requirements list is large and includes unpinned packages and a Git dependency, so ordinary-environment availability is not established. The skill says to surface missing information, but the supplied files offer little general error handling or troubleshooting guidance.
The skill covers poster copy, layout guidance, style drafts, and execution packages, distinguishes draft from execution mode, and invites constraints such as audience, dimensions, branding, and deadline. Its trigger description spans PDFs, arXiv links, manuscripts, summaries, PPTX posters, and other broad cases, so it may activate for tasks that only need a summary. The README supports local vLLM, API models, Docker, and optional logo search, providing useful environment choices.
The README organizes installation, Docker, quick start, evaluation, skill entry points, and examples. The skill defines deliverables and related reference files with clear names. Setup instructions cover Python, LibreOffice, Poppler, API keys, and several commands. The complete MIT license earns full marks. The dated update list shows project changes but not a clear versioning policy; maintenance responsibility is only partly evident from the project naming and upstream guidance. Known limitations and FAQ material are sparse in the supplied evidence.
The skill specifies a brief, copy, layout, and runbook, with poster.yaml added in execution mode, and calls for traceable numbers and a clear narrative. These deliverables are directly usable for subsequent layout work. The workflow adds clear value by reshaping paper content for poster reading. Cost-benefit evidence is partial: the README presents API and local model options, but does not adequately characterize service-key, installation, or generation-resource costs.
The skill requires numbers to be traceable to source material and forbids unsupported metrics, ablation claims, or unseen figure content. The README provides a paper citation, commands, and evaluation metrics, which makes some claims traceable. README and skill guidance corroborate the core purpose, but the source sample contains only a Docling CLI excerpt and does not show the main generation path, limiting implementation cross-checks. The skill calls out assumptions and distinguishes commands that are unexecuted, supporting fact-inference separation; full marks are not justified because these are instructions, not execution evidence.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Before using hosted models or online logo search, confirm which services receive paper content and credentials; the skill and README do not fully describe data-flow boundaries.
- requirements.txt is extensive and includes unpinned dependencies; check package sources and versions against the intended deployment environment.
- The skill provides content-preparation and execution guidance. This static review did not run the generation workflow and cannot establish output quality or reproducibility.
FAQ
What does it take in and produce?
Is OpenAI required?
What credentials and permissions are needed?
How can generated posters be evaluated?
Thanks — we use this to improve the page.