popai-powerpoint-pptx

Create presentations (PPT) using PopAI API. Use when asked to create slides, presentations, decks, or PPT content. Has built-in research capabilities — just pass a topic. Supports uploading reference files (pptx/pdf/docx/images). Supports user's own pptx template with 100% layout fidelity. Also supp

By popaiofficial · 427 installs

npx skills add popaiofficial/popai-presentation-slides --skill popai-powerpoint-pptx

Source repository · Upstream listing

PopAI PPT Skill Create presentations programmatically via PopAI's API. The API has powerful built in research and information gathering capabilities — it will automatically search, collect, and organize relevant content. Optionally upload files as reference material or templates. If a .pptx template is provided, the output will fully preserve the template's layout, styles, and design — 100% faithful reproduction based on your template. After initial generation, you can send follow up modification instructions using the same channel ID. Setup 1. Ask user to sign up and obtain their Access Token at: https://www.popai.pro/popai skill 2. Once user provides the token, set it in environment: export POPAI ACCESS TOKEN=<token Tips: You can save the key in TOOLS.md for future reference. Scripts generate ppt.py Generate PPT via PopAI API (upload files → create channel → SSE stream → get pptx); also supports multi round modification via channel id Usage Examples Agent Steps Initial Generation 1. Get PPT topic from user 2. If user provides reference material: Local files : pass as file (max 5) and/or tpl (PPT template for layout) URLs : include directly in the query text — the API will fetch and process them automatically 3. Run script (timeout: 1200000): Tell user: "Generating your PPT, estimated 5 minutes..." 4. While the script is running, monitor stdout JSON lines and report progress to user in real time (e.g. task status updates, search actions, tool results) 5. When generation completes, present final results to user: Show summary text (from NODE END event) as the generation summary Show pptx url as the download link: "Download PPT: <pptx url " Show web url as the site link: "View/Edit online: <web url " 6. If user requests the pptx file directly, download it from pptx url and deliver the file to user 7. Save the channel id from web url (last path segment of https://www.popai.pro/agentic pptx/<channelId ) for potential follow up modifications Multi Round Modification Use when the user wants to revise or improve an already generated PPT (e.g. "add a slide", "change the title", "use a darker theme"). Rules: Required : channel id (from previous generation) + query (modification instruction) Optional : file to supply new reference files for the revision Not supported : tpl is ignored in modify mode — the original template cannot be changed 1. Confirm the channel id from the previous generation (stored from web url ) 2. Get modification instruction from user 3. If user provides additional reference files, pass as file 4. Run script (timeout: 1200000): Tell user: "Applying your modifications, estimated 3 5 minutes..." 5. Parse and present results the same way as initial generation (new pptx url and web url ) Output Event types (stdout, one JSON per line): Final result ( is end: true ): pptx url : Download link for the .pptx file web url : PopAI site link for online viewing and editing preview images : Page by page screenshots of the generated PPT (one image per slide) preview count : Total number of preview images (i.e. number of slides) summary : Final summary text from the NODE END event, shown to the user as a generation recap Support For any issues, contact customerservice@popai.pro Technical Notes Streaming : SSE stream; TOOL CALLS pptx event contains final .pptx download URL; last:true marks stream end File Upload : Presigned POST to S3 via getPresignedPost , supports any file type Timeout : Generation typically takes ~5 minutes; Channel ID : Extractable from web url — last path segment of https://www.popai.pro/agentic pptx/<channelId Multi round : Calls send generate directly with existing channel id ; tpl info is never passed (template is fixed after channel creation)