# Extraer

`POST /extract` envía un trabajo público de extracción. Acepta datos multipart con un `file` y un campo JSON opcional `options`.

Requiere `X-Fast-Api-Key` de una cuenta con acceso Pro. Las claves gratuitas y otras claves que no sean Pro devuelven `403 api_key.pro_required` antes de crear el trabajo.

## Petición

```http
POST /extract
Content-Type: multipart/form-data
X-Fast-Api-Key: YOUR_API_KEY
```

```bash
curl https://api.tools.fast/extract \
  -H "X-Fast-Api-Key: $API_KEY" \
  -F "file=@slides.pptx" \
  -F 'options={
    "extraction": {
      "selectedCapabilities": [
        "powerpoint.images",
        "powerpoint.text",
        "powerpoint.markdown"
      ],
      "includeManifest": true
    }
  }'
```

## Campos de formulario

| Campo | Obligatorio | Notas |
| --- | --- | --- |
| `file` | Sí | Exactamente un archivo origen. |
| `options` | No | JSON de opciones. Los valores predeterminados dependen del formato. |

## Respuesta

```json
{
  "id": "0190f2d5b8d87c8bbf647a38f954cb81",
  "status": "Queued",
  "fileName": "slides",
  "format": "pptx",
  "queue": {
    "pool": "DocumentPool",
    "position": 1
  }
}
```

La cabecera `Location` apunta a la URL pública del trabajo: `/extract/job/{id}` o una URL absoluta con esa ruta.

## Complemento de transcripción

Para trabajos de extracción de audio y video, incluye `media.transcript` en la misma solicitud `/extract` cuando quieras recibir la transcripción junto con los demás archivos extraídos.

```json
{
  "extraction": {
    "selectedCapabilities": ["video.audio", "video.metadata", "media.transcript"],
    "capabilityOptions": {
      "media.transcript": {
        "transcription.mode": "fast"
      }
    }
  }
}
```

Es un solo trabajo, un solo cobro y un solo ZIP. El complemento de transcripción usa el precio configurado para la capacidad `media.transcript` y no requiere una solicitud `/transcribe` separada.

Cuando la transcripción termina correctamente, el complemento incluye automáticamente el paquete completo: `transcript.txt`, `transcript.pdf`, `transcript.docx`, `transcript.md`, `transcript.epub`, `transcript.srt` y `transcript.vtt`. El modo Inteligencia de reuniones también incluye `analysis/meeting-analysis.md` y `analysis/meeting-analysis.json`. Los detalles técnicos de procesamiento no se incluyen como archivo descargable `metadata/transcription.json` en trabajos `/extract` con complemento de transcripción.

## Límites de la API pública

- Envía un archivo por solicitud.
- Envía solo los campos de formulario y encabezados documentados para el endpoint público.
