alterlab-paper-2-web — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited alterlab-paper-2-web (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill enables the transformation of academic papers into multiple promotional and presentation formats using the Paper2All autonomous pipeline. The system converts research papers (LaTeX or PDF) into three primary outputs:
The pipeline uses LLM-powered content extraction, design generation, and iterative refinement to create high-quality outputs suitable for conferences, journals, preprint repositories, and academic promotion.
Use this skill when:
Trigger phrases:
| Scenario | Use Instead |
|---|---|
| Hand-building a LaTeX research poster (beamerposter, tikzposter, baposter) | alterlab-latex-posters |
| A PowerPoint/PPTX or HTML poster the user will edit themselves | alterlab-pptx-posters |
| Designing and delivering a slide deck for a live talk | alterlab-scientific-slides |
| Posting the paper to arXiv, bioRxiv, medRxiv, or SSRN | alterlab-preprint-deposition |
If a diagram or figure would aid comprehension, invoke the alterlab-scientific-schematics skill (diagrams/schematics) or the alterlab-generate-image skill (images). Figures are optional — add them only where they improve clarity.
Converts papers into layout-aware, interactive academic homepages that go beyond simple HTML conversion.
Key Features:
Best For: Post-publication promotion, preprint enhancement, lab websites, permanent research showcases
→ See `references/paper2web.md` for detailed documentation
Generates professional presentation videos with slides, narration, cursor movements, and optional talking-head video.
Key Features:
Best For: Video abstracts, conference presentations, online talks, course materials, YouTube promotion
→ See `references/paper2video.md` for detailed documentation
Creates print-ready academic posters with professional layouts and visual design.
Key Features:
Best For: Conference poster sessions, symposiums, academic exhibitions, virtual conferences
→ See `references/paper2poster.md` for detailed documentation
git clone https://github.com/YuhangChen1/Paper2All.git
cd Paper2All
conda create -n p2w python=3.11
conda activate p2w
pip install -r requirements.txtPaper2Video runs in its own environment (conda create -n p2v python=3.10), and the optional talking-head module in a third (conda create -n hallo python=3.10).
# pipeline_all.py (website, poster, PR) reads only this variable, from the shell
# environment (it does not load .env) and exits if it is unset:
export OPENROUTER_API_KEY=sk-or-... # .env in the repo root — read by the sub-modules and Paper2Video
OPENAI_API_KEY=your_key_here
OPENAI_API_BASE=https://openrouter.ai/api/v1 # upstream-recommended; or https://api.openai.com/v1
# Optional: GOOGLE_SEARCH_API_KEY and GOOGLE_SEARCH_ENGINE_ID for logo searchThe AutoPR component has its own AutoPR/.env (copy AutoPR/.env.example). Paper content is sent to these third-party model providers — confirm that is acceptable for unpublished work.
→ See `references/installation.md` for complete installation guide
pipeline_all.py drives the website, poster, and PR-material modules from a PDF. The --model-choice flag selects which component(s) to run (one or more of 1 2 3) — it is NOT a model selector. Omit it to run all modules. The output flag is --output_dir (underscore): the upstream README shows a hyphenated --output-dir, which the script's argument parser rejects. pipeline_all.py processes only the first PDF it finds under --input-dir (a paper.pdf inside each subfolder, or a PDF directly in the folder); pass --pdf-path to choose one explicitly.
--model-choice | Component |
|---|---|
| (omitted) | All modules |
1 | Website (Paper2Web) only |
2 | Poster (Paper2Poster) only |
3 | PR materials (AutoPR) only |
Generate Everything (website + poster + PR materials):
python pipeline_all.py \
--input-dir "path/to/paper" \
--output_dir "path/to/output"Generate Website Only:
python pipeline_all.py \
--input-dir "path/to/paper" \
--output_dir "path/to/output" \
--model-choice 1Generate Poster with Custom Size (default is 48 × 36 in landscape):
python pipeline_all.py \
--input-dir "path/to/paper" \
--output_dir "path/to/output" \
--model-choice 2 \
--poster-width-inches 60 \
--poster-height-inches 40Generate Video (separate p2v environment, lightweight pipeline — no talking-head):
python pipeline_light.py \
--model_name_t gpt-4.1 \
--model_name_v gpt-4.1 \
--result_dir "path/to/output" \
--paper_latex_root "path/to/paper"For the full video pipeline with a Hallo2 talking-head, use pipeline.py with --ref_img, --ref_audio, and --gpu_list (requires the hallo env and an NVIDIA A6000 48GB GPU).
→ See `references/usage_examples.md` for comprehensive workflow examples
Use this decision tree to determine which components to generate:
User needs promotional materials for paper?
│
├─ Need permanent online presence?
│ └─→ Generate Paper2Web (interactive website)
│
├─ Need physical conference materials?
│ ├─→ Poster session? → Generate Paper2Poster
│ └─→ Oral presentation? → Generate Paper2Video
│
├─ Need video content?
│ ├─→ Journal video abstract? → Generate Paper2Video (5-10 min)
│ ├─→ Conference talk? → Generate Paper2Video (15-20 min)
│ └─→ Social media? → Generate Paper2Video (1-3 min)
│
└─ Need complete package?
└─→ Generate all three components1. LaTeX Source (Recommended):
paper_directory/
├── main.tex # Main paper file
├── sections/ # Optional: split sections
├── figures/ # All figure files
├── tables/ # Table files
└── bibliography.bib # References2. PDF:
Which input each tool takes: pipeline_all.py (website, poster, PR) reads the PDF; Paper2Video (pipeline_light.py / pipeline.py) reads the LaTeX project via --paper_latex_root. Keep both in the paper folder if you want every output.
Single Paper:
input/
└── paper_name/
├── paper.pdf # read by pipeline_all.py
├── main.tex # LaTeX project root for Paper2Video
├── figures/
└── bibliography.bibMultiple Papers: give each paper its own folder and run pipeline_all.py once per folder (see Batch Processing) — a single run only processes the first PDF it finds.
pipeline_all.py)--model-choice 1: Website (Paper2Web) only--model-choice 2: Poster (Paper2Poster) only--model-choice 3: PR materials (AutoPR) only--model-choice): Run all modules--model_name_t: Model for text/script generation (default gpt-4.1)--model_name_v: Model for visual/slide generation (default gpt-4.1)These are Paper2Video aliases resolved in wei_utils.get_agent_config (e.g. gpt-4.1, gpt-4.1-mini, 4o, o3, gpt-5); unrecognized names fall through to a generic OpenAI-compatible client.
pipeline_all.py)--poster-width-inches [width]: Custom poster width--poster-height-inches [height]: Custom poster heightpipeline_all.py writes one subfolder per component under --output_dir; Paper2Video writes to its own --result_dir:
output/
├── website/ # Paper2Web (PWAgent) site
├── poster/ # Paper2Poster output copied from the module's generated_posters folder
└── PR/ # AutoPR promotional copyGive each paper its own --output_dir, because the component folders are not namespaced by paper.
pipeline_all.py exposes no model flag: the website agent and the poster module call models hard-coded upstream and routed through OpenRouter (Qwen3/Qwen2.5-VL models for the website agent and GPT-4o for Paper2Poster at the time of writing — check the repo if this matters to you). Only the video pipeline takes explicit --model_name_t / --model_name_v overrides:
For tight deadlines, generate in this order:
Before finalizing outputs:
Rough, unbenchmarked estimates — actual time depends on paper length, models, and hardware:
Upstream publishes no cost figures, and cost depends on the models routed through OpenRouter/OpenAI and on paper length. Run one paper first and check usage in your provider dashboard before batch processing.
LaTeX parsing errors:
pdflatex main.texPoor figure quality:
Video generation failures:
Poster layout issues:
API errors:
pipeline_all.py stops with "OPENROUTER_API_KEY environment variable not set" → export OPENROUTER_API_KEY=... in the same shell (it does not read .env)--output-dir.env (and AutoPR/.env)The system auto-detects target platforms:
Twitter/X (English, numeric folder names):
mkdir -p input/001_twitter/
# Generates English promotional contentXiaohongshu/小红书 (Chinese, alphanumeric folder names):
mkdir -p input/xhs_paper/
# Generates Chinese promotional contentSpecify conference requirements:
Deploy generated websites to:
Print-ready files work with:
Share videos on:
Process multiple papers efficiently:
# Organize papers in batch directory
for paper in paper1 paper2 paper3; do
python pipeline_all.py \
--input-dir input/$paper \
--output_dir output/$paper &
done
waitBranding is not exposed as a pipeline flag. Paper2Web can discover logos automatically when the optional Google Search API keys are set; otherwise add logos, colors, and conference theming by editing the generated website files and poster sources.
The AutoPR module writes English (Twitter/X) or Chinese (Xiaohongshu) promotional copy depending on the input folder name (see Platform-Specific Features). Other output languages are not a documented pipeline option — translate or edit the generated text yourself.
This skill includes comprehensive reference documentation:
External Resources:
Use these dimensions as a review checklist for generated outputs:
The Paper2Web paper (arXiv:2510.15842; benchmark on Hugging Face) scores generated sites on informativeness, aesthetics, QA accuracy, completeness, connectivity, and interactivity; the checklist above is broader. The pipeline does not guarantee that every output passes it, so review each output yourself.
Part of the AlterLab Academic Skills suite.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.