[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-72511":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":16,"starSnapshotCount":16,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},72511,"Paper2Any","OpenDCAI\u002FPaper2Any","OpenDCAI","Turn paper\u002Ftext\u002Ftopic into editable research figures, technical route diagrams, and presentation slides.","http:\u002F\u002Fdcai-paper2any.nas.cpolar.cn\u002F",null,"Python",2592,180,49,9,0,34,66,288,102,108.77,"Apache License 2.0",false,"main",true,[27,28,29,30,31,32,33],"agent","ai","aippt","editable-pptx","langgraph","paper2slides","ppt-generator","2026-06-12 04:01:06","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"static\u002Fnew_readme\u002Fbranding\u002Flogo.png\" alt=\"Paper2Any Logo\" width=\"200\"\u002F>\n\n# Paper2Any\n\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.11+-3776AB?style=flat-square&logo=python&logoColor=white)](https:\u002F\u002Fwww.python.org\u002F)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-2F80ED?style=flat-square&logo=apache&logoColor=white)](LICENSE)\n[![GitHub Repo](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGitHub-OpenDCAI%2FPaper2Any-24292F?style=flat-square&logo=github&logoColor=white)](https:\u002F\u002Fgithub.com\u002FOpenDCAI\u002FPaper2Any)\n[![Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FOpenDCAI\u002FPaper2Any?style=flat-square&logo=github&label=Stars&color=F2C94C)](https:\u002F\u002Fgithub.com\u002FOpenDCAI\u002FPaper2Any\u002Fstargazers)\n\nEnglish | [中文](README_CN.md)\n\n\u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F17634\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Ftrendshift.io\u002Fapi\u002Fbadge\u002Frepositories\u002F17634\" alt=\"OpenDCAI%2FPaper2Any | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\n✨ **Focus on paper multimodal workflows: from paper PDFs\u002Fscreenshots\u002Ftext to one-click generation of model diagrams, technical roadmaps, experimental plots, and slide decks** ✨\n\n| 📄 **Universal File Support** &nbsp;|&nbsp; 🎯 **AI-Powered Generation** &nbsp;|&nbsp; 🎨 **Custom Styling** &nbsp;|&nbsp; ⚡ **Lightning Speed** |\n\n\u003Cbr>\n\n\u003Ca href=\"#-quick-start\" target=\"_self\">\n  \u003Cimg alt=\"Quickstart\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🚀-Quick_Start-2F80ED?style=for-the-badge\" \u002F>\n\u003C\u002Fa>\n\u003Ca href=\"http:\u002F\u002Fdcai-paper2any.nas.cpolar.cn\u002F\" target=\"_blank\">\n  \u003Cimg alt=\"Online Demo\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🌐-Online_Demo-56CCF2?style=for-the-badge\" \u002F>\n\u003C\u002Fa>\n\u003Ca href=\"docs\u002F\" target=\"_blank\">\n  \u003Cimg alt=\"Docs\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F📚-Docs-2D9CDB?style=for-the-badge\" \u002F>\n\u003C\u002Fa>\n\u003Ca href=\"docs\u002Fcontributing.md\" target=\"_blank\">\n  \u003Cimg alt=\"Contributing\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🤝-Contributing-27AE60?style=for-the-badge\" \u002F>\n\u003C\u002Fa>\n\u003Ca href=\"#wechat-group\" target=\"_self\">\n  \u003Cimg alt=\"WeChat\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F💬-WeChat_Group-07C160?style=for-the-badge\" \u002F>\n\u003C\u002Fa>\n\n\u003Cbr>\n\u003Cbr>\n\n\u003Cimg src=\"static\u002Fnew_readme\u002Fui\u002Fhome.png\" alt=\"Paper2Any Web Interface\" width=\"80%\"\u002F>\n\n\u003C\u002Fdiv>\n\n\n## 📑 Table of Contents\n\n- [🔥 News](#-news)\n- [✨ Core Features](#-core-features)\n- [📸 Showcase](#-showcase)\n- [🧩 Drawio](#-drawio)\n- [🚀 Quick Start](#-quick-start)\n- [📂 Project Structure](#-project-structure)\n- [🗺️ Roadmap](#️-roadmap)\n- [🤝 Contributing](#-contributing)\n\n---\n\n## 🔥 News\n\n> [!TIP]\n> 🆕 \u003Cstrong>2026-04-24 · Image Model Playground Upgrade\u003C\u002Fstrong>\u003Cbr>\n> Added a new \u003Cstrong>Image Model Playground\u003C\u002Fstrong> page for managed image generation across Nano Banana 2 \u002F Nano Banana Pro \u002F Image 2 \u002F Image 2 All.\u003Cbr>\n> The workflow now supports language control, model-specific generation options, \u003Cstrong>batch generation (1 \u002F 2 \u002F 4 \u002F 8 \u002F 16)\u003C\u002Fstrong>, compressed thumbnail previews, and one-click batch download.\n\n> [!TIP]\n> 🆕 \u003Cstrong>2026-04-15 · 2026 Paper Updates\u003C\u002Fstrong>\u003Cbr>\n> Two Paper2Any-related papers are now listed in the 2026 cycle:\u003Cbr>\n> \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2511.18036\" target=\"_blank\">\u003Cstrong>Paper2SysArch: Structure-Constrained System Architecture Generation from Scientific Papers\u003C\u002Fstrong>\u003C\u002Fa> · \u003Cstrong>CVPR 2026 Findings\u003C\u002Fstrong>\u003Cbr>\n> \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2602.09809\" target=\"_blank\">\u003Cstrong>SciFlow-Bench: Evaluating Structure-Aware Scientific Diagram Generation via Inverse Parsing\u003C\u002Fstrong>\u003C\u002Fa> · \u003Cstrong>ACL 2026 Main\u003C\u002Fstrong>\n>\n> \u003Cdetails>\n> \u003Csummary>\u003Cstrong>BibTeX\u003C\u002Fstrong>\u003C\u002Fsummary>\n>\n> ```bibtex\n> @article{guo2025paper2sysarch,\n>   title   = {Paper2SysArch: Structure-Constrained System Architecture Generation from Scientific Papers},\n>   author  = {Guo, Ziyi and Liu, Zhou and Zhang, Wentao},\n>   journal = {arXiv preprint arXiv:2511.18036},\n>   year    = {2025},\n>   note    = {CVPR 2026 Findings}\n> }\n>\n> @article{zhang2026sciflowbench,\n>   title   = {SciFlow-Bench: Evaluating Structure-Aware Scientific Diagram Generation via Inverse Parsing},\n>   author  = {Zhang, Tong and Lin, Honglin and Liu, Zhou and Chen, Chong and Zhang, Wentao},\n>   journal = {arXiv preprint arXiv:2602.09809},\n>   year    = {2026},\n>   note    = {ACL 2026 Main}\n> }\n> ```\n> \u003C\u002Fdetails>\n\n> [!TIP]\n> 🆕 \u003Cstrong>2026-03-28 · Editable PPT Showcase Refresh\u003C\u002Fstrong>\u003Cbr>\n> Added two new \u003Cstrong>editable PPT\u003C\u002Fstrong> showcase screenshots for the frontend-deck workflow:\u003Cbr>\n> a generated multi-slide gallery view and the canvas editing workspace with deck theme lock.\n\n> [!TIP]\n> 🆕 \u003Cstrong>2026-03-26 · Workflow Showcase Update\u003C\u002Fstrong>\u003Cbr>\n> Added showcase coverage for \u003Cstrong>Paper2Video\u003C\u002Fstrong>, \u003Cstrong>Paper2Poster\u003C\u002Fstrong>, and \u003Cstrong>Paper2Citation\u003C\u002Fstrong>.\u003Cbr>\n> The README now includes a compressed video demo plus refreshed English\u002FChinese workflow previews.\n\n> [!TIP]\n> 🆕 \u003Cstrong>2026-02-02 · Paper2Rebuttal\u003C\u002Fstrong>\u003Cbr>\n> Added rebuttal drafting support with structured response guidance and image-aware revision prompts.\n\n> [!TIP]\n> 🆕 \u003Cstrong>2026-01-28 · Drawio Update\u003C\u002Fstrong>\u003Cbr>\n> Added Drawio support for visual diagram creation and showcase-ready outputs in the workflow.\u003Cbr>\n> KB updates in one line: multi-file PPT generation with doc convert\u002Fmerge, optional image injection, and embedding-assisted retrieval.\n\n> [!TIP]\n> 🆕 \u003Cstrong>2026-01-25 · New Features\u003C\u002Fstrong>\u003Cbr>\n> Added **AI-assisted outline editing**, **three-layer model configuration system** for flexible model selection, and **user points management** with daily quota allocation.\u003Cbr>\n> 🌐 Online Demo: \u003Ca href=\"http:\u002F\u002Fdcai-paper2any.nas.cpolar.cn\u002F\">http:\u002F\u002Fdcai-paper2any.nas.cpolar.cn\u002F\u003C\u002Fa>\n\n> [!TIP]\n> 🆕 \u003Cstrong>2026-01-20 · Bug Fixes\u003C\u002Fstrong>\u003Cbr>\n> Fixed bugs in experimental plot generation (image\u002Ftext) and resolved the missing historical files issue.\u003Cbr>\n> 🌐 Online Demo: \u003Ca href=\"http:\u002F\u002Fdcai-paper2any.nas.cpolar.cn\u002F\">http:\u002F\u002Fdcai-paper2any.nas.cpolar.cn\u002F\u003C\u002Fa>\n\n> [!TIP]\n> 🆕 \u003Cstrong>2026-01-14 · Feature Updates & Backend Architecture Upgrade\u003C\u002Fstrong>\u003Cbr>\n> 1. **Feature Updates**: Added **Image2PPT**, optimized **Paper2Figure** interaction, and improved **PDF2PPT** effects.\u003Cbr>\n> 2. **Standardized API**: Refactored backend interfaces with RESTful `\u002Fapi\u002Fv1\u002F` structure, removing obsolete endpoints for better maintainability.\u003Cbr>\n> 3. **Dynamic Configuration**: Supported dynamic model selection (e.g., GPT-4o, Qwen-VL) via API parameters, eliminating hardcoded model dependencies.\u003Cbr>\n> 🌐 Online Demo: \u003Ca href=\"http:\u002F\u002Fdcai-paper2any.nas.cpolar.cn\u002F\">http:\u002F\u002Fdcai-paper2any.nas.cpolar.cn\u002F\u003C\u002Fa>\n\n- 2025-12-12 · Paper2Figure Web public beta is live\n- 2025-10-01 · Released the first version \u003Ccode>0.1.0\u003C\u002Fcode>\n\n---\n\n## ✨ Core Features\n\n> From paper PDFs \u002F images \u002F text to **editable** scientific figures, slide decks, video scripts, academic posters, and other multimodal content in one click.\n\nPaper2Any currently includes the following sub-capabilities:\n\n- **📊 Paper2Figure - Editable Scientific Figures**: Model architecture diagrams, technical roadmaps (PPT + SVG), and experimental plots with editable PPTX output.\n- **🧩 Paper2Diagram \u002F Image2Drawio - Editable Diagrams**: Generate draw.io diagrams from paper\u002Ftext or images, with drawio\u002Fpng\u002Fsvg export and chat-based edits.\n- **🎬 Paper2PPT - Editable Slide Decks**: Paper\u002Ftext\u002Ftopic to PPT, long-doc support, and built-in table\u002Ffigure extraction.\n- **📝 Paper2Rebuttal**: Draft structured rebuttals and revision responses with claims-to-evidence grounding.\n- **🖼️ PDF2PPT - Layout-Preserving Conversion**: Accurate layout retention for PDF → editable PPTX.\n- **🖼️ Image2PPT - Image to Slides**: Convert images or screenshots into structured slides.\n- **🔥 Image Model Playground**: Directly call backend-managed image models with prompt templates, language control, batch generation, compressed previews, and zip download.\n- **🎨 PPTPolish - Smart Beautification**: AI-based layout optimization and style transfer.\n- **🎬 Paper2Video**: Generate video scripts and narration assets.\n- **🖼️ Paper2Poster - Academic Poster**: Turn paper PDFs into poster-ready layouts with configurable sections, logos, and export assets.\n- **🔎 Paper2Citation - Citation Explorer**: Track citing authors, institutions, and notable downstream works from author names or DOI\u002Fpaper URLs.\n- **📝 Paper2Technical**: Produce technical reports and method summaries.\n- **📚 Knowledge Base (KB)**: Ingest\u002Fembedding, semantic search, and KB-driven PPT\u002Fpodcast\u002Fmindmap generation.\n\n---\n\n## 📸 Showcase\n\n### 🧩 Drawio\n\n\u003Cdiv align=\"center\">\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd width=\"33%\" align=\"center\" valign=\"top\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fdrawio\u002Fimage-to-drawio-upload.png\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>✨ Upload a paper figure or screenshot as the starting point\u003C\u002Fsub>\n    \u003C\u002Ftd>\n    \u003Ctd width=\"34%\" align=\"center\" valign=\"top\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fdrawio\u002Fimage-to-drawio-source.png\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>✨ Keep the source structure visible before conversion\u003C\u002Fsub>\n    \u003C\u002Ftd>\n    \u003Ctd width=\"33%\" align=\"center\" valign=\"top\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fdrawio\u002Fimage-to-drawio-editor.gif\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>✨ Convert the image into an editable DrawIO canvas\u003C\u002Fsub>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cbr>\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd width=\"48%\" align=\"center\" valign=\"top\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fdrawio\u002Fframework-drawio-workbench.png\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>✨ Generate a model or system diagram directly inside the DrawIO workbench\u003C\u002Fsub>\n    \u003C\u002Ftd>\n    \u003Ctd width=\"52%\" align=\"center\" valign=\"top\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fdrawio\u002Fframework-drawio-editor.gif\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>✨ Refine the generated architecture with chat editing and export-ready layout\u003C\u002Fsub>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdiv>\n\n---\n\n### 📝 Paper2Rebuttal: Rebuttal Drafting\n\n\u003Cdiv align=\"center\">\n\n\u003Cbr>\n\u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2rebuttal\u002Frebuttal.png\" width=\"95%\"\u002F>\n\u003Cbr>\u003Csub>✨ Rebuttal drafting and revision support\u003C\u002Fsub>\n\n\u003C\u002Fdiv>\n\n---\n\n### 📊 Paper2Figure: Scientific Figure Generation\n\n\u003Cdiv align=\"center\">\n\n\u003Cbr>\n\u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2figure\u002Fmodel-arch-demo.gif\" width=\"90%\"\u002F>\n\u003Cbr>\u003Csub>✨ Model Architecture Diagram Generation\u003C\u002Fsub>\n\n\u003Cbr>\n\u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2figure\u002Fmodel-arch-1.png\" width=\"90%\"\u002F>\n\u003Cbr>\u003Csub>✨ Model Architecture Diagram Generation\u003C\u002Fsub>\n\n\u003Cbr>\u003Cbr>\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd width=\"56%\" align=\"center\" valign=\"top\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2figure\u002Ftechnical-roadmap-workbench.png\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>✨ Technical roadmap workbench: choose route type, input source, model config, and visual template\u003C\u002Fsub>\n    \u003C\u002Ftd>\n    \u003Ctd width=\"44%\" align=\"center\" valign=\"top\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2figure\u002Ftechnical-roadmap-output.png\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>✨ Generated technical roadmap figure with structured dual-column layout\u003C\u002Fsub>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cbr>\u003Cbr>\n\u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2figure\u002Fexperimental-plot.png\" width=\"90%\"\u002F>\n\u003Cbr>\u003Csub>✨ Experimental Plot Generation (Multiple Styles)\u003C\u002Fsub>\n\n\u003C\u002Fdiv>\n\n---\n\n### 🎬 Paper2PPT: Paper to Presentation\n\n\u003Cdiv align=\"center\">\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd width=\"50%\" align=\"center\" valign=\"top\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2ppt\u002Fdemo.gif\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>✨ End-to-end PPT generation demo\u003C\u002Fsub>\n    \u003C\u002Ftd>\n    \u003Ctd width=\"50%\" align=\"center\" valign=\"top\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2ppt\u002Fcase-1.png\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>✨ Paper \u002F text \u002F topic to polished slide deck\u003C\u002Fsub>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cbr>\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd width=\"50%\" align=\"center\" valign=\"top\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2ppt\u002Ffrontend-canvas-edit.gif\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>✨ Edit slide text directly on canvas while keeping the deck theme locked\u003C\u002Fsub>\n    \u003C\u002Ftd>\n    \u003Ctd width=\"50%\" align=\"center\" valign=\"top\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2ppt\u002Ffrontend-gallery-review.gif\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>✨ Review the generated multi-page gallery before export\u003C\u002Fsub>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cbr>\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd width=\"50%\" align=\"center\" valign=\"top\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2ppt\u002Foutline-assist-panel.png\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>✨ AI-assisted outline refinement with targeted rewrite prompts\u003C\u002Fsub>\n    \u003C\u002Ftd>\n    \u003Ctd width=\"50%\" align=\"center\" valign=\"top\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2ppt\u002Foutline-assist-detail.png\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>✨ Structured outline editing down to section and bullet detail\u003C\u002Fsub>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cbr>\n\n\u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2ppt\u002Flong-doc.png\" width=\"78%\"\u002F>\n\u003Cbr>\n\u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2ppt\u002Ftable-extraction.png\" width=\"80%\"\u002F>\n\u003Cbr>\n\u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2ppt\u002Fversion-history.png\" width=\"80%\"\u002F>\n\u003Cbr>\u003Csub>✨ Long document support for 40+ slides · Intelligent table extraction and insertion · Version history and iterative deck management\u003C\u002Fsub>\n\n\u003C\u002Fdiv>\n\n---\n\n### 🎬 Paper2Video: PPT to Narrated Video\n\n\u003Cdiv align=\"center\">\n\n\u003Cbr>\n\u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2video\u002Fdemo.gif\" width=\"90%\"\u002F>\n\u003Cbr>\u003Csub>✨ PPT \u002F PDF to narrated video with script confirmation, Aliyun TTS voices, and downloadable output\u003C\u002Fsub>\n\n\u003C\u002Fdiv>\n\n---\n\n### 🖼️ Paper2Poster: Paper to Poster\n\n\u003Cdiv align=\"center\">\n\n\u003Cbr>\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\" width=\"50%\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2poster\u002Fpaper2poster-ppt-result.png\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>PNG poster result\u003C\u002Fsub>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\" width=\"50%\">\n      \u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2poster\u002Fpaper2poster-png-result.png\" width=\"100%\"\u002F>\n      \u003Cbr>\u003Csub>PPT poster result\u003C\u002Fsub>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\u003Cbr>\u003Csub>✨ Paper PDF to academic poster with configurable layout, editable poster output, and one-click export\u003C\u002Fsub>\n\n\u003C\u002Fdiv>\n\n---\n\n### 🔎 Paper2Citation: Citation Explorer\n\n\u003Cdiv align=\"center\">\n\n\u003Cbr>\n\u003Cimg src=\"static\u002Fnew_readme\u002Fpaper2citation\u002Fcitation-explorer.png\" width=\"90%\"\u002F>\n\u003Cbr>\u003Csub>✨ Search authors or papers to inspect citation candidates, institutions, and downstream citation context\u003C\u002Fsub>\n\n\u003C\u002Fdiv>\n\n---\n\n### 🎨 PPT Smart Beautification\n\n\u003Cdiv align=\"center\">\n\n\u003Cbr>\n\u003Cimg src=\"static\u002Fnew_readme\u002Fpptpolish\u002Fpolish-demo.gif\" width=\"90%\"\u002F>\n\u003Cbr>\u003Csub>✨ AI-based Layout Optimization\u003C\u002Fsub>\n\n\u003Cbr>\n\u003Cimg src=\"static\u002Fnew_readme\u002Fpptpolish\u002Fstyle-transfer-1.png\" width=\"90%\"\u002F>\n\u003Cbr>\u003Csub>✨ AI-based Layout Optimization & Style Transfer\u003C\u002Fsub>\n\n\u003C\u002Fdiv>\n\n---\n\n### 🖼️ PDF2PPT: Layout-Preserving Conversion\n\n\u003Cdiv align=\"center\">\n\n\u003Cbr>\n\u003Cimg src=\"static\u002Fnew_readme\u002Fpdf2ppt\u002Fcutout.png\" width=\"90%\"\u002F>\n\u003Cbr>\u003Csub>✨ Intelligent Cutout & Layout Preservation\u003C\u002Fsub>\n\n\u003Cbr>\n\u003Cimg src=\"static\u002Fnew_readme\u002Fimage2ppt\u002Fimage2ppt.png\" width=\"93%\"\u002F>\n\u003Cbr>\u003Csub>✨ Image2PPT\u003C\u002Fsub>\n\n\u003C\u002Fdiv>\n\n---\n\n## 🚀 Quick Start\n\n### Requirements\n\n![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.11+-3776AB?style=flat-square&logo=python&logoColor=white)\n![pip](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpip-latest-3776AB?style=flat-square&logo=pypi&logoColor=white)\n\n### `.env` Modes\n\nPaper2Any now supports two configuration styles:\n\n- **Simple mode**: use `*.env.simple.example`. Recommended for most self-hosted users.\n- **Advanced mode**: use `*.env.example`. Use this only when you need workflow-specific model\u002Fprovider overrides.\n\nQuick choice:\n\n```bash\ncp fastapi_app\u002F.env.simple.example fastapi_app\u002F.env\ncp frontend-workflow\u002F.env.simple.example frontend-workflow\u002F.env\n```\n\nIf you need fine-grained workflow overrides instead:\n\n```bash\ncp fastapi_app\u002F.env.example fastapi_app\u002F.env\ncp frontend-workflow\u002F.env.example frontend-workflow\u002F.env\n```\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>🐳 Docker (Recommended) — Deployment & Updates\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n```bash\n# 1. Clone\ngit clone https:\u002F\u002Fgithub.com\u002FOpenDCAI\u002FPaper2Any.git\ncd Paper2Any\n\n# 2. Configure environment variables\ncp fastapi_app\u002F.env.simple.example fastapi_app\u002F.env\ncp frontend-workflow\u002F.env.simple.example frontend-workflow\u002F.env\ncp deploy\u002Fdocker.env.example deploy\u002Fdocker.env\n```\n\n**Required configuration:**\n\n`fastapi_app\u002F.env` (backend):\n```bash\n# Internal API auth key. Must match frontend VITE_API_KEY.\nBACKEND_API_KEY=your-backend-api-key\n\n# Recommended: let backend own all workflow model choices\nAPP_BILLING_MODE=free\nPAPER2ANY_CONFIG_MODE=simple\n\n# Required: unified text entry\nSIMPLE_TEXT_API_URL=https:\u002F\u002Fyour-text-gateway\u002Fv1\nSIMPLE_TEXT_API_KEY=your_text_key\n\n# Optional but recommended: unified image entry\nSIMPLE_IMAGE_API_URL=https:\u002F\u002Fyour-image-gateway\nSIMPLE_IMAGE_API_KEY=your_image_key\n\n# Optional: DrawIO OCR \u002F VLM service\nSIMPLE_OCR_API_URL=https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1\nSIMPLE_OCR_API_KEY=your_dashscope_key\n\n# Optional: MinerU official remote API\nMINERU_API_BASE_URL=https:\u002F\u002Fmineru.net\u002Fapi\u002Fv4\nMINERU_API_KEY=your_mineru_api_key\n\n# Optional: SAM3 segmentation service for PDF2PPT \u002F Image2PPT \u002F Image2Drawio\n# SAM3_SERVER_URLS=http:\u002F\u002FGPU_MACHINE_IP:8001\n# SAM3_SERVER_URLS=http:\u002F\u002FGPU1:8021,http:\u002F\u002FGPU2:8022\n\n# Optional: Supabase (skip for no auth — core features still work)\n# SUPABASE_URL=https:\u002F\u002Fyour-project-id.supabase.co\n# SUPABASE_ANON_KEY=your_supabase_anon_key\n```\n\n`frontend-workflow\u002F.env` (frontend):\n```bash\n# Must match BACKEND_API_KEY in fastapi_app\u002F.env\nVITE_API_KEY=your-backend-api-key\n\n# Usually keep VITE_API_BASE_URL empty in Docker, because nginx proxies \u002Fapi and \u002Foutputs\nVITE_API_BASE_URL=\n\n# Frontend display defaults only\nVITE_DEFAULT_LLM_API_URL=https:\u002F\u002Fyour-text-gateway\u002Fv1\nVITE_DEFAULT_LLM_MODEL=gpt-4o\n\n# Optional: Supabase (keep consistent with backend)\n# VITE_SUPABASE_URL=https:\u002F\u002Fyour-project-id.supabase.co\n# VITE_SUPABASE_ANON_KEY=your_supabase_anon_key\n```\n\n`deploy\u002Fdocker.env` (compose overrides):\n```bash\nBACKEND_PORT=8000\nFRONTEND_PORT=3000\nDOCKER_APP_WORKERS=1\n\n# Optional: enable local SAM3 container by running DOCKER_WITH_SAM3=1 bash deploy\u002Fdocker-up.sh\nSAM3_PORT=8021\nSAM3_SERVER_URLS=\n```\n\n```bash\n# 3. Build + run\nbash deploy\u002Fdocker-up.sh\n```\n\nOpen:\n- Frontend: http:\u002F\u002Flocalhost:3000\n- Backend health: http:\u002F\u002Flocalhost:8000\u002Fhealth\n\n> **GPU services note:** Docker starts backend + frontend by default.\n> - Paper2PPT, Paper2Figure, Knowledge Base, etc. only need LLM APIs and work out of the box.\n> - **PDF2PPT, Image2PPT, Image2Drawio** require SAM3 segmentation.\n> - You can either point backend `.env` to an external SAM3 service with `SAM3_SERVER_URLS=...`,\n>   or start the optional local SAM3 compose profile:\n>   ```bash\n>   DOCKER_WITH_SAM3=1 bash deploy\u002Fdocker-up.sh\n>   ```\n>\n> See the \"Advanced: Local Model Server Load Balancing\" section below for details.\n\nModify & update:\n- After changing code or `.env`, rebuild: `bash deploy\u002Fdocker-up.sh`\n- Pull latest code and rebuild:\n  - `git pull`\n  - `bash deploy\u002Fdocker-up.sh`\n\nCommon commands:\n- View logs: `bash deploy\u002Fdocker-logs.sh`\n- Stop services: `bash deploy\u002Fdocker-down.sh`\n- Build only: `bash deploy\u002Fdocker-build.sh`\n\nNotes:\n- The first build may take a while (system deps + Python deps).\n- Frontend env is baked at build time. If you change `frontend-workflow\u002F.env` or `deploy\u002Fdocker.env`, rebuild with `bash deploy\u002Fdocker-up.sh`.\n- Outputs\u002Fmodels are mounted to the host (`.\u002Foutputs`, `.\u002Fmodels`) for persistence.\n\n\u003C\u002Fdetails>\n\n### 🐧 Linux Installation\n\n> We recommend using Conda to create an isolated environment (Python 3.11).  \n\n#### 1. Create Environment & Install Base Dependencies\n\n```bash\n# 0. Create and activate a conda environment\nconda create -n paper2any python=3.11 -y\nconda activate paper2any\n\n# 1. Clone repository\ngit clone https:\u002F\u002Fgithub.com\u002FOpenDCAI\u002FPaper2Any.git\ncd Paper2Any\n\n# 2. Install base dependencies\npip install -r requirements-base.txt\n\n# 3. Install in editable (dev) mode\npip install -e .\n```\n\n#### 2. Install Paper2Any-specific Dependencies (Required)\n\nPaper2Any involves LaTeX rendering, vector graphics processing as well as PPT\u002FPDF conversion, which require extra dependencies.\n\nThe dependency boundary is now:\n- `requirements-base.txt`: shared cross-platform Python runtime\n- `requirements-paper.txt`: paper \u002F PDF \u002F figure extras\n- `requirements-cu12.txt`: NVIDIA CUDA 12 Linux GPU extras\n- `requirements-system-ubuntu.txt`: Ubuntu\u002FDebian system packages, not Python packages\n\n```bash\n# 1. Paper \u002F PDF \u002F figure Python extras\npip install -r requirements-paper.txt\n\n# 2. NVIDIA GPU runtime extras (Linux + CUDA 12 only)\npip install -r requirements-cu12.txt\n\n# 3. LaTeX engine (tectonic) - recommended via conda\nconda install -c conda-forge tectonic -y\n\n# 4. Resolve doclayout_yolo dependency conflicts (Important)\npip install doclayout_yolo --no-deps\n\n# 5. System dependencies (Ubuntu example; full list is mirrored in requirements-system-ubuntu.txt)\nsudo apt-get update\nsudo apt-get install -y ffmpeg inkscape libreoffice poppler-utils wkhtmltopdf\n```\n\n> [!IMPORTANT]\n> `ffmpeg`, `libreoffice\u002Fsoffice`, `inkscape`, `poppler-utils`, `wkhtmltopdf`, and `tectonic`\n> are external system tools. They are not installed by `pip`, and `deploy\u002Fstart*.sh`\n> does not auto-install them.\n\n#### 3. Environment Variables\n\n```bash\nexport DF_API_KEY=your_api_key_here\nexport DF_API_URL=xxx  # Optional: if you need a third-party API gateway\nexport MINERU_DEVICES=\"0,1,2,3\" # Optional: MinerU task GPU resource pool\n```\n\n> [!TIP]\n> 📚 **For detailed configuration guide**, see [Configuration Guide](docs\u002Fguides\u002Fconfiguration.md) for step-by-step instructions on configuring models, environment variables, and starting services.\n\n#### 4. Configure Environment Files (Optional)\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>📝 Click to expand: Detailed .env Configuration Guide\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nPaper2Any uses two `.env` files for configuration. **Both are optional** - you can run the application without them using default settings.\n\n##### Step 1: Copy Example Files\n\n```bash\n# Copy backend environment file\ncp fastapi_app\u002F.env.example fastapi_app\u002F.env\n\n# Copy frontend environment file\ncp frontend-workflow\u002F.env.example frontend-workflow\u002F.env\n```\n\n##### Step 2: Backend Configuration (`fastapi_app\u002F.env`)\n\n**Supabase (Optional)** - Only needed if you want user authentication and cloud storage:\n```bash\nSUPABASE_URL=https:\u002F\u002Fyour-project-id.supabase.co\nSUPABASE_ANON_KEY=your_supabase_anon_key\n```\n\n**Model Configuration** - Customize which models to use for different workflows:\n```bash\n# Default LLM API URL\nDEFAULT_LLM_API_URL=http:\u002F\u002F123.129.219.111:3000\u002Fv1\u002F\n\n# Workflow-level defaults\nPAPER2PPT_DEFAULT_MODEL=gpt-5.1\nPAPER2PPT_DEFAULT_IMAGE_MODEL=gemini-3-pro-image-preview\nPDF2PPT_DEFAULT_MODEL=gpt-4o\n# ... see .env.example for full list\n```\n\n**Service Integration Configuration** - External or local services used by image\u002FPDF workflows:\n```bash\n# DrawIO OCR \u002F VLM\nPAPER2DRAWIO_OCR_API_URL=https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1\nPAPER2DRAWIO_OCR_API_KEY=your_dashscope_key\n\n# MinerU official remote API; if MINERU_API_KEY is empty, backend falls back to local MINERU_PORT\nMINERU_API_BASE_URL=https:\u002F\u002Fmineru.net\u002Fapi\u002Fv4\nMINERU_API_KEY=your_mineru_api_key\nMINERU_API_MODEL_VERSION=vlm\n\n# SAM3 segmentation service for PDF2PPT \u002F Image2PPT \u002F Image2Drawio\n# One endpoint:\nSAM3_SERVER_URLS=http:\u002F\u002F127.0.0.1:8001\n# Or multiple endpoints for load balancing:\n# SAM3_SERVER_URLS=http:\u002F\u002F127.0.0.1:8021,http:\u002F\u002F127.0.0.1:8022\n```\n\n##### Step 3: Frontend Configuration (`frontend-workflow\u002F.env`)\n\n**LLM Provider Configuration** - Controls the API endpoint dropdown in the UI:\n```bash\n# Default API URL shown in the UI\nVITE_DEFAULT_LLM_API_URL=https:\u002F\u002Fapi.apiyi.com\u002Fv1\n\n# Available API URLs in the dropdown (comma-separated)\nVITE_LLM_API_URLS=https:\u002F\u002Fapi.apiyi.com\u002Fv1,http:\u002F\u002Fb.apiyi.com:16888\u002Fv1,http:\u002F\u002F123.129.219.111:3000\u002Fv1\n```\n\n**What happens when you modify `VITE_LLM_API_URLS`:**\n- The frontend will display a **dropdown menu** with all URLs you specify\n- Users can select different API endpoints without manually typing URLs\n- Useful for switching between OpenAI, local models, or custom API gateways\n\n**Supabase (Optional)** - Uncomment these lines if you want user authentication:\n```bash\nVITE_SUPABASE_URL=https:\u002F\u002Fyour-project.supabase.co\nVITE_SUPABASE_ANON_KEY=your-anon-key\n```\n\n##### Running Without Supabase\n\nIf you skip Supabase configuration:\n- ✅ All core features work normally\n- ✅ CLI scripts do not require Supabase\n- ❌ No user authentication\n- ❌ No cloud account features such as points, redeem, invite, and history\n- ❌ No cloud file storage\n\n\u003C\u002Fdetails>\n\n> [!NOTE]\n> **Quick Start:** You can skip the `.env` configuration entirely and use CLI scripts directly with `--api-key` parameter. See [CLI Scripts](#️-cli-scripts-command-line-interface) section below.\n\n---\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Advanced Configuration: Local Model Service Load Balancing\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nIf you are deploying in a high-concurrency local environment, you can use `script\u002Fstart_model_servers.sh` to start a local model service cluster (MinerU \u002F SAM \u002F OCR).\n\nScript location: `\u002FDataFlow-Agent\u002Fscript\u002Fstart_model_servers.sh`\n\n**Main configuration items:**\n\n- **MinerU (PDF Parsing)**\n  - `MINERU_MODEL_PATH`: Model path (default `models\u002FMinerU2.5-2509-1.2B`)\n  - `MINERU_GPU_UTIL`: GPU memory utilization (default 0.85)\n  - **Instance configuration**: By default, one instance is started on each configured GPU, ports 8011-8013.\n  - **Load Balancer**: Port 8010, automatically dispatches requests.\n\n- **SAM3 (Segment Anything Model 3)**\n  - **Instance configuration**: By default, one instance per configured GPU, ports 8021-8022.\n  - **Model assets**: default paths are `.\u002Fmodels\u002Fsam3\u002Fsam3.pt` and `.\u002Fmodels\u002Fsam3\u002Fbpe_simple_vocab_16e6.txt.gz`.\n  - **Load Balancer**: Port 8020.\n\n- **OCR (PaddleOCR)**\n  - **Config**: Runs on CPU, uses uvicorn's worker mechanism (4 workers by default).\n  - **Port**: 8003.\n\n> Before using, please modify `gpu_id` and the number of instances in the script according to your actual GPU count and memory.\n\nFor local one-command development test on a single GPU (SAM3 + backend + frontend), run:\n\n```bash\nbash script\u002Fstart_local_sam3_dev.sh\n```\n\n\u003C\u002Fdetails>\n\n---\n\n### 🪟 Windows Installation\n\n> [!NOTE]\n> We currently recommend trying Paper2Any on Linux \u002F WSL. If you need to deploy on native Windows, please follow the steps below.\n\n#### 1. Create Environment & Install Base Dependencies\n\n```bash\n# 0. Create and activate a conda environment\nconda create -n paper2any python=3.12 -y\nconda activate paper2any\n\n# 1. Clone repository\ngit clone https:\u002F\u002Fgithub.com\u002FOpenDCAI\u002FPaper2Any.git\ncd Paper2Any\n\n# 2. Install base dependencies\npip install -r requirements-win-base.txt\n\n# 3. Install in editable (dev) mode\npip install -e .\n```\n\n#### 2. Install Paper2Any-specific Dependencies (Recommended)\n\nPaper2Any involves LaTeX rendering and vector graphics processing, which require extra dependencies:\n\n```bash\n# Python dependencies\npip install -r requirements-paper.txt\n\n# NVIDIA GPU runtime extras (Linux only; skip on Windows)\n# pip install -r requirements-cu12.txt\n\n# tectonic: LaTeX engine (recommended via conda)\nconda install -c conda-forge tectonic -y\n```\n\n**🎨 Install Inkscape (SVG\u002FVector Graphics Processing | Recommended\u002FRequired)**\n\n1. Download and install (Windows 64-bit MSI): [Inkscape Download](https:\u002F\u002Finkscape.org\u002Frelease\u002Finkscape-1.4.2\u002Fwindows\u002F64-bit\u002Fmsi\u002F?redirected=1)\n2. Add the Inkscape executable directory to the system environment variable Path (example): `C:\\Program Files\\Inkscape\\bin\\`\n\n> [!TIP]\n> After configuring the Path, it is recommended to reopen the terminal (or restart VS Code \u002F PowerShell) to ensure the environment variables take effect.\n\n#### ⚡ Install Windows Build of vLLM (Optional | For Local Inference Acceleration)\n\nRelease page: [vllm-windows releases](https:\u002F\u002Fgithub.com\u002FSystemPanic\u002Fvllm-windows\u002Freleases)  \nRecommended version: 0.11.0\n\n```bash\npip install vllm-0.11.0+cu124-cp312-cp312-win_amd64.whl\n```\n\n> [!IMPORTANT]\n> Please make sure the `.whl` matches your current environment:\n> - Python: cp312 (Python 3.12)\n> - Platform: win_amd64\n> - CUDA: cu124 (must match your local CUDA \u002F driver)\n\n#### Launch Application\n\n**Paper2Any - Paper Workflow Web Frontend (Recommended)**\n\n```bash\n# Recommended one-click entrypoint on NVIDIA machines\nbash deploy\u002Fstart_nv.sh\n```\n\nDefault local addresses:\n- Frontend dev server: http:\u002F\u002Flocalhost:3000\n- Backend health: http:\u002F\u002F127.0.0.1:8000\u002Fhealth\n\nUseful local deploy commands:\n- Start full stack (recommended): `bash deploy\u002Fstart_nv.sh`\n- Start backend only after loading a deploy profile:\n  `set -a && source deploy\u002Fprofiles\u002Fnv.env && set +a && bash deploy\u002Fstart.sh`\n- Stop backend: `.\u002Fdeploy\u002Fstop.sh`\n- Restart backend: `.\u002Fdeploy\u002Frestart.sh`\n\nNotes:\n- `deploy\u002Fstart.sh` reads `deploy\u002Fapp_config.sh`, but it does not load `deploy\u002Fprofiles\u002F*.env` by itself.\n- `deploy\u002Fstart_nv.sh` is the safe one-click entrypoint because it loads `deploy\u002Fprofiles\u002Fnv.env`, prepares local models, starts model servers, then starts backend and frontend.\n- If you change `APP_PORT`, update the frontend proxy target in `frontend-workflow\u002Fvite.config.ts` as well.\n\n**Configure Frontend Proxy**\n\nModify `server.proxy` in `frontend-workflow\u002Fvite.config.ts`:\n\n```typescript\nexport default defineConfig({\n  plugins: [react()],\n  server: {\n    port: 3000,\n    open: true,\n    allowedHosts: true,\n    proxy: {\n      '\u002Fapi': {\n        target: 'http:\u002F\u002F127.0.0.1:8000',  \u002F\u002F FastAPI backend address\n        changeOrigin: true,\n      },\n      '\u002Foutputs': {\n        target: 'http:\u002F\u002F127.0.0.1:8000',\n        changeOrigin: true,\n      },\n    },\n  },\n})\n```\n\nVisit `http:\u002F\u002Flocalhost:3000`.\n\n**Windows: Load MinerU Pre-trained Model**\n\n```powershell\n# Start in PowerShell\nvllm serve opendatalab\u002FMinerU2.5-2509-1.2B `\n  --host 127.0.0.1 `\n  --port 8010 `\n  --logits-processors mineru_vl_utils:MinerULogitsProcessor `\n  --gpu-memory-utilization 0.6 `\n  --trust-remote-code `\n  --enforce-eager\n```\n\n---\n\n### Launch Application\n\n#### 🎨 Web Frontend (Recommended)\n\n```bash\n# Recommended one-click entrypoint on NVIDIA machines\nbash deploy\u002Fstart_nv.sh\n```\n\nVisit `http:\u002F\u002Flocalhost:3000`.\nBackend health is available at `http:\u002F\u002F127.0.0.1:8000\u002Fhealth` by default.\n\n---\n\n### 🖥️ CLI Scripts (Command-Line Interface)\n\nPaper2Any provides standalone CLI scripts that accept command-line parameters for direct workflow execution without requiring the web frontend\u002Fbackend.\n\n#### Environment Variables\n\nConfigure API access via environment variables (optional):\n\n```bash\nexport DF_API_URL=https:\u002F\u002Fapi.openai.com\u002Fv1  # LLM API URL\nexport DF_API_KEY=sk-xxx                      # API key\nexport DF_MODEL=gpt-4o                        # Default model\n```\n\n#### Available CLI Scripts\n\n**1. Paper2Figure CLI** - Generate scientific figures (3 types)\n\n```bash\n# Generate model architecture diagram from PDF\npython script\u002Frun_paper2figure_cli.py \\\n  --input paper.pdf \\\n  --graph-type model_arch \\\n  --api-key sk-xxx\n\n# Generate technical roadmap from text\npython script\u002Frun_paper2figure_cli.py \\\n  --input \"Transformer architecture with attention mechanism\" \\\n  --input-type TEXT \\\n  --graph-type tech_route\n\n# Generate experimental data visualization\npython script\u002Frun_paper2figure_cli.py \\\n  --input paper.pdf \\\n  --graph-type exp_data\n```\n\n**Graph types:** `model_arch` (model architecture), `tech_route` (technical roadmap), `exp_data` (experimental plots)\n\n**2. Paper2PPT CLI** - Convert papers to PPT presentations\n\n```bash\n# Basic usage\npython script\u002Frun_paper2ppt_cli.py \\\n  --input paper.pdf \\\n  --api-key sk-xxx \\\n  --page-count 15\n\n# With custom style\npython script\u002Frun_paper2ppt_cli.py \\\n  --input paper.pdf \\\n  --style \"Academic style; English; Modern design\" \\\n  --language en\n```\n\n**3. PDF2PPT CLI** - One-click PDF to editable PPT\n\n```bash\n# Basic conversion (no AI enhancement)\npython script\u002Frun_pdf2ppt_cli.py --input slides.pdf\n\n# With AI enhancement\npython script\u002Frun_pdf2ppt_cli.py \\\n  --input slides.pdf \\\n  --use-ai-edit \\\n  --api-key sk-xxx\n```\n\n**4. Image2PPT CLI** - Convert images to editable PPT\n\n```bash\n# Basic conversion\npython script\u002Frun_image2ppt_cli.py --input screenshot.png\n\n# With AI enhancement\npython script\u002Frun_image2ppt_cli.py \\\n  --input diagram.jpg \\\n  --use-ai-edit \\\n  --api-key sk-xxx\n```\n\n**5. PPT2Polish CLI** - Beautify existing PPT files\n\n```bash\n# Basic beautification\npython script\u002Frun_ppt2polish_cli.py \\\n  --input old_presentation.pptx \\\n  --style \"Academic style, clean and elegant\" \\\n  --api-key sk-xxx\n\n# With reference image for style consistency\npython script\u002Frun_ppt2polish_cli.py \\\n  --input old_presentation.pptx \\\n  --style \"Modern minimalist style\" \\\n  --ref-img reference_style.png \\\n  --api-key sk-xxx\n```\n\n> [!NOTE]\n> **System Requirements for PPT2Polish:**\n> - LibreOffice: `sudo apt-get install libreoffice` (Ubuntu\u002FDebian)\n> - pdf2image: `pip install pdf2image`\n> - poppler-utils: `sudo apt-get install poppler-utils`\n\n#### Common Options\n\nAll CLI scripts support these common options:\n\n- `--api-url URL` - LLM API URL (default: from `DF_API_URL` env var)\n- `--api-key KEY` - API key (default: from `DF_API_KEY` env var)\n- `--model NAME` - Text model name (default: varies by script)\n- `--output-dir DIR` - Custom output directory (default: `outputs\u002Fcli\u002F{script_name}\u002F{timestamp}`)\n- `--help` - Show detailed help message\n\nFor complete parameter documentation, run any script with `--help`:\n\n```bash\npython script\u002Frun_paper2figure_cli.py --help\n```\n\n---\n\n## 📂 Project Structure\n\n```\nPaper2Any\u002F\n├── dataflow_agent\u002F          # Core codebase\n│   ├── agentroles\u002F         # Agent definitions\n│   │   └── paper2any_agents\u002F # Paper2Any-specific agents\n│   ├── workflow\u002F           # Workflow definitions\n│   ├── promptstemplates\u002F   # Prompt templates\n│   └── toolkits\u002F           # Toolkits (drawing, PPT generation, etc.)\n├── fastapi_app\u002F            # Backend API service\n├── frontend-workflow\u002F      # Frontend web interface\n├── static\u002F                 # Static assets\n├── script\u002F                 # Script tools\n└── tests\u002F                  # Test cases\n```\n\n---\n\n## 🗺️ Roadmap\n\n\u003Ctable>\n\u003Ctr>\n\u003Cth width=\"35%\">Feature\u003C\u002Fth>\n\u003Cth width=\"15%\">Status\u003C\u002Fth>\n\u003Cth width=\"50%\">Sub-features\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>📊 Paper2Figure\u003C\u002Fstrong>\u003Cbr>\u003Csub>Editable Scientific Figures\u003C\u002Fsub>\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProgress-85%25-blue?style=flat-square&logo=progress\" alt=\"85%\"\u002F>\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Model_Architecture-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Technical_Roadmap-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Experimental_Plots-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Web_Frontend-success?style=flat-square\" alt=\"Done\"\u002F>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>🧩 Paper2Diagram\u003C\u002Fstrong>\u003Cbr>\u003Csub>Drawio Diagrams\u003C\u002Fsub>\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProgress-80%25-blue?style=flat-square&logo=progress\" alt=\"80%\"\u002F>\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Paper_or_Text_to_Drawio-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Image_to_Drawio-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Chat_Edit-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Export_Drawio_PNG_SVG-success?style=flat-square\" alt=\"Done\"\u002F>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>🎬 Paper2PPT\u003C\u002Fstrong>\u003Cbr>\u003Csub>Editable Slide Decks\u003C\u002Fsub>\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProgress-70%25-yellow?style=flat-square&logo=progress\" alt=\"70%\"\u002F>\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Beamer_Style-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Long_Doc_PPT-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Template_based_PPT_Generation-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-KB_based_PPT_Generation-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Table_Extraction-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Figure_Extraction-success?style=flat-square\" alt=\"Done\"\u002F>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>🖼️ PDF2PPT\u003C\u002Fstrong>\u003Cbr>\u003Csub>Layout-Preserving Conversion\u003C\u002Fsub>\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProgress-90%25-green?style=flat-square&logo=progress\" alt=\"90%\"\u002F>\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Smart_Cutout-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Layout_Preservation-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Editable_PPTX-success?style=flat-square\" alt=\"Done\"\u002F>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>🖼️ Image2PPT\u003C\u002Fstrong>\u003Cbr>\u003Csub>Image to Slides\u003C\u002Fsub>\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProgress-85%25-blue?style=flat-square&logo=progress\" alt=\"85%\"\u002F>\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Single_or_Multi_Image_Input-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Layout_Aware_Slides-success?style=flat-square\" alt=\"Done\"\u002F>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>🎨 PPTPolish\u003C\u002Fstrong>\u003Cbr>\u003Csub>Smart Beautification\u003C\u002Fsub>\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProgress-60%25-yellow?style=flat-square&logo=progress\" alt=\"60%\"\u002F>\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Style_Transfer-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F⚠-Layout_Optimization-yellow?style=flat-square\" alt=\"In_Progress\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F⚠-Reference_Image_Polish-yellow?style=flat-square\" alt=\"In_Progress\"\u002F>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>📚 Knowledge Base\u003C\u002Fstrong>\u003Cbr>\u003Csub>KB Workflows\u003C\u002Fsub>\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProgress-75%25-blue?style=flat-square&logo=progress\" alt=\"75%\"\u002F>\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Ingest_and_Embedding-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-Semantic_Search-success?style=flat-square\" alt=\"Done\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F✓-KB_PPT_Podcast_Mindmap-success?style=flat-square\" alt=\"Done\"\u002F>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>🎬 Paper2Video\u003C\u002Fstrong>\u003Cbr>\u003Csub>Video Script Generation\u003C\u002Fsub>\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProgress-40%25-yellow?style=flat-square&logo=progress\" alt=\"40%\"\u002F>\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F⚠-Script_and_Narration-yellow?style=flat-square\" alt=\"In_Progress\"\u002F>\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F⚠-Storyboard_Assets-yellow?style=flat-square\" alt=\"In_Progress\"\u002F>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n## 🤝 Contributing\n\nWe welcome all forms of contribution!\n\n[![Issues](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FIssues-Submit_Bug-red?style=for-the-badge&logo=github)](https:\u002F\u002Fgithub.com\u002FOpenDCAI\u002FPaper2Any\u002Fissues)\n[![Discussions](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscussions-Feature_Request-blue?style=for-the-badge&logo=github)](https:\u002F\u002Fgithub.com\u002FOpenDCAI\u002FPaper2Any\u002Fdiscussions)\n[![PR](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPR-Submit_Code-green?style=for-the-badge&logo=github)](https:\u002F\u002Fgithub.com\u002FOpenDCAI\u002FPaper2Any\u002Fpulls)\n\n---\n\n## 📄 License\n\nThis project is licensed under [Apache License 2.0](LICENSE).\n\n\u003C!-- ---\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=OpenDCAI\u002FPaper2Any&type=Date)](https:\u002F\u002Fstar-history.com\u002F#OpenDCAI\u002FPaper2Any&Date) -->\n\n---\n\n\u003Cdiv align=\"center\">\n\n**If this project helps you, please give us a ⭐️ Star!**\n\n[![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FOpenDCAI\u002FPaper2Any?style=social)](https:\u002F\u002Fgithub.com\u002FOpenDCAI\u002FPaper2Any\u002Fstargazers)\n[![GitHub forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002FOpenDCAI\u002FPaper2Any?style=social)](https:\u002F\u002Fgithub.com\u002FOpenDCAI\u002FPaper2Any\u002Fnetwork\u002Fmembers)\n\n\u003Cbr>\n\n\u003Ca name=\"wechat-group\">\u003C\u002Fa>\n\u003Cimg src=\"frontend-workflow\u002Fpublic\u002Fwechat.png\" alt=\"DataFlow-Agent WeChat Community\" width=\"300\"\u002F>\n\u003Cbr>\n\u003Csub>Scan to join the community WeChat group\u003C\u002Fsub>\n\n\u003Cp align=\"center\"> \n  \u003Cem> ❤️ Made with by OpenDCAI Team\u003C\u002Fem>\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n","Paper2Any 是一个能够将论文、文本或主题转换为可编辑的研究图表、技术路线图和演示文稿的工具。该项目利用AI技术，支持从PDF、截图或纯文本中一键生成模型图、技术路线图、实验图表及幻灯片。其核心功能包括多文件格式支持、AI驱动的内容生成、自定义样式设置以及快速处理能力。特别适用于科研人员、工程师和技术讲师在准备报告、演讲或教学材料时使用，帮助他们高效地创建专业且美观的可视化内容。",2,"2026-06-11 03:42:21","high_star"]