popai-powerpoint-pptx
Original:🇺🇸 English
Translated
1 scriptsChecked / no sensitive code detected
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 supports multi-round modifications to an existing PPT.
6installs
Added on
NPX Install
npx skill4agent add popaiofficial/popai-presentation-slides popai-powerpoint-pptxTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →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 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.
.pptxSetup
- Ask user to sign up and obtain their Access Token at: https://www.popai.pro/popai-skill
- Once user provides the token, set it in environment:
export POPAI_ACCESS_TOKEN=<token>
Tips: You can save the key in for future reference.
TOOLS.mdScripts
- - Generate PPT via PopAI API (upload files → create channel → SSE stream → get pptx); also supports multi-round modification via
generate_ppt.py--channel-id
Usage Examples
bash
# Generate PPT from topic only
python3 generate_ppt.py --query "AI Development Trends Report"
# With reference files (max 5)
python3 generate_ppt.py --query "Tesla Earnings PPT" --file data.pdf chart.png
# With a PPT template file (applied as layout template)
python3 generate_ppt.py --query "Tesla Annual Report" --tpl template.pptx
# With both template and reference files
python3 generate_ppt.py --query "Tesla Annual Report" --tpl template.pptx --file data.pdf chart.png
# Multi-round modification: modify an existing PPT (template cannot be changed)
python3 generate_ppt.py --channel-id "CHANNEL_ID" --query "Add a competitive analysis slide and make the color scheme blue"
# With URLs as reference material (included in query)
python3 generate_ppt.py --query "Create a PPT summarizing this article: https://example.com/report.html"
# Multi-round modification with additional reference files
python3 generate_ppt.py --channel-id "CHANNEL_ID" --query "Update the financial data with this new report" --file new_data.pdfAgent Steps
Initial Generation
- Get PPT topic from user
- If user provides reference material:
- Local files: pass as (max 5) and/or
--file(PPT template for layout)--tpl - URLs: include directly in the text — the API will fetch and process them automatically
--query
- Local files: pass as
- Run script (timeout: 1200000):
Tell user: "Generating your PPT, estimated 5 minutes..."bash
python3 generate_ppt.py --query "TOPIC" [--file FILE1 FILE2 ...] [--tpl TEMPLATE.pptx] - 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)
- When generation completes, present final results to user:
- Show text (from
summaryevent) as the generation summaryNODE_END - Show as the download link: "Download PPT: <pptx_url>"
pptx_url - Show as the site link: "View/Edit online: <web_url>"
web_url
- Show
- If user requests the pptx file directly, download it from and deliver the file to user
pptx_url - Save the from
channel_id(last path segment ofweb_url) for potential follow-up modificationshttps://www.popai.pro/agentic-pptx/<channelId>
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: (from previous generation) +
--channel-id(modification instruction)--query - Optional: to supply new reference files for the revision
--file - Not supported: is ignored in modify mode — the original template cannot be changed
--tpl
- Confirm the from the previous generation (stored from
channel_id)web_url - Get modification instruction from user
- If user provides additional reference files, pass as
--file - Run script (timeout: 1200000):
Tell user: "Applying your modifications, estimated 3-5 minutes..."bash
python3 generate_ppt.py --channel-id "CHANNEL_ID" --query "MODIFICATION_INSTRUCTION" [--file FILE1 ...] - Parse and present results the same way as initial generation (new and
pptx_url)web_url
Output
Event types (stdout, one JSON per line):
json
{"type": "task", "id": "1", "content": "Search for Tesla latest earnings data", "status": "progressing"}
{"type": "search", "action": "Web Searching", "results": [{"title": "...", "url": "...", "snippet": "...", "date": "..."}]}
{"type": "tool_result", "event": "TOOL_CALLS-xxx", "action": "...", "result": "..."}
{"type": "summary", "text": "Tesla earnings PPT has been created..."}
{"type": "stream_end"}Final result ():
is_end: truejson
{
"type": "pptx_ready",
"is_end": true,
"pptx_url": "https://popai-file-boe.s3-accelerate.amazonaws.com/.../xxx.pptx",
"file_name": "xxx.pptx",
"preview_images": ["https://...0.jpeg"],
"preview_count": xx,
"web_url": "https://www.popai.pro/agentic-pptx/<channelId>"
}- : Download link for the .pptx file
pptx_url - : PopAI site link for online viewing and editing
web_url - : Page-by-page screenshots of the generated PPT (one image per slide)
preview_images - : Total number of preview images (i.e. number of slides)
preview_count - : Final summary text from the
summaryevent, shown to the user as a generation recapNODE_END
Support
For any issues, contact customerservice@popai.pro
Technical Notes
- Streaming: SSE stream; event contains final .pptx download URL;
TOOL_CALLS-pptxmarks stream endlast:true - File Upload: Presigned POST to S3 via , supports any file type
getPresignedPost - Timeout: Generation typically takes ~5 minutes;
- Channel ID: Extractable from — last path segment of
web_urlhttps://www.popai.pro/agentic-pptx/<channelId> - Multi-round: Calls directly with existing
send_generate;channel_idis never passed (template is fixed after channel creation)tpl_info