# Extract from PPTM

Use this extractor for `.pptm` files. It can extract images, slide renders, text, markdown, speaker notes, audio, video, embedded files into a ZIP result.

## Quick reference

| Field | Value |
| --- | --- |
| Source file type | `.pptm` |
| Source group | Documents |
| Submit endpoint | `POST https://api.tools.fast/extract` |
| Estimate endpoint | `POST https://api.tools.fast/extract/estimate/pptm` |
| Result | ZIP download |
| Default capabilities | `powerpoint.images`, `powerpoint.slides`, `powerpoint.text`, `powerpoint.markdown`, `powerpoint.notes`, `powerpoint.audio`, `powerpoint.video`, `powerpoint.embeddedFiles` |
| Max file size | free: 50 MB; pro: 2048 MB |
| Document limits | free: 2000 document units; pro: 2000 document units |
| Duration limits | Not applicable |

## Capabilities

| Capability | Default | Options | Pricing | Description |
| --- | --- | --- | --- | --- |
| `powerpoint.images` | Yes | None | Included | Original image assets saved as separate files. |
| `powerpoint.slides` | Yes | None | Included | Rendered slide images for preview and review. |
| `powerpoint.text` | Yes | None | Included | Readable text files for review, migration, or search. |
| `powerpoint.markdown` | Yes | None | Included | Markdown generated from slide text and speaker notes. |
| `powerpoint.notes` | Yes | None | Included | Speaker notes split into readable files. |
| `powerpoint.audio` | Yes | `audioFormat` | Included | Extracted audio files when present. |
| `powerpoint.video` | Yes | None | Included | Extracted video files when present. |
| `powerpoint.embeddedFiles` | Yes | None | Included | Embedded files recovered as separate files. |


## Capability options

### Audio

| Option | Type | Default | Allowed values | Limits |
| --- | --- | --- | --- | --- |
| `audioFormat` | `enum` | `mp3` | `mp3`, `wav`, `m4a`, `original`, `best` | None |

## Options payload with all capabilities

Use this shape when you want to explicitly configure every supported output for this source type.

```json
{
  "extraction": {
    "selectedCapabilities": [
      "powerpoint.images",
      "powerpoint.slides",
      "powerpoint.text",
      "powerpoint.markdown",
      "powerpoint.notes",
      "powerpoint.audio",
      "powerpoint.video",
      "powerpoint.embeddedFiles"
    ],
    "includeManifest": true,
    "capabilityOptions": {
      "powerpoint.audio": {
        "audioFormat": "mp3"
      }
    }
  }
}
```

## Estimate example

```bash
curl -sS -X POST "https://api.tools.fast/extract/estimate/pptm" \
  -H "X-Fast-Api-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "fileSizeMb": 10,
  "slideCount": 12,
  "options": {
    "extraction": {
      "selectedCapabilities": [
        "powerpoint.images",
        "powerpoint.slides",
        "powerpoint.text",
        "powerpoint.markdown",
        "powerpoint.notes",
        "powerpoint.audio",
        "powerpoint.video",
        "powerpoint.embeddedFiles"
      ],
      "includeManifest": true,
      "capabilityOptions": {
        "powerpoint.audio": {
          "audioFormat": "mp3"
        }
      }
    }
  }
}'
```

## Extract example with all options configured

```bash
curl -sS -X POST "https://api.tools.fast/extract" \
  -H "X-Fast-Api-Key: $API_KEY" \
  -F "file=@input.pptm" \
  -F 'options={
  "extraction": {
    "selectedCapabilities": [
      "powerpoint.images",
      "powerpoint.slides",
      "powerpoint.text",
      "powerpoint.markdown",
      "powerpoint.notes",
      "powerpoint.audio",
      "powerpoint.video",
      "powerpoint.embeddedFiles"
    ],
    "includeManifest": true,
    "capabilityOptions": {
      "powerpoint.audio": {
        "audioFormat": "mp3"
      }
    }
  }
}'
```

## Machine-readable discovery

```http
GET /options/pptm
GET /extractors/pptm
```
