SurgePixSurgePix
Home>Skills Library>Presentation Creator

Presentation Creator

Generate AI-powered presentations from a prompt, outline, or document — optimized for autonomous agent skill calling and automated workflows. Use when the user asks to create a PPT, make a slide deck, turn an outline into slides, or generate a presentation from a brief. Accepts natural language prompts, local files or document URLs as input. Returns a download URL, session ID, and task ID upon completion, with async execution and automatic polling. Supports 8 present styles for intent-to-style mapping, session-based multi-turn iteration for conversational refinement and auto language detection.

npx skills add https://github.com/surgepix/agent-skills --skill surgepix-generate-presentation
Download ZIPGitHub

SurgePix Presentation Creator

Generate a polished PowerPoint (.pptx) file from a prompt and optional outline using the SurgePix API. Use when the user asks to create a PPT, make a slide deck, turn an outline into slides, or generate a presentation from a brief.

What the Skill Does

ActionDescription
Generate PPTCreate a complete .pptx from text prompt, style, and other requirements
Upload reference documentUpload a visual reference image or outline file to apply to PPT design
Check task statusPoll a generation task by taskId to check progress
Download resultRetrieve the .pptx download URL directly from the task result
Generations run asynchronously. By default, the skill submits the task and polls automatically until complete. Pass --no-wait to receive a taskId immediately and check progress manually with the status command.

Workflow

  1. Step 0: Check environment (required)

    Before running, verify config:

    node "<skills-dir>/surgepix-setup/scripts/check_env.mjs"
    • Exit 0 → proceed to Step 1
    • Exit 1 → follow surgepix-setup skill to configure .env, then retry
  2. Step 1: Gather inputs

    At least one of --prompt or --outline is required.

    • Prompt (optional): text describing the presentation topic, purpose, and key points.
    • Outline (optional): local file path or document URL. Script uploads automatically. Supported formats: doc, docx, pdf, txt, md, html, pptx — max 50MB
    • Slide count (optional, default 10, range 5 - 30): use --n
    • Aspect ratio (optional, default 16:9): 16:9 (widescreen) / 4:3 (standard)
    • Style (optional): layout and typography preset. Choose from: modern / corporate / creative / minimal / tech. Use as a quick shorthand for visual direction; omit if --promptPreset Styles section below for detailed descriptions.
    • Language (optional, default: auto-detect from user's input language): zh / en / ja
    • Session ID (optional): if the user is iterating on a previous result, ask them to provide the sessionID (number type) printed by the last run. If this is a fresh request, omit it — the platform auto-creates a new session.
    • Local outline file → script uploads automatically, then calls API
    • Outline URL → script uses it directly
  3. Step 2: Run generate-presentation

    node "<skills-dir>/surgepix-generate-presentation/scripts/generate_presentation.js" \
      [--prompt "<text>"] [--outline "<path-or-url>" ...] \
      [--n <5-30>] [--aspect-ratio <16:9>] [--style <name>] \
      [--language <zh|en|ja>] [--session-id <id>]
    FlagDescription
    --prompt <text>Text describing the presentation topic, purpose, and key points
    --outline <path-or-url>Outline document (local path auto-uploaded; repeatable for multiple files)
    --n <5-30>Number of slides, default 10
    --aspect-ratio <ratio>Aspect ratio, default 16:9 (e.g. 16:9, 4:3)
    --style <name>Layout preset: modern / corporate / creative / minimal / tech
    --language <code>Output language: zh / en / ja
    --session-id <id>Session ID; pass the sessionId (number type) from a previous run to iterate

    The script always uses asynchronous mode (internal noWait=true) — it submits the task and automatically polls until complete.

  4. Step 3: Parse output

    Success (stdout):

    {"ok":true,"taskId":"task_xxx","sessionId":123,"progress":"succeeded","download":"https://...presentation.pptx"}

    Failure (stderr):

    {"ok":false,"error":"..."}
  5. Step 4: Present result

    • On success: Show the download URL. Always show sessionId (note: it is a number type, e.g. 123) so the user can pass it in a retry if needed
    • On failure: Report the error field. Common causes:
      • Missing required parameter — neither --prompt nor --outline provided
      • Unsupported outline format — file format not supported
      • Outline file too large — exceeds 50MB
      • --n out of range or invalid --language code
      • Generation failed — internal error; retry or simplify the prompt
    • The result is automatically attached to the session (auto-created or reused). The user can open the platform frontend to see all iterations in one place.
    • If the user is not satisfied and wants to iterate, instruct them to pass --session-id <sessionId> (number type) in the next run — both versions appear in the same session history on the frontend.

Rules

  • ALWAYS run check_env.mjs before first use in a session
  • Provide at least --prompt or --outline
  • --n must be an integer between 5 and 30
  • If the user wants to iterate, they pass --session-id 123 in the next run — both versions appear in the same session on the frontend.
  • If --session-id is omitted, the platform auto-creates a new session for the run.
  • The .pptx download URL is valid for 24 hours; download before it expires.
  • Supported outline formats: doc, docx, pdf, txt, md, html, pptx — max 50MB.
  • NEVER pass local outline paths to the API — script handles upload internally
  • NEVER invent download URLs — only use the download value from the output
  • NEVER echo auth tokens in logs or output

More skills from SurgePix

Poster Creator

Generate AI-powered event posters from structured event details and creative direction.

Illustration Creator

Generate 16:9 horizontal article illustrations (hand-drawn style) from a topic or per-shot specifications.

XHS Creator

Generate Xiaohongshu vertical carousel image sets from per-page copy descriptions.

Brand Logo Generator

Generate a brand logo image from a text description plus optional reference images.

Film Storyboards Generator

Generate film storyboard images from a script / storyboard description.

Generate Photo-poetic Editorial Artwork from an Image

Generate photo-poetic editorial artwork from uploaded images.

Generate Restaged Cinematic Artwork from an Image

Generate restaged cinematic artwork from one or more uploaded photos.

Generate Brand Placement

Generate images while locking a brand logo and/or fixed text to a consistent position.

Generate Channel Crop Pack

Generate a channel crop pack from one or more source images.

Background Remover

Generate AI-powered transparent PNGs by removing image backgrounds.

Image Translator

Translate text on one or more images to a target language while preserving the background.

PPT Translator

Translate all text content in a PowerPoint (.pptx) file into a target language.

Image Editing / Style Change

Edit an image via reference images and a text edit instruction.

SurgePixSurgePix

Create & Edit Visuals with AI

Contact UsXDiscordEmail[email protected]
ToolsPDF to JPG converterPNG to JPG converterJPG to PDF converterHEIC to PDF converterHEIC to PNG converterImage ResizerAI Image EditorYouTube Banner MakerAI HairstyleFather's day 2026Mother's day 2026Bar Graph MakerPie Chart MakerVenn Diagram Maker
Helpful ResourcesTate-A-TateSurgeflowSkills LibraryPresentation CreatorPoster CreatorIllustration CreatorXHS CreatorBackground RemoverImage TranslatorPPT TranslatorBrand Logo GeneratorFilm Storyboards GeneratorGenerate Photo-poetic Editorial Artwork from an ImageGenerate Restaged Cinematic Artwork from an ImageGenerate Brand PlacementGenerate Channel Crop PackImage Editing / Style Change

© 2026 SurgePix. All rights reserved. Made with ❤️ for productivity.