Extract endpoint
POST /extract submits one public extraction job. It accepts multipart form data with one file and an optional JSON options field.
Requires X-Fast-Api-Key from an account with Pro access. Free-tier and other non-Pro API keys return 403 api_key.pro_required before job creation.
Request
POST /extract
Content-Type: multipart/form-data
X-Fast-Api-Key: YOUR_API_KEYcurl https://api.tools.fast/extract \
-H "X-Fast-Api-Key: $API_KEY" \
-F "[email protected]" \
-F 'options={
"extraction": {
"selectedCapabilities": [
"powerpoint.images",
"powerpoint.text",
"powerpoint.markdown"
],
"includeManifest": true
}
}'Form fields
| Field | Required | Notes |
|---|---|---|
file | Yes | Exactly one source file. |
options | No | JSON option payload. Defaults are format-specific. |
Response
{
"id": "0190f2d5b8d87c8bbf647a38f954cb81",
"status": "Queued",
"fileName": "slides",
"format": "pptx",
"queue": {
"pool": "DocumentPool",
"position": 1
}
}The Location header points to the public job URL: /extract/job/{id} or an absolute URL with that path.
Transcript add-on
For audio and video extraction jobs, include media.transcript in the same /extract request when you want transcript output bundled with other extracted artifacts.
{
"extraction": {
"selectedCapabilities": ["video.audio", "video.metadata", "media.transcript"],
"capabilityOptions": {
"media.transcript": {
"transcription.mode": "fast"
}
}
}
}This is one job, one debit, and one ZIP. The transcript add-on is priced from the configured media.transcript capability policy and does not require a separate /transcribe request.
When transcription succeeds, the add-on automatically includes the full transcript bundle: transcript.txt, transcript.pdf, transcript.docx, transcript.md, transcript.epub, transcript.srt, and transcript.vtt. Meeting intelligence mode also includes analysis/meeting-analysis.md and analysis/meeting-analysis.json. Operator metadata such as provider, model, duration, and segment counts is retained on the server job record and is not included as a downloadable metadata/transcription.json file for /extract add-on jobs.
Public API boundaries
- Submit one file per request.
- Send only the documented form fields and headers for the public endpoint.
Try Extract.FAST in the browser ->
Extract.FAST uses this same API -- what you see in the browser is what you get in code.