Skip to content
Novus Examples
json876 B

JSON — Caption Cue List

The same five cues as a plain JSON array with float second timings — the shape most caption pipelines use internally between parsing one format and writing another. Handy as the expected intermediate when testing a converter, since it removes timestamp-formatting differences from the comparison.

Preview — first 50 linesjson
{
  "format": "novus-cue-list",
  "version": 1,
  "language": "en",
  "duration": 15.0,
  "cues": [
    {
      "index": 1,
      "start": 1.0,
      "end": 3.0,
      "lines": [
        "Novus Examples — timed-text fixture"
      ]
    },
    {
      "index": 2,
      "start": 3.5,
      "end": 6.0,
      "lines": [
        "Second cue, two lines:",
        "this is the second line"
      ]
    },
    {
      "index": 3,
      "start": 6.5,
      "end": 9.0,
      "lines": [
        "Third cue with <i>italic</i> markup"
      ]
    },
    {
      "index": 4,
      "start": 9.5,
      "end": 12.0,
      "lines": [
        "Fourth cue — em dash, curly “quotes”, ellipsis…"
      ]
    },
    {
      "index": 5,
      "start": 12.5,
      "end": 15.0,
      "lines": [
        "Final cue."
      ]
    }
  ]
}

Specifications

Schema
novus-cue-list v1
Cues
5
Time Unit
seconds (float)
Language
en
Duration
15s

What is a .json file?

JSON (JavaScript Object Notation) is a lightweight, text-based data-interchange format representing objects, arrays, strings, numbers, booleans, and null. It is language-independent, human-readable, and the dominant format for web APIs and configuration. It requires a single well-formed root value.

How to use this file

Use an example JSON file to test parsers and serializers, schema validation, Unicode and number-precision handling, and API request or response processing.

How to use this file for testing

“JSON — Caption Cue List” is a deterministic Novus Examples fixture for Subtitle parsing, Conversion testing, Video QA. The same captions across SubRip, WebVTT, ASS/SSA, SBV, and TTML, plus a synced LRC lyric file — for testing subtitle parsers, players, burn-in tools, and format converters against known timings.

Documented properties for this file: 5 cues · 15s · en · schema: novus-cue-list v1. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Media fixtures are short and synthetic by design. Prefer waveform or transcript ground truth in the same group when measuring ASR, trim, upscale, or sync tools; do not assume broadcast-quality masters.

Parse the cues and check timings against the documented count; the same captions ship across subtitle formats so you can diff a converter against a known target.

Code examples

import json

with open("cues.json") as f:
    data = json.load(f)
print(type(data), len(data))

Generated by generation/video_timedtext.py. Free for any use, no attribution required — license.