Video File Summarizer API
Whisper + AI summary of an uploaded file — transcript included; 1 credit/min + 1.
POST request to /v1/video/summarize that responds with clean JSON and costs 1 credit/min +1. Upload via multipart form (see the cURL sample). Start with 100 free credits — no credit card.What is the Video File Summarizer API?
POST multipart form field `file` (use curl -F file=@path — not a query string). Whisper-transcribes the upload, then GPT-4o-mini returns summary, keyPoints, topics, and sentiment in the same JSON as the full transcript (transcript, transcriptSegments, wordCount, language, durationSeconds / duration, creditsCharged). Summary length scales with the audio — short clips may be one paragraph with fewer bullets; longer recordings aim for 2–3 paragraphs and 4–8 key points. Same Whisper controls (language, translate, timestampGranularity) and 200MB / 60 min limits as File Transcript. Empty/no-speech → HTTP 422. Billing: ceil(durationSeconds/60) + 1.
What you get
- AI summary + keyPoints + topics + sentiment (GPT-4o-mini)
- Full Whisper transcript + timed segments in the same response
- language, durationSeconds, and creditsCharged for bill verification
- POST multipart file upload — same Whisper controls as File Transcript
Try it
Fill in the parameters below and copy a ready-to-run request, or open the live Playground to run it against your account (no API key paste).
Parameters
curl -X POST "https://api.captapi.com/v1/video/summarize" \
-H "Authorization: Bearer capt_live_..." \
-F "file=@video.mp4"
# or: -H "x-api-key: capt_live_..."Edit the parameters and the code updates instantly. Switch languages and hit copy.
Example response
{
"success": true,
"data": {
"filename": "sample.mp4",
"summary": "This walkthrough shows how teams extract structured data from social video at scale without standing up scrapers or OAuth apps. It covers a single API key across platforms, shared caching, and why clean JSON beats brittle HTML parses.\n\nThe speaker contrasts fresh fetches with cache hits: the same profile call can drop from multi-second billed work to a sub-second free response. They also stress verifying per-minute Whisper billing via durationSeconds and creditsCharged in the response.\n\nClosing takeaways focus on bringing your own media files for transcript-plus-summary in one POST, and using request logs to prove cache savings.",
"keyPoints": [
"One Captapi key works across supported platforms — no per-network OAuth.",
"Pass cache=true for a free 24h shared cache hit on social endpoints.",
"Whisper file endpoints bill per minute; read durationSeconds and creditsCharged.",
"Summarize returns the full transcript alongside summary/keyPoints/topics.",
"Short clips yield shorter summaries; longer audio aims for 2–3 paragraphs and 4–8 bullets.",
"Account request history exposes cacheHit and responseTimeMs side by side.",
"Use multipart POST (-F file=@path) — never put the file in the query string.",
"Empty/no-speech audio returns HTTP 422 on summarize (cannot summarize silence)."
],
"topics": [
"APIs",
"data extraction",
"automation",
"billing",
"caching"
],
"sentiment": "positive",
"transcript": "Hey everyone, welcome back to the channel. Today we are breaking down structured data APIs for social video. First, one API key across platforms beats stitching OAuth apps together. Second, the shared cache turns expensive profile lookups into free sub-second hits. Third, when you upload a file for Whisper, always check durationSeconds against creditsCharged. Finally, summarize gives you the AI digest plus the full transcript in the same JSON payload.",
"transcriptSegments": [
{
"text": "Hey everyone, welcome back to the channel. Today we are breaking down structured data APIs for social video.",
"start": 0,
"duration": 8.2,
"end": 8.2,
"timestamp": "00:00"
},
{
"text": "First, one API key across platforms beats stitching OAuth apps together.",
"start": 8.2,
"duration": 5.1,
"end": 13.3,
"timestamp": "00:08"
},
{
"text": "Second, the shared cache turns expensive profile lookups into free sub-second hits.",
"start": 13.3,
"duration": 5.4,
"end": 18.7,
"timestamp": "00:13"
},
{
"text": "Third, when you upload a file for Whisper, always check durationSeconds against creditsCharged.",
"start": 18.7,
"duration": 6,
"end": 24.7,
"timestamp": "00:18"
},
{
"text": "Finally, summarize gives you the AI digest plus the full transcript in the same JSON payload.",
"start": 24.7,
"duration": 5.5,
"end": 30.2,
"timestamp": "00:24"
}
],
"wordCount": 70,
"segments": 5,
"language": "english",
"durationSeconds": 30.2,
"duration": 30.2,
"creditsCharged": 2,
"noSpeech": false
}
}Billing metadata is returned in response headers: X-Captapi-Credits (credits charged), X-Captapi-Cache (hit or miss), and X-Captapi-Source. Failed requests (4xx/5xx) are never charged. See the full list of error codes in the error reference.
Response structure
A successful call returns success, cached, creditsUsed, and a data object with the following fields:
Top-level fields
filenameFilename. Example: "sample.mp4".summaryAI executive summary (GPT-4o-mini). Length scales with the transcript — short clips may be one paragraph; longer audio aims for 2–3.keyPointsBullet takeaways (typically 4–8 on longer audio; fewer on short clips).topicsDetected topics and themes.sentimentOverall tone (positive, neutral, negative).transcriptFull Whisper transcript of the upload — always present on success (not summary-only).wordCountTotal number of words in the transcript (file-upload endpoints).segmentsTimed caption/ASR: array of {text,startMs,endMs}. File-upload video-transcript: segment count. Sponsor endpoints: sponsor segment list.languageDetected (or hinted) speech language from Whisper.durationSecondsAudio duration in seconds from Whisper — basis for the per-minute part of billing.durationAlias of durationSeconds (same number) for bill verification.creditsChargedCredits billed: ceil(durationSeconds/60) + 1 for the summary.noSpeechShould be false on success — empty speech returns HTTP 422 instead.
Transcript segments
Each item in transcriptSegments contains:
textText content.startStart time in seconds.durationAlias of durationSeconds (same number) for bill verification.endEnd time in seconds.timestampHuman-readable timestamp (MM:SS format).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| file | file | Yes | Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes. |
| language | string | No | ISO-639-1 Whisper language hint, e.g. "en" or "tr". Omit to auto-detect. |
| translate | boolean | No | When true, translate speech to English before summarizing. Default false. |
| timestampGranularity | string | No | segment (default) or word. |
Authentication: send your key as Authorization: Bearer capt_live_.... A typical call costs 1 credit/min +1. Upload with multipart form field file (see cURL).
How it works
- 1. Sign up — get 100 free credits, no card required.
- 2. Create a key from your dashboard.
- 3. Send one request to
/v1/video/summarizeand parse the JSON response.
Use cases
Meeting digests
Upload a recording and get summary + keyPoints plus the full transcript in one call.
Bill verification
creditsCharged = ceil(durationSeconds/60) + 1 — both fields are in the response.
Bring-your-own media
Summarize podcasts or offline files without a social URL.
Frequently asked questions
What does the Video File Summarizer API do?+
The Video File Summarizer API lets you generate an AI summary with key points and topics from a public Utilities uploaded video or audio file using one POST request to /v1/video/summarize. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the Video File Summarizer API cost?+
Billing is 1 credit per minute of audio (rounded up) plus 1 credit for the AI summary. The response includes durationSeconds and creditsCharged so you can verify the line item. No-speech uploads return HTTP 422 and are not charged for the summary step.
Do I need a Utilities API key or OAuth?+
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.
Which AI model powers the summaries?+
Summaries are generated with GPT-4o-mini for a strong balance of quality, speed, and cost, built on top of the transcript.
Is the Video File Summarizer API suitable for production use?+
Yes. It is a stable REST endpoint with predictable JSON. Upload via multipart form field file (POST) — see the cURL sample. Use durationSeconds / creditsCharged to verify per-minute billing.
More Utilities APIs
Ready to use the Video File Summarizer API?
Sign up, grab your key, and make your first call in 60 seconds.