Use this extractor for .webm files. It can extract audio, metadata, artwork, subtitles, frames, transcript into a ZIP result.
Try Extract from WEBM in the browser ->
Extract.FAST uses this same API -- what you see in the browser is what you get in code.
Quick reference
| Field | Value |
|---|
| Source file type | .webm |
| Source group | Video |
| Submit endpoint | POST https://api.tools.fast/extract |
| Estimate endpoint | POST https://api.tools.fast/extract/estimate/webm |
| 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.
{
"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
curl -sS -X POST "https://api.tools.fast/extract/estimate/webm" \
-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"
}
}
}
}
}'
curl -sS -X POST "https://api.tools.fast/extract" \
-H "X-Fast-Api-Key: $API_KEY" \
-F "[email protected]" \
-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
GET /options/webm
GET /extractors/webm