{
  "slug": "srt-shift",
  "name": "gizza-ai/srt-shift",
  "version": "0.1.0",
  "title": "SRT Subtitle Shifter — Resync .srt Timings — gizza.ai",
  "description": "Shift SRT subtitle timestamps forward or backward to resync subtitles that run early or late — seconds or milliseconds. Free, private, runs in your browser.",
  "tags": [
    "srt",
    "subtitle",
    "subtitle sync",
    "srt shift",
    "resync subtitles",
    "subtitle delay",
    "subrip",
    "subtitle timing",
    "subtitle offset"
  ],
  "category": "video",
  "urls": {
    "page": "https://gizza.ai/tools/srt-shift/",
    "markdown": "https://gizza.ai/tools/srt-shift/index.md",
    "descriptor": "https://gizza.ai/tools/srt-shift/tool.json",
    "deep_link_example": "https://gizza.ai/tools/srt-shift/?srt=1%0A00%3A00%3A01%2C000%20--%3E%2000%3A00%3A04%2C000%0AFirst%20line%20of%20dialogue.&offset=2.5&unit=seconds"
  },
  "cli": "gizza tool srt-shift \"1\n00:00:01,000 --> 00:00:04,000\nFirst line of dialogue.\" 'offset=2.5'",
  "tool": {
    "description": "Shift every timestamp in a SubRip (.srt) subtitle file forward or backward by a fixed offset, to re-sync subtitles that run early or late against their video. Pass the full subtitle text as `srt` and the amount as `offset` (positive delays the subtitles, negative advances them). `unit` is 'seconds' (default, fractions allowed e.g. offset=2.5) or 'milliseconds'. Cue numbers and dialogue text are kept verbatim; only the timing lines change. Any timestamp that would go below zero is clamped to 00:00:00,000.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "offset": {
          "description": "How far to shift every timestamp. Positive = later (delay subtitles), negative = earlier (advance them). Interpreted in `unit`.",
          "type": "number"
        },
        "srt": {
          "description": "The SubRip (.srt) subtitle text to retime, including the cue numbers, the 'HH:MM:SS,mmm --> HH:MM:SS,mmm' timing lines, and the dialogue.",
          "type": "string"
        },
        "unit": {
          "default": "seconds",
          "description": "The unit of `offset`: 'seconds' (default, fractions allowed e.g. 2.5) or 'milliseconds'.",
          "enum": [
            "seconds",
            "milliseconds"
          ],
          "type": "string"
        }
      },
      "required": [
        "srt",
        "offset"
      ],
      "type": "object"
    }
  }
}