# AutoPage
**Repository Path**: data_factory/AutoPage
## Basic Information
- **Project Name**: AutoPage
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-11-12
- **Last Updated**: 2025-11-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# AutoPage: Human-Agent Collaborative Paper-to-Page Crafting for Under $0.1
If you find our work useful, please consider giving us a starπ
## π₯ News
- [2025.10.20] We release the paper, code and [project pages](https://mqleet.github.io/AutoPage_ProjectPage/) (Refresh the page to see a new version each time).
## :memo: TODO
- [x] Code Release
- [x] Paper Release
- [ ] Datasets
- [x] Huggingface Demo
## π Table of Contents
- [AutoPage: Human-Agent Collaborative Paper-to-Page Crafting for Under $0.1](#autopage-human-agent-collaborative-paper-to-page-crafting-for-under-01)
- [π Overview](#-overview)
- [π Pipeline](#-pipeline)
- [π οΈ Installation](#-installation)
- [π Quick Start](#-quick-start)
- [π» Start with Gradio](#-start-with-gradio)
- [π Evaluation](#-evaluation)
- [βοΈ Add Model for Camel](#-add-model-for-camel)
## π Overview
To address the questions **"How to create a webpage from an academic paper?"** and **"How to evaluate the project webpage?"**, we propose **AutoPage** and **PageBench**. AutoPage transforms academic papers into polished, published-ready project webpages through a human-in-the-loop multi-agent pipeline, while PageBench provides automatic evaluation across content quality and visual design quality dimensions.
## π Pipeline
**AutoPage** is a human-agent collaborative multi-agent system that transforms PDF documents into HTML project pages through interactive human feedback.

## π οΈ Installation
### π§ Setup
**Environment**
```bash
conda create -n autopage python=3.10
conda activate autopage
pip install -r requirements.txt
conda install -c conda-forge poppler
```
And install the Playwright
```bash
playwright install
```
**API Key**
Create the `.env` file under the root path and add your API key (e.g., GEMINI_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY):
```bash
OPENAI_API_KEY=
GEMINI_API_KEY=
OPENROUTER_API_KEY=
```
to the `.env` file
---
## π Quick Start
Create a folder named `{pdfs}` under `{AutoPage}`, and place your paper inside it as a PDF file named `paper_name.pdf`.
```
π {AutoPage}/
βββ π {pdfs}/
βββ π paper_name.pdf
```
To use open-source models, you need to first deploy them using [vLLM](https://docs.vllm.ai/en/v0.6.6/getting_started/installation.html), ensuring the port is correctly specified in the `get_agent_config()` function in [`utils/wei_utils.py`](utils/wei_utils.py).
- [**High Performance And Fast**] Generate a poster with `GPT-4o-mini` or `gemini-2.5-flash`:
You can select a template from the `templates` folder or define a template style.
**A**. If you will define the style, please leave `template_dir` and `template_file` **empty** and select `background_color`, `has_navigation`, `has_hero_section`, `title_color`, `page_density`, `image_layout` .
**B**. If you have selected a template from the `templates` folder, as an example, please fill in the `template_dir` and `template_file` with `templates/airi-institute.github.io` and `templates/airi-institute.github.io/HairFastGAN/index.html`.
```bash
dataset_dir="pdfs"
paper_name="pdf_name" # your_pdf_name
python -m ProjectPageAgent.main_pipline\
--paper_path="${dataset_dir}/${paper_name}.pdf" \ # Do not change
--model_name_t="your_text_model" \ # LLM
--model_name_v="your_vlm_model" \ # VLM
--template_root="templates" \ # Do not change
--template_dir="your_template_dir" \
--template_file="your_template_file" \
--output_dir="generated_project_pages" \
--full_content_check_times=2 \
--html_check_times=2 \
--resume='parse_pdf' \
--human_input='1' \ # Is human feedback required?
--background_color='dark' \ # Background color ,choose in ['light', 'dark']
--has_navigation="yes" \ # choose in ['yes', 'no']
--has_hero_section="no" \ # choose in ['yes', 'no']
--title_color="colorful" \ # choose in ['pure', 'colorful']
--page_density="compact" \ # choose in ['spacious', 'compact']
--image_layout="rotation" # choose in ['rotation', 'parallelism']
```
AutoPage **supports flexible combination of LLM / VLM**, feel free to try other options, or customize your own settings in `get_agent_config()` in [`utils/wei_utils.py`](utils/wei_utils.py).
## π» Start with Gradio
If you prefer to run it in the frontend, just use the gradio via:
```python
python app.py
```
### πΉ Demo Video
We provide a complete Gradio demo video that demonstrates how to use AutoPage to generate project webpages from academic papers:
https://github.com/user-attachments/assets/47cba420-253e-45ce-b232-8e174c8f85fa
*You can watch this video to understand the complete usage workflow and interface operations.*
## π Evaluation
In evaluation, project pages are stored under a directory called `generated_project_pages`.
To evaluate a generated webpage :
```
python -m PageEval.page_eval\
--paper_name="your_paper_name" \
--html_path="yout_generated_html_path" \ # e.g ,generated_project_pages/AutoPage/index.html
--vlm_name="gemini-2.5-flash" \ # VLM
--llm_name="gemini-2.5-flash" # LLM
```
## βοΈ Add Model for Camel
AutoPage is based on [CAMEL](https://github.com/camel-ai/camel), and the configuration file may not contain all the models you need.
If you need to add a new model, please follow the steps belowοΌ
1. Open file `utils/wei_utils.py` , add `elif` in function `get_agent_config` and set it up like below:
```
elif model_type == 'qwen-long': # The name you use when calling
agent_config = {
"model_type": ModelType.QWEN_LONG, # ModelType
"model_config": QwenConfig().as_dict(), # Confirm the model manufacturer you are using
'model_platform': ModelPlatformType.QWEN, # Confirm the model ModelPlatformType you are using
}
```
2. open file `camel/types/enums.py`, add ModelType using the above exampleοΌ
```
QWEN_LONG = "qwen-long" # must be the formal name of the model in " "
def is_qwen(self) -> bool:
return self in {
ModelType.QWEN_MAX,
ModelType.QWEN_PLUS,
ModelType.QWEN_TURBO,
ModelType.QWEN_LONG, # This is newly added
ModelType.QWEN_VL_MAX,
ModelType.QWEN_VL_PLUS,
ModelType.QWEN_MATH_PLUS,
ModelType.QWEN_MATH_TURBO,
ModelType.QWEN_CODER_TURBO,
ModelType.QWEN_2_5_CODER_32B,
ModelType.QWEN_2_5_VL_72B,
ModelType.QWEN_2_5_72B,
ModelType.QWEN_2_5_32B,
ModelType.QWEN_2_5_14B,
ModelType.QWEN_QWQ_32B,
ModelType.QWEN_QVQ_72B,
ModelType.QWEN_QWQ_PLUS,
ModelType.QWEN_PLUS_LATEST,
ModelType.QWEN_PLUS_2025_04_28,
ModelType.QWEN_TURBO_LATEST,
ModelType.QWEN_TURBO_2025_04_28,
ModelType.QWEN_3_CODER_PLUS,
}
```
**Following the same way you can add any model supported by Camel**
## βοΈ Citation
If you find AutoPage useful for your research and applications, please kindly cite our paper using this BibTeX:
```bibtex
@misc{ma2025paper2page,
title={Human-Agent Collaborative Paper-to-Page Crafting for Under $0.1},
author={Qianli Ma and Siyu Wang and Yilin Chen and Yinhao Tang and Yixiang Yang and Chang Guo and Bingjie Gao and Zhening Xing and Yanan Sun and Zhipeng Zhang},
year={2025},
eprint={2510.19600},
archivePrefix={arXiv},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2510.19600},
}
```
## β€οΈ Acknowledgement
### βοΈ AutoPage Contributers
Order is based on the time joining the project:
>[Qianli Ma](https://mqleet.github.io/), [Yinhao Tang](https://github.com/tangyinhao), [Siyu Wang](https://github.com/WangSirMonster), [Yilin Chen](https://github.com/Jimuchen), [Zhening Xing](https://github.com/LeoXing1996).
### π€ Open-Sourced Repositories
This project wouldn't be possible without the following open-sourced repositories: [CAMEL](https://github.com/camel-ai/camel), [Docling](https://github.com/docling-project/docling), and [Paper2Poster](https://github.com/Paper2Poster/Paper2Poster).
Thanks to all the contributors for their great work!
## Paper2Anything Family
AutoPage represents a crucial component of the **Paper2Anything** ecosystem, which is dedicated to the automated transformation of academic papers into diverse presentation formats. This rapidly evolving field has witnessed the emergence of numerous innovative works from the research community, collectively advancing the frontiers of academic content automation:
### π― Related Projects
#### πͺ§ **Poster**
- **[Paper2Poster](https://github.com/Paper2Poster/Paper2Poster)** - Automated generation of academic posters from research papers, featuring multiple template designs and layout configurations
- **[P2P](https://github.com/multimodal-art-projection/P2P)** - An AI-powered tool that automatically converts academic research papers into professional conference posters.
#### π½ **Video**
- **[Paper2Video](https://github.com/showlab/Paper2Video)** - Automatic Video Generation from Scientific Papers
- **[Preacher](https://github.com/Gen-Verse/Paper2Video)** - An intelligent agent system that automatically transforms scientific papers into video abstracts.
- **[PresentAgent](https://github.com/AIGeeksGroup/PresentAgent)** - A multimodal agent that transforms long-form documents into narrated presentation videos.
#### π **Promotional Post**
- **[AutoPR](https://github.com/LightChen233/AutoPR)** - Automated generation of press releases and media materials from academic papers, suitable for public communication and science outreach
#### π **Slides**
- **[PPTAgent](https://github.com/icip-cas/PPTAgent)** - An innovative system that automatically generates presentations from documents.
#### π€ **AI Agents**
- **[Paper2Agent](https://github.com/jmiao24/Paper2Agent)** - A multi-agent AI system that automatically transforms research papers into interactive AI agents with minimal human input