Video File Summarizer API
AI transcription + 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). Transcribes the upload with AI speech-to-text, then an AI model returns summary, keyPoints, topics, and sentiment in the same JSON as the full transcript (transcript, transcriptSegments, wordCount, language, durationSeconds). 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 transcription controls (language, translate, timestampGranularity) and 200MB / 60 min limits as File Transcript. Empty/no-speech → HTTP 422 at 0 credits. Billing: ceil(durationSeconds/60) + 1 — verify with durationSeconds.
What you get
- AI summary + keyPoints + topics + sentiment
- Full transcript + timed segments in the same response
- language and durationSeconds; bill verification via durationSeconds
- POST multipart file upload — same transcription 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.mp3",
"summary": "In this video, the speaker provides practical strategies for small marketing teams to effectively track short form video performance without getting bogged down in spreadsheets. The approach emphasizes consistency and simplicity, encouraging teams to focus on a few key metrics and insights. By analyzing competitor accounts, engagement rates, and successful video transcripts, teams can identify effective strategies and implement them in their own content creation efforts.\n\nThe speaker suggests starting by selecting five competitor accounts and reviewing their latest posts weekly to maintain a consistent comparison. Instead of focusing solely on raw likes, teams should prioritize engagement per view to gain a clearer picture of a post's effectiveness. Additionally, saving transcripts of high-performing videos can help identify successful hooks, while sharing a concise summary of findings with the team each week fosters collaboration and continuous improvement.",
"keyPoints": [
"Select five competitor accounts for weekly analysis.",
"Focus on engagement per view rather than raw likes.",
"Save transcripts of high-performing videos to identify effective hooks.",
"Share a weekly summary with the team that includes actionable insights."
],
"topics": [
"video marketing",
"short form video",
"competitor analysis",
"engagement metrics",
"team collaboration"
],
"sentiment": "positive",
"transcript": "Hi everyone, and welcome back. Today we're looking at how small marketing teams track short form video without spending their whole week in spreadsheets. First, pick five competitor accounts and pull their latest posts every Monday, so you compare the same window each time. Second, watch engagement per view, not raw likes, because a big account can hide a weak post. Third, save the transcript of every video that outperforms and look for the hooks that repeat in the first three seconds. Finally, share one short summary with the team each week, with three things to try next. Keep it simple and stay consistent.",
"transcriptSegments": [
{
"text": "Hi everyone, and welcome back.",
"start": 0,
"duration": 2.24,
"end": 2.24,
"timestamp": "00:00"
},
{
"text": "Today we're looking at how small marketing teams",
"start": 2.24,
"duration": 2.24,
"end": 4.48,
"timestamp": "00:02"
},
{
"text": "track short form video without spending",
"start": 4.48,
"duration": 1.96,
"end": 6.44,
"timestamp": "00:04"
},
{
"text": "their whole week in spreadsheets.",
"start": 6.44,
"duration": 1.94,
"end": 8.38,
"timestamp": "00:06"
},
{
"text": "First, pick five competitor accounts",
"start": 8.38,
"duration": 1.94,
"end": 10.32,
"timestamp": "00:08"
},
{
"text": "and pull their latest posts every Monday,",
"start": 10.32,
"duration": 2.12,
"end": 12.44,
"timestamp": "00:10"
},
{
"text": "so you compare the same window each time.",
"start": 12.44,
"duration": 2.8,
"end": 15.24,
"timestamp": "00:12"
},
{
"text": "Second, watch engagement per view, not raw likes,",
"start": 15.24,
"duration": 3.78,
"end": 19.02,
"timestamp": "00:15"
},
{
"text": "because a big account can hide a weak post.",
"start": 19.02,
"duration": 2.86,
"end": 21.88,
"timestamp": "00:19"
},
{
"text": "Third, save the transcript of every video that outperforms",
"start": 21.88,
"duration": 4,
"end": 25.88,
"timestamp": "00:21"
},
{
"text": "and look for the hooks that repeat",
"start": 25.88,
"duration": 1.4,
"end": 27.28,
"timestamp": "00:25"
},
{
"text": "in the first three seconds.",
"start": 27.28,
"duration": 2.04,
"end": 29.32,
"timestamp": "00:27"
},
{
"text": "Finally, share one short summary with the team each week,",
"start": 29.32,
"duration": 3.16,
"end": 32.48,
"timestamp": "00:29"
},
{
"text": "with three things to try next.",
"start": 32.48,
"duration": 2.24,
"end": 34.72,
"timestamp": "00:32"
},
{
"text": "Keep it simple and stay consistent.",
"start": 34.72,
"duration": 2.28,
"end": 37,
"timestamp": "00:34"
}
],
"wordCount": 104,
"segments": 15,
"language": "english",
"durationSeconds": 37.150001525878906,
"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 and a data object with the following fields:
Top-level fields
filenameFilename. Example: "sample.mp3".summaryAI executive summary. 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 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 transcription.durationSecondsAudio duration in seconds from transcription — basis for the per-minute part of billing. The only duration key on this payload.noSpeechShould be false on success — empty speech returns HTTP 422 at 0 credits instead.
Transcript segments
Each item in transcriptSegments contains:
textText content.startStart time in seconds.durationDuration when present — prefer durationSeconds (number) and durationText on endpoints that expose both.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 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
creditsUsed = ceil(durationSeconds/60) + 1 — durationSeconds in data, creditsUsed on the envelope.
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. Verify the line item with durationSeconds. No-speech uploads return HTTP 422 and are not charged.
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 access, rate limits, retries, and authentication for you.
Which AI model powers the summaries?+
Summaries are generated by an AI model from 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 and durationSeconds to verify per-minute billing. No-speech uploads on File Transcript return noSpeech=true at 0 credits.
More Utilities APIs
Ready to use the Video File Summarizer API?
Sign up, grab your key, and make your first call in 60 seconds.