Summaries
A summary is an AI-written breakdown of a transcript: a short overview of the whole video, followed by chapters — each with its own heading, a clickable timestamp that jumps the player to that moment, and worked-out notes of what was said. It turns an hour of talking into something you can skim in a minute, to decide whether a video is worth watching in full or to capture the gist for your notes. You generate it from a transcript you already have.
What a summary costs
A summary costs 1 credit for every 10 minutes of video, rounded up (minimum 1) — so the price scales with how much there is to read. A 30-minute video costs 3 credits, a one-hour talk 6 credits, and a four-hour video 24 credits. If generation fails, the credits are refunded automatically.
Summaries run on Gemini 2.5 Flash via the AssemblyAI EU LLM Gateway — an AI model reached through an EU-based gateway, so the transcript text stays in the EU while it's summarised.
Where it's saved
The summary is saved with its transcript, so it's there whenever you open it in your library. It's read-only — to refresh it after editing the transcript, or to get a different take, you regenerate it rather than editing the text in place.
Regenerating replaces the current summary
You can generate a fresh summary for the same transcript. Regenerating costs the same as the first time — the same length-based amount above — and overwrites the current summary; the previous one is not kept. INDXR asks you to confirm before it does.
Costs credits
Regenerating is a fresh credit charge (the same length-based amount) and replaces what's there. If there's a summary you want to keep, copy it out before regenerating.Sources
- INDXR (own code) — cost of 1 credit per 10 min of video (rounded up, min 1), refund on failureVerified against packages/shared/src/lib/pricing.ts (summaryCreditCost); backend/credit_manager.py (calculate_summary_cost)
- INDXR (own code) — two-step chapters + clickable timestamps, read-onlyVerified against backend/summary_pipeline.py; apps/app/src/components/library/AiSummaryView.tsx; ADR-090
- INDXR (own code) — model + EU gatewayVerified against packages/shared/src/lib/models.ts:41-43 (summaryModelName); backend/main.py:1126-1132
- INDXR (own code) — saved with transcript, regenerate overwritesVerified against backend/summary_pipeline.py (run_summary_reservation_aware); apps/app/src/components/library/SummaryTab.tsx (generate/regenerate + progress)
See also



