# Extract from MOV

Use this extractor for `.mov` files. It can extract audio, metadata, artwork, subtitles, frames, transcript into a ZIP result.

## Quick reference

| Field | Value |
| --- | --- |
| Source file type | `.mov` |
| Source group | Video |
| Submit endpoint | `POST https://api.tools.fast/extract` |
| Estimate endpoint | `POST https://api.tools.fast/extract/estimate/mov` |
| Result | ZIP download |
| Default capabilities | `video.audio`, `video.metadata`, `video.artwork`, `video.subtitles` |
| Max file size | free: 50 MB; pro: 2048 MB |
| Document limits | Not applicable |
| Duration limits | free: 60 minutes; pro: 300 minutes |

## Capabilities

| Capability | Default | Options | Pricing | Description |
| --- | --- | --- | --- | --- |
| `video.audio` | Yes | `audioFormat` | Included | Extracted audio files when present. |
| `video.metadata` | Yes | None | Included | File information, dimensions, dates, and embedded tags. |
| `video.artwork` | Yes | None | Included | Cover art and attached pictures when present. |
| `video.subtitles` | Yes | None | Included | Subtitle files extracted from embedded tracks. |
| `video.frames` | No | `frameMode`, `frameIntervalSeconds`, `maxExtractedFrames` | Included | Extract frames and timing data when present. |
| `media.transcript` | No | `transcription.mode` | `fast`: 2 credits per 1 minute; `quality`: 4 credits per 1 minute; `meeting-intelligence`: 6 credits per 1 minute | Create transcripts from speech. |


## Capability options

### Audio

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

### Frames

| Option | Type | Default | Allowed values | Limits |
| --- | --- | --- | --- | --- |
| `frameMode` | `enum` | `evenly-spaced` | `evenly-spaced`, `first`, `every-n-seconds` | None |
| `frameIntervalSeconds` | `number` | `1` | Any value within limits | 0.1 to 300 |
| `maxExtractedFrames` | `integer` | `500` | Any value within limits | 1 to 2000 |

### Transcript

| Option | Type | Default | Allowed values | Limits |
| --- | --- | --- | --- | --- |
| `transcription.mode` | `enum` | `fast` | `fast`, `quality`, `meeting-intelligence` | 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": [
      "video.audio",
      "video.metadata",
      "video.artwork",
      "video.subtitles",
      "video.frames",
      "media.transcript"
    ],
    "includeManifest": true,
    "capabilityOptions": {
      "video.audio": {
        "audioFormat": "mp3"
      },
      "video.frames": {
        "frameMode": "every-n-seconds",
        "frameIntervalSeconds": 5,
        "maxExtractedFrames": 100
      },
      "media.transcript": {
        "transcription.mode": "quality"
      }
    }
  }
}
```

## Estimate example

```bash
curl -sS -X POST "https://api.tools.fast/extract/estimate/mov" \
  -H "X-Fast-Api-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "fileSizeMb": 25,
  "durationMinutes": 3,
  "options": {
    "extraction": {
      "selectedCapabilities": [
        "video.audio",
        "video.metadata",
        "video.artwork",
        "video.subtitles",
        "video.frames",
        "media.transcript"
      ],
      "includeManifest": true,
      "capabilityOptions": {
        "video.audio": {
          "audioFormat": "mp3"
        },
        "video.frames": {
          "frameMode": "every-n-seconds",
          "frameIntervalSeconds": 5,
          "maxExtractedFrames": 100
        },
        "media.transcript": {
          "transcription.mode": "quality"
        }
      }
    }
  }
}'
```

## 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.mov" \
  -F 'options={
  "extraction": {
    "selectedCapabilities": [
      "video.audio",
      "video.metadata",
      "video.artwork",
      "video.subtitles",
      "video.frames",
      "media.transcript"
    ],
    "includeManifest": true,
    "capabilityOptions": {
      "video.audio": {
        "audioFormat": "mp3"
      },
      "video.frames": {
        "frameMode": "every-n-seconds",
        "frameIntervalSeconds": 5,
        "maxExtractedFrames": 100
      },
      "media.transcript": {
        "transcription.mode": "quality"
      }
    }
  }
}'
```

## Machine-readable discovery

```http
GET /options/mov
GET /extractors/mov
```
