Tools / PowerPoint Presentations
PowerPoint Presentations icon

PowerPoint Presentations

Create, read & modify slide decks

Create, read, and modify PowerPoint (.pptx) files. Build decks with text, shapes, images, charts, tables, backgrounds, and transitions. Read any .pptx into structured JSON. Apply batch edits like text replacement, slide reordering, and image insertion. Returns downloadable files.

3 skillsv0.01
Create Presentation

Build a PowerPoint deck from structured data — slides with text, shapes, images, charts, tables, backgrounds, slide masters, speaker notes, transitions, and slide numbers. Returns a downloadable .pptx file.

Returns: A downloadable .pptx file with all slides, elements, formatting, charts, tables, and transitions applied
Parameters
slides *arrayArray of slide definitions. Each slide has elements (text, shape, image, chart, table) positioned on the canvas.
slide_mastersarrayReusable slide masters. Each: {name, background?, placeholders?: [{name, type, x, y, w, h}], slide_number?, objects?}
slide_sizestringSlide size preset: "standard" (10x7.5), "widescreen" (13.33x7.5), "4x3", "16x9", "16x10". Default: widescreen.
custom_widthnumberCustom slide width in inches (requires custom_height)
custom_heightnumberCustom slide height in inches (requires custom_width)
titlestringPresentation title (document metadata)
authorstringAuthor name (document metadata)
subjectstringSubject (document metadata)
companystringCompany name (document metadata)
filenamestringOutput filename (default: presentation.pptx)
Example
Sales report presentation with chart and table
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "pptx-tools",
  "skill": "create_presentation",
  "input": {
    "slides": [
      {
        "elements": [
          {
            "type": "text",
            "text": "Q4 Sales Report",
            "x": 0.5,
            "y": 0.5,
            "w": 12,
            "h": 1.2,
            "font_size": 36,
            "bold": true,
            "color": "003366",
            "align": "center"
          },
          {
            "type": "chart",
            "chart_type": "bar",
            "x": 0.5,
            "y": 2,
            "w": 6,
            "h": 4,
            "data": [
              {
                "name": "Revenue",
                "labels": [
                  "Oct",
                  "Nov",
                  "Dec"
                ],
                "values": [
                  45000,
                  52000,
                  61000
                ]
              }
            ],
            "title": "Monthly Revenue",
            "colors": [
              "4472C4"
            ],
            "show_data_labels": true
          },
          {
            "type": "table",
            "x": 7,
            "y": 2,
            "w": 5.5,
            "first_row_header": true,
            "header_fill_color": "003366",
            "header_font_color": "FFFFFF",
            "rows": [
              {
                "cells": [
                  {
                    "text": "Region"
                  },
                  {
                    "text": "Revenue"
                  },
                  {
                    "text": "Growth"
                  }
                ]
              },
              {
                "cells": [
                  {
                    "text": "North"
                  },
                  {
                    "text": "$245K"
                  },
                  {
                    "text": "+12%",
                    "font_color": "00AA00"
                  }
                ]
              },
              {
                "cells": [
                  {
                    "text": "South"
                  },
                  {
                    "text": "$198K"
                  },
                  {
                    "text": "+8%",
                    "font_color": "00AA00"
                  }
                ]
              }
            ]
          }
        ],
        "speaker_notes": "Q4 showed strong growth across all regions",
        "background": {
          "color": "F5F5F5"
        }
      }
    ],
    "title": "Q4 Sales Report",
    "author": "Sales Team",
    "filename": "q4-sales.pptx"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Read Presentation

Read a .pptx from URL and extract all content as structured JSON — slides, text, shapes, images, charts, tables, notes, layouts, masters, and theme colors.

Returns: Structured JSON with all slide content, text, shapes, images, charts, tables, notes, properties, and optional deep metadata
Parameters
url *stringURL of the .pptx file to read. The tool server CAN fetch any public URL — always pass it.
slide_rangestringRead only these slides (e.g. "1-3" or "5"). Omit to read all.
include_notesbooleanExtract speaker notes per slide (default: true)
include_layoutsbooleanList slide layout names (default: false)
include_mastersbooleanList slide masters and their layouts (default: false)
include_propertiesbooleanExtract document properties like title, author, dates (default: true)
include_theme_colorsbooleanExtract theme color palette (default: false)
include_mediabooleanList media file references per slide (default: false)
Example
Read all slides from a presentation
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "pptx-tools",
  "skill": "read_presentation",
  "input": {
    "url": "https://example.com/deck.pptx"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Modify Presentation

Apply batch operations to an existing .pptx: replace_text, update_speaker_notes, add/delete/reorder/duplicate slides, insert_image, add_text_box, delete_slide_element, update_slide_background, apply_transition, update_properties. Returns modified file.

Returns: The modified .pptx file with a summary of all operations applied
Parameters
url *stringURL of the .pptx file to modify. The tool server CAN fetch any public URL — always pass it.
operations *arrayOperations to apply in order. Each has an "action" field plus action-specific params.
filenamestringOutput filename (default: modified.pptx)
Example
Replace text and add speaker notes to a presentation
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "pptx-tools",
  "skill": "modify_presentation",
  "input": {
    "url": "https://example.com/template.pptx",
    "operations": [
      {
        "action": "replace_text",
        "find": "{{company}}",
        "replace": "Acme Corp"
      },
      {
        "action": "replace_text",
        "find": "{{date}}",
        "replace": "2026-03-23"
      },
      {
        "action": "update_speaker_notes",
        "slide": 1,
        "notes": "Welcome the audience and introduce the topic"
      },
      {
        "action": "apply_transition",
        "slide": 1,
        "transition_type": "fade",
        "speed": "fast"
      }
    ]
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Loading reviews...
Loading activity...
v0.012026-03-23
  • Initial release with create, read, and modify skills

Quick Start

MCP (Claude Code)
claude mcp add --transport stdio \
  --env TOOLROUTER_API_KEY=YOUR_API_KEY \
  toolrouter -- npx -y toolrouter-mcp
REST API
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{"tool":"pptx-tools","skill":"create_presentation","input":{}}' \
  https://api.toolrouter.com/v1/tools/call

Frequently Asked Questions

Can I build decks with charts, tables, and speaker notes?

Yes. `create_presentation` creates .pptx files with text, shapes, images, charts, tables, slide masters, speaker notes, transitions, and slide numbers.

Can I inspect an existing presentation before editing it?

`read_presentation` turns a .pptx into structured JSON and can include notes, layouts, masters, theme colors, and media metadata.

Can I modify slides in an existing deck?

Yes. `modify_presentation` handles batch edits on an existing file URL, including text replacement, slide reordering, and image insertion.

What formatting rules matter most?

Use hex colors without the `#` prefix, place elements in inches, and use the built-in bullet settings instead of typing bullet characters. Slide size presets include standard, widescreen, 4x3, 16x9, and 16x10.