Skip to content
INDXR.AI
All docs

JSON & RAG JSON

INDXR exports two kinds of JSON: standard JSON — the raw segments with a metadata wrapper, free — and RAG JSON — the transcript already cut into short passages (chunks) for RAG (retrieval-augmented generation, where an AI answers using text pulled from your own documents). Each chunk carries a token estimate (roughly how much of a model's input budget its text fills) and a deep link (a YouTube URL that jumps straight to that moment), ready to embed in a vector database — a store that finds passages by meaning rather than exact keywords.

Standard JSON (free)

The raw segments as they are — each with its text, start and duration — inside a metadata wrapper (video id, title, channel, language). Take this when you want to handle the chunking and indexing yourself. It costs nothing and adds no credit charge on top of extraction.

RAG JSON (chunked)

RAG JSON merges the segments into overlapping chunks and adds everything a retrieval pipeline needs. The top-level metadata.chunking_config records the chunk size, the overlap (about 15% of the chunk size), the overlap strategy, and the total chunk count.

Chunk fields

  • chunk_index / chunk_id — position and a stable id (<video_id>_chunk_000)
  • text — the chunk text (including the overlap carried from the previous chunk)
  • start_time / end_time — the chunk's time range in seconds
  • deep_linkhttps://youtu.be/<id>?t=N, jumps to the chunk's start
  • token_count_estimate — words × 1.33
  • metadata — video id, title, channel, language, chunk index, total chunks, time range

Overlap strategy

For AI transcription the overlap snaps to whole sentences (overlap_strategy: sentence_boundary); for auto-captions it snaps to whole segments (segment_boundary). In the example below the sentence "In this video we compare three popular options." ends chunk 0 and opens chunk 1 — that is the overlap.

Chunk size presets

You choose the target chunk length when you export — 30, 60, 90 or 120 seconds. Sixty seconds is the default. Shorter chunks are tighter and better for pulling exact quotes; longer chunks keep more surrounding context per vector. Your preferred size is remembered in Settings.

Scroll the table horizontally →

PresetChunk lengthApprox. tokens
Quote30s~100 tokens
Balanced (default)60s~200 tokens
Precise90s~300 tokens
Context120s~390 tokens

Costs credits

RAG JSON costs 1 credit per 10 minutes of transcript (minimum 1). Standard JSON and the other formats are free. Re-downloading a transcript you already exported to RAG JSON is free.
{
  "metadata": {
    "video_id": "dQw4w9WgXcQ",
    "title": "Vector Databases Explained",
    "duration_seconds": 31,
    "extracted_at": "2026-07-22T15:42:22.508Z",
    "chunking_config": {
      "chunk_size_seconds": 15,
      "overlap_seconds": 2,
      "overlap_strategy": "sentence_boundary",
      "total_chunks": 2
    },
    "channel": "AI Foundations",
    "language": "en",
    "published_at": "2026-06-01",
    "extraction_method": "assemblyai"
  },
  "chunks": [
    {
      "chunk_index": 0,
      "chunk_id": "dQw4w9WgXcQ_chunk_000",
      "text": "Welcome to this short introduction to vector databases. … In this video we compare three popular options.",
      "start_time": 0,
      "end_time": 15.1,
      "deep_link": "https://youtu.be/dQw4w9WgXcQ?t=0",
      "token_count_estimate": 49,
      "metadata": {
        "video_id": "dQw4w9WgXcQ",
        "title": "Vector Databases Explained",
        "channel": "AI Foundations",
        "chunk_index": 0,
        "start_time": 0,
        "end_time": 15.1,
        "language": "en",
        "total_chunks": 2
      }
    },
    {
      "chunk_index": 1,
      "chunk_id": "dQw4w9WgXcQ_chunk_001",
      "text": "In this video we compare three popular options. … By the end you will know which one fits your pipeline.",
      "start_time": 12.1,
      "end_time": 30.7,
      "deep_link": "https://youtu.be/dQw4w9WgXcQ?t=12",
      "token_count_estimate": 59,
      "metadata": { "…": "same shape as chunk 0" }
    }
  ]
}

Sources

  • INDXR (own code)RAG JSON schema, chunking, overlap, deep links, token estimateVerified against packages/shared/src/utils/formatTranscript.ts (buildRagJson, buildRagChunks)
  • INDXR (own code)chunk-size presets (30/60/90/120s, default 60) and token estimatesVerified against apps/app/src/components/library/RagExportView.tsx + dashboard/settings/DeveloperExportsCard.tsx (CHUNK_OPTIONS)
  • LangChain / Pinecone / ChromaDB / Weaviate / Qdrantthe vector databases the chunk shape targets