BulkTranscripts logo BulkTranscripts

Workflow · Developers

Playlist → RAG corpus

Video knowledge bases fail because nobody re-watches videos. Chunked transcripts with timestamps make a playlist searchable — and citable back to the exact moment.

Runs on the MCP server (one sign-in, 30 free credits) or the REST API · repeat reads from your library are free.

How it works

  1. List the playlist once and store the video metadata.
  2. Fetch each transcript with segments included — every segment has text, start, and duration.
  3. Chunk on segment boundaries (≈30–60s windows work well) and keep video_id + start as metadata.
  4. Embed the chunks; answers can now cite video + timestamp, linkable as watch?v=ID&t=START.

Segments are your chunker

The transcript endpoint returns per-line segments with start times — natural semantic boundaries that beat fixed-size character windows for spoken content. Keeping video_id and start beside each chunk means every retrieval result becomes a clickable citation into the video.

Or script it against the REST API:

# list the playlist (1 credit)
curl "https://bulktranscripts.co/api/v1/playlist/videos?playlist=PLAYLIST_ID" | jq -r '.videos[].id' \
| while read id; do
    # full transcript with timestamped segments (1 credit first time)
    curl "https://bulktranscripts.co/api/v1/transcript?video=$id" > "corpus/$id.json"
  done

Agent prompt — paste into Claude, ChatGPT, or any assistant connected to the BulkTranscripts MCP server:

Fetch every transcript in this playlist with timestamps: [PLAYLIST URL]
Chunk each one into ~45-second windows on segment boundaries and output
JSONL: {text, video_id, video_title, start_seconds, url_with_timestamp}.

What you’ll need

An MCP-capable assistant (Claude, ChatGPT, Cursor) connected to https://bulktranscripts.co/mcp — one sign-in includes 30 free credits — or a license key for the REST API. Transcripts already in your library are re-read free, so iterating on the same videos costs nothing after the first pass.

Common questions

Is re-running the ingestion expensive?

No — transcripts already in your library are free on repeat reads, so re-chunking with different window sizes costs nothing after the first pass.

What formats can I export for offline processing?

JSON with segments from the API, or SRT/VTT/CSV exports from the web app if you prefer file-based pipelines.

More workflows

Updated