From paper to poster, video, blog, and reel — Automating the Last Mile of Research Dissemination.
ResearchStudio streamlines the final steps of a research project — the materials a paper needs after the writing is done. Drop in one PDF and get back the artifacts that turn a paper into a conference submission and a public release: a structured asset bundle, a print-ready poster, a narrated walkthrough video, a bilingual blog post ready for an editor, and an interactive reel viewer.
|
|
| Paper2Reel — presenting an interactive reel. | Paper2Poster — building a poster from one PDF. |
| Skill | Input | Output | Built for |
|---|---|---|---|
| Paper2Assets | paper PDF or Link | intermediate artifacts (TXT, JSON) | the upstream extraction stage every downstream renderer reuses |
| Paper2Poster | paper PDF or assets | a narrated poster (HTML + MP3 + PDF + PNG + PPTX) | poster sessions at different venues |
| Paper2Video | paper PDF or assets | a video (MP4 + PPTX) | lightning talks, virtual conference recordings, social promotion |
| Paper2Blog | paper PDF or assets | two blogs (DOCX) | publicity push after acceptance — bilingual outreach in one pass |
| Paper2Reel | poster + deck artifacts | an interactive reel viewer (HTML) | one scrollable view that aligns the poster with slide / video frames |
Each skill is shipped as a Claude Code and Codex skill.
Let's consider Claude Code as an example. Open a Claude Code session and ask for the artifact you want — the agent picks up the matching skill and runs it end-to-end, writing every output to a working <outdir>/. To produce the whole bundle (poster + editable PPTX, blog, narrated video, and reel viewer) from one PDF in a single headless run:
CLAUDE_EFFORT=high CLAUDE_CONFIG_DIR="$PWD/.claude" \
claude -p --model claude-opus-4-8 \
"Run the full pipeline on ./my_paper.pdf: /paper2assets to extract the shared package, then /paper2poster (poster.html/pdf/png + editable poster.pptx), /paper2blog, /paper2video, and finally /paper2reel. Reuse the one paper2assets package across every stage and keep all intermediate HTML."All five stages share one paper2assets extraction, so nothing is re-parsed. Each skill is detailed below.
Render a print-ready conference poster (HTML + PDF + PNG) from a paper2assets <outdir>/, with optional per-section narration audio. Two canvas presets are supported:
One paper, three deliverables — a landscape poster, the same content as an editable PPTX, and a portrait variant. Open the real examples below.
| Deliverable | Open the real example |
|---|---|
| Landscape poster (e.g. NeurIPS / CVPR) | PDF, PNG, HTML (zip), PPTX |
| Portrait poster (e.g. ACL / AAAI) | PDF, PNG, HTML (zip), PPTX |
🎧 Easter egg — the poster talks back. Open
poster.htmlin a browser and pressato reveal per-section Listen pills; each plays an ~80-word narration MP3 for that block, and the titlebar's Full Listen stitches them into a guided audio tour. Free Microsoft Edge TTS by default — no API key required. (Bonus keys:sfullscreen,ddebug overlay.)
Invoke via Claude Code — /<skill> activates the skill. paper2poster produces all four artifacts in one run; the editable PPTX is built in via the bundled html2pptx sub-skill, so you never call it separately:
# point it at a paper2assets <outdir>/ → poster.{html, pdf, png, pptx}
> /paper2poster ./my_paper/
# …or pass a natural-language request after the slash command
> /paper2poster Render a portrait poster for arxiv 2502.06434 in teal
Outputs — poster.{html, pdf, png, pptx} plus per-section audio/*.mp3, written to the same <outdir>/. For the full output details, the six templates, and the measured fill loop, see Paper2Poster's SKILL.md.
Turn a paper into a narrated walkthrough video: editable PPTX, subtitled MP4, a raw no-subtitle compatibility copy, captions, slide frames, visual highlights, and timeline metadata. The recommended path reuses the same paper2assets <outdir>/, then delegates deck + speaker-note generation to the ppt-master skill.
|
Generated outputs and controls
|
Short.video.3.mins.mp4 |
Invoke via Claude Code — point it at the shared bundle when available; starting from a PDF resolves the same <pdf_stem>/ bundle root first:
# point it at a paper2assets <outdir>/ → video.mp4 + video_no_subtitles.mp4 + video.pptx
> /paper2video ./my_paper/
# …or start from the PDF
> /paper2video ./my_paper.pdf
Outputs — top-level video.mp4, video_no_subtitles.mp4, and video.pptx, with audio, captions, slide frames, raw clips, visual cues, duration reports, timeline metadata, and QA reports under assets/. The default visual attention style is spotlight_laser: a feathered spotlight plus a small red laser-pointer dot aligned to narration cues.
For the full route details, duration-control loop, subtitle contract, visual-cue generation, and strict QA gate, see Paper2Video's README.md and SKILL.md.
Turn a paper into a bilingual editorial package: one Chinese WeChat public-account article and one English research-blog article, both .docx, sharing the same evidence map, figures, captions, numbers, and source links.
One paper, two editorial deliverables — an English research blog and a Chinese article, with layout gates for typography, figure fit, captions, and pagination.
| Deliverable | Open the real example |
|---|---|
| Bilingual blog package | English DOCX, Chinese DOCX |
Invoke via Claude Code — use the shared paper2assets bundle when available; starting from a PDF initializes the same v2 bundle shape:
# point it at a paper2assets <outdir>/ → blog_zh.docx + blog_en.docx
> /paper2blog ./my_paper/
# …or start from the PDF
> /paper2blog ./my_paper.pdf
Outputs — top-level blog_zh.docx and blog_en.docx, with outlines, QA reports, previews, and shared cropped figures under assets/. The two articles are not literal translations: they agree on facts and figure choices, but _zh is written in a restrained WeChat register while _en is written as a neutral research blog.
For the full editorial workflow, image-selection rules, DOCX assembly contract, and bilingual QA gate, see Paper2Blog's README.md and SKILL.md.
Assemble the completed poster, video, and blog outputs into an interactive reel.html viewer. The reel opens poster-first, highlights sections on hover, and lets readers double-click into a synchronized modal with Bottom-Bar-subtitled video, slide thumbnails, and bilingual blog content.
Invoke via Claude Code — point it at the complete shared bundle; starting from a PDF is allowed only because the skill first completes any missing upstream stages:
# point it at a completed v2 bundle → reel.html + content_alignment.json
> /paper2reel ./my_paper/
# …or start from the PDF; missing paper2* stages are completed first
> /paper2reel ./my_paper.pdf
Outputs — top-level reel.html and content_alignment.json, with poster, video, slide, blog, and download support assets under assets/. Paper2Reel uses the final video.mp4 for playback and section clips so its baked Bottom Bar subtitles remain visible; it does not attach a duplicate CC/VTT layer. Local validation must use skills/paper2reel/scripts/serve_reel.py, because video seeking needs HTTP Range support.
For the full bootstrap behavior, alignment map, section-modal UI contract, browser gate, and local serving requirements, see Paper2Reel's README.md and SKILL.md.
- Claude Code and Codex — the agent runtime that drives every skill.
- PyMuPDF, Poppler, Pillow — PDF + image processing.
- Playwright + Chromium — HTML → PDF / PNG rendering for posters.
- LibreOffice + FFmpeg — slide rasterization and video muxing.
- Inter — the typeface bundled with the poster templates.
- python-docx —
.docxassembly for Paper2Blog. - ppt-master — AI generates natively editable PPTX.
If ResearchStudio - Reel helps your research workflow, please cite:
@article{xiao2026researchstudioreel,
title = {ResearchStudio-Reel: Automate the Last Mile of Research from Paper to Poster, Video, and Blog},
author = {Lingao Xiao and Yalun Dai and Yangyu Huang and Qihao Zhao and Wenshan Wu and Hugo He and Ruishuo Chen and Jin Jiang and Qianli Ma and Jiahuan Zhang and Xin Zhang and Ying Xin and Yang Ou and Yan Xia and Scarlett Li and Longbo Huang and Zhipeng Zhang and Yang He and Yap Kim Hui and Yan Lu},
journal = {arXiv preprint arXiv:2607.04438},
year = {2026},
url = {https://arxiv.org/abs/2607.04438}
}





