[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-72241":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":15,"starSnapshotCount":15,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},72241,"Paper2Poster","Paper2Poster\u002FPaper2Poster","[NeurIPS 2025] Open-source Multi-agent Poster Generation from Papers","https:\u002F\u002Fpaper2poster.github.io\u002F",null,"Python",3776,277,6,21,0,8,39,93,24,104.13,"MIT License",false,"main",[25,26,27,28,29,30],"agent","multi-agent-systems","paper","poster","pptx","task-automation","2026-06-12 04:01:04","# 🎓Paper2Poster: Multimodal Poster Automation from Scientific Papers\n# 从学术论文自动生成学术海报\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.21497\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2505.21497-red\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpaper2poster.github.io\u002F\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProject-Page-brightgreen\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FPaper2Poster\u002FPaper2Poster\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Dataset-orange\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fpapers\u002F2505.21497\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Daily Papers-red\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002F_akhaliq\u002Fstatus\u002F1927721150584390129\" target=\"_blank\">\u003Cimg alt=\"X (formerly Twitter) URL\" src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Furl?url=https%3A%2F%2Fx.com%2F_akhaliq%2Fstatus%2F1927721150584390129\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fcamel-ai\u002FPaper2Poster\" target=\"_blank\"> \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Spaces%20Demo-blue\"> \u003C\u002Fa>\n\u003C\u002Fp>\n\nWe address **How to create a poster from a paper** and **How to evaluate poster.**\n\n![Overview](.\u002Fassets\u002Foverall.png)\n\n\n## 🤩 Paper2Poster for Paper2Poster\n\n![Overview](.\u002Fassets\u002Fteaser.jpeg)\n\n## 🔥 Update\n- [x] [2025.10.7] Check out follow-up **[Paper2Video](https:\u002F\u002Fgithub.com\u002Fshowlab\u002FPaper2Video)**.\n- [x] [2025.11.3] Added **Gradio demo** support.\n- [x] [2025.10.18] Added **Docker** support.\n- [x] [2025.10.13] Added automatic **logo support** for conferences and institutions, **YAML-based style customization**, a new default theme.\n- [x] [2025.9.18] Paper2Poster has been accepted to **NeurIPS 2025 Dataset and Benchmark Track**.\n- [x] [2025.9.3]  We now support generate per section content in **parallel** for faster generation, by simply specifying `--max_workers`.\n- [x] [2025.5.27] We release the [arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.21497), [code](https:\u002F\u002Fgithub.com\u002FPaper2Poster\u002FPaper2Poster) and [`dataset`](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FPaper2Poster\u002FPaper2Poster)\n\n\u003C!--## 📚 Introduction-->\n\n**PosterAgent** is a top-down, visual-in-the-loop multi-agent system from `paper.pdf` to **editable** `poster.pptx`.\n\n![PosterAgent Overview](.\u002Fassets\u002Fposteragent.png)\n\n\u003C!--A Top-down, visual-in-the-loop, efficient multi-agent pipeline, which includes (a) Parser distills the paper into a structured asset library; the (b) Planner aligns text–visual pairs into a binary‐tree layout that preserves reading order and spatial balance; and the (c) Painter-Commentor loop refines each panel by executing rendering code and using VLM feedback to eliminate overflow and ensure alignment.-->\n\n\u003C!--![Paper2Poster Overview](.\u002Fassets\u002Fpaperquiz.png)-->\n\n\u003C!--**Paper2Poster:** A benchmark for paper to poster generation, paired with human generated poster, with a comprehensive evaluation suite, including metrics like **Visual Quality**, **Textual Coherence**, **VLM-as-Judge** and **PaperQuiz**. Notably, PaperQuiz is a novel evaluation which assume A Good poster should convey core paper content visually.-->\n\n## 📋 Table of Contents\n\n\u003C!--- [📚 Introduction](#-introduction)-->\n- [🛠️ Installation](#-installation)\n- [🐳 Docker Deployment](#-docker-deployment)\n- [🚀 Quick Start](#-quick-start)\n- [🔮 Evaluation](#-evaluation)\n---\n\n## 🛠️ Installation\nOur Paper2Poster supports both local deployment (via [vLLM](https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Fv0.6.6\u002Fgetting_started\u002Finstallation.html)) or API-based access (e.g., GPT-4o).\n\n**Python Environment**\n```bash\npip install -r requirements.txt\n```\n\n**Install Libreoffice**\n```bash\nsudo apt install libreoffice\n```\n\nor, if you do **not** have sudo access, download `soffice` executable directly: https:\u002F\u002Fwww.libreoffice.org\u002Fdownload\u002Fdownload-libreoffice\u002F, and add the executable directory to your `$PATH`.\n\n**Install poppler**\n```bash\nconda install -c conda-forge poppler\n```\n\n**API Key**\n\nCreate a `.env` file in the project root and add your OpenAI API key:\n\n```bash\nOPENAI_API_KEY=\u003Cyour_openai_api_key>\n```\n\n**Optional: Google Search API (for logo search)**\n\nTo use Google Custom Search for more reliable logo search, add these to your `.env` file:\n\n```bash\nGOOGLE_SEARCH_API_KEY=\u003Cyour_google_search_api_key>\nGOOGLE_SEARCH_ENGINE_ID=\u003Cyour_search_engine_id>\n```\n\n---\n\n## 🐳 Docker Deployment\n\nFor easier deployment, you can use Docker to run Paper2Poster without manual dependency installation.\n\n**Build the Docker image:**\n```bash\ndocker build -t paper2poster .\n```\n\n**Troubleshooting:**\n- If you get a \"permission denied\" error when running Docker commands, use `sudo` before Docker commands (e.g., `sudo docker build -t paper2poster .`)\n\n**Example:**\n```bash\n# Create output directory if it doesn't exist\nmkdir -p \u003C4o_4o>_generated_posters\n\ndocker run --rm \\\n-e OPENAI_API_KEY=\u003Cyour_openai_api_key> \\\n-v \"$(pwd)\u002FPaper2Poster-data:\u002FPaper2Poster-data\" \\\n-v \"$(pwd)\u002F\u003C4o_4o>_generated_posters:\u002Fapp\u002F\u003C4o_4o>_generated_posters\" \\\npaper2poster \\\npython -m PosterAgent.new_pipeline \\\n--poster_path=\"\u002FPaper2Poster-data\u002F\u003Cpaper_name>\u002Fpaper.pdf\" \\\n--model_name_t=4o \\\n--model_name_v=4o \\\n--poster_width_inches=48 \\\n--poster_height_inches=36\n```\n\nThe generated poster will be saved in `\u003C4o_4o>_generated_posters\u002FPaper2Poster-data\u002Fpaper_name\u002Fposter.pptx` on your host machine.\n\n---\n\n## 🚀 Quick Start\nCreate a folder named `{paper_name}` under `{dataset_dir}`, and place your paper inside it as a PDF file named `paper.pdf`.\n```\n📁 {dataset_dir}\u002F\n└── 📁 {paper_name}\u002F\n    └── 📄 paper.pdf\n```\nTo use open-source models, you need to first deploy them using [vLLM](https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Fv0.6.6\u002Fgetting_started\u002Finstallation.html), ensuring the port is correctly specified in the `get_agent_config()` function in [`utils\u002Fwei_utils.py`](utils\u002Fwei_utils.py).\n\n- [High Performance] Generate a poster with `GPT-4o`:\n\n```bash\npython -m PosterAgent.new_pipeline \\\n    --poster_path=\"${dataset_dir}\u002F${paper_name}\u002Fpaper.pdf\" \\\n    --model_name_t=\"4o\" \\  # LLM\n    --model_name_v=\"4o\" \\  # VLM\n    --poster_width_inches=48 \\\n    --poster_height_inches=36\n```\n\n- [Economic] Generate a poster with `Qwen-2.5-7B-Instruct` and `GPT-4o`:\n\n```bash\npython -m PosterAgent.new_pipeline \\\n    --poster_path=\"${dataset_dir}\u002F${paper_name}\u002Fpaper.pdf\" \\\n    --model_name_t=\"vllm_qwen\" \\  # LLM\n    --model_name_v=\"4o\" \\         # VLM\n    --poster_width_inches=48 \\\n    --poster_height_inches=36 \\\n    --no_blank_detection          # An option to disable blank detection\n```\n\n- [Local] Generate a poster with `Qwen-2.5-7B-Instruct`:\n\n```bash\npython -m PosterAgent.new_pipeline \\\n    --poster_path=\"${dataset_dir}\u002F${paper_name}\u002Fpaper.pdf\" \\\n    --model_name_t=\"vllm_qwen\" \\           # LLM\n    --model_name_v=\"vllm_qwen_vl\" \\        # VLM\n    --poster_width_inches=48 \\\n    --poster_height_inches=36\n```\n\nPosterAgent **supports flexible combination of LLM \u002F VLM**, feel free to try other options, or customize your own settings in `get_agent_config()` in [`utils\u002Fwei_utils.py`](utils\u002Fwei_utils.py).\n\n### Adding Logos to Posters\n\nYou can automatically add institutional and conference logos to your posters:\n\n```bash\npython -m PosterAgent.new_pipeline \\\n    --poster_path=\"${dataset_dir}\u002F${paper_name}\u002Fpaper.pdf\" \\\n    --model_name_t=\"4o\" \\\n    --model_name_v=\"4o\" \\\n    --poster_width_inches=48 \\\n    --poster_height_inches=36 \\\n    --conference_venue=\"NeurIPS\"  # Automatically searches for conference logo\n```\n\n**Logo Search Strategy:**\n1. **Local search**: First checks the provided logo store (`logo_store\u002Finstitutes\u002F` and `logo_store\u002Fconferences\u002F`)\n2. **Web search**: If not found locally, performs online search\n   - By default, uses DuckDuckGo (no API key required)\n   - For more reliable results, use `--use_google_search` (requires `GOOGLE_SEARCH_API_KEY` and `GOOGLE_SEARCH_ENGINE_ID` in `.env`)\n\nYou can also specify custom logo paths to skip auto-detection:\n```bash\n--institution_logo_path=\"path\u002Fto\u002Finstitution_logo.png\" \\\n--conference_logo_path=\"path\u002Fto\u002Fconference_logo.png\"\n```\n\n### YAML Style Customization\n\nCustomize poster appearance via YAML configuration files:\n- **Global defaults**: `config\u002Fposter.yaml` (applies to all posters)\n- **Per-poster override**: Place `poster.yaml` next to your `paper.pdf` for custom styling\n\n\n## 🔮 Evaluation\nDownload Paper2Poster evaluation dataset via:\n```bash\npython -m PosterAgent.create_dataset\n```\n\nIn evaluation, papers are stored under a directory called `Paper2Poster-data`.\n\nTo evaluate a generated poster with **PaperQuiz**:\n```bash\npython -m Paper2Poster-eval.eval_poster_pipeline \\\n    --paper_name=\"${paper_name}\" \\\n    --poster_method=\"${model_t}_${model_v}_generated_posters\" \\\n    --metric=qa # PaperQuiz\n```\n\nTo evaluate a generated poster with **VLM-as-Judge**:\n```bash\npython -m Paper2Poster-eval.eval_poster_pipeline \\\n    --paper_name=\"${paper_name}\" \\\n    --poster_method=\"${model_t}_${model_v}_generated_posters\" \\\n    --metric=judge # VLM-as-Judge\n```\n\nTo evaluate a generated poster with other statistical metrics (such as visual similarity, PPL, etc):\n```bash\npython -m Paper2Poster-eval.eval_poster_pipeline \\\n    --paper_name=\"${paper_name}\" \\\n    --poster_method=\"${model_t}_${model_v}_generated_posters\" \\\n    --metric=stats # statistical measures\n```\n\nIf you want to create a PaperQuiz for your own paper:\n```bash\npython -m Paper2Poster-eval.create_paper_questions \\\n    --paper_folder=\"Paper2Poster-data\u002F${paper_name}\"\n```\n\n## ❤ Acknowledgement\nWe extend our gratitude to [🐫CAMEL](https:\u002F\u002Fgithub.com\u002Fcamel-ai\u002Fcamel), [🦉OWL](https:\u002F\u002Fgithub.com\u002Fcamel-ai\u002Fowl), [Docling](https:\u002F\u002Fgithub.com\u002Fdocling-project\u002Fdocling), [PPTAgent](https:\u002F\u002Fgithub.com\u002Ficip-cas\u002FPPTAgent) for providing their codebases.\n\n## 📖 Citation\n\nPlease kindly cite our paper if you find this project helpful.\n\n```bibtex\n@misc{paper2poster,\n      title={Paper2Poster: Towards Multimodal Poster Automation from Scientific Papers}, \n      author={Wei Pang and Kevin Qinghong Lin and Xiangru Jian and Xi He and Philip Torr},\n      year={2025},\n      eprint={2505.21497},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.21497}, \n}\n```\n","Paper2Poster 是一个从学术论文自动生成学术海报的开源项目。其核心功能是通过多智能体系统 PosterAgent 将 PDF 格式的论文转换为可编辑的 PPTX 海报，支持并行处理以加快生成速度，并且能够自动添加会议和机构的 logo 以及基于 YAML 的样式自定义。该项目使用 Python 编写，具有高度的自动化和定制化能力，特别适合需要频繁制作学术海报的研究人员或学生使用，能够显著提高工作效率。",2,"2026-06-11 03:40:59","high_star"]