# WebVTT to SubRip (VTT to SRT) Converter

> WebVTT to SubRip (VTT to SRT) Converter is a paid API for AI agents from toolshed.lemon-agent.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-13).

Converts a WebVTT (.vtt) subtitle file to SubRip (.srt) format, renumbering cues from 1 and expanding timestamps to hh:mm:ss,mmm while stripping unsupported blocks.

## Facts

- Endpoint: POST https://toolshed.lemon-agent.dev/convert/vtt-srt
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/webvtt-to-subrip-vtt-to-srt-converter-a765d545
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_oVzpEN6AWoFViKNGL3yX5

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability webvtt-to-subrip-vtt-to-srt-converter-a765d545 -d '<json body>'
```

Example prompt: Convert this WebVTT subtitle file to SRT format for me — here's the raw .vtt content, and I need it back as a properly numbered .srt file with full hh:mm:ss,mmm timestamps.

## When to prefer this

Use this endpoint when you need a straightforward, standards-compliant VTT-to-SRT conversion without any manual parsing. It handles timestamp expansion, cue renumbering, and stripping of VTT-only metadata automatically. Ideal for pipelines where downstream tools (video editors, media players, distribution platforms) require SubRip format. Prefer this over manual regex-based conversion or general-purpose text processors since it correctly handles edge cases like hour-less timestamps and multi-line cues.

## Known failure modes

- Input does not begin with 'WEBVTT' — request is refused with an error
- Input exceeds 256 KB — rejected due to size limit
- Malformed VTT cue timestamps — may produce garbled or missing cues in output
- Empty VTT file with no cues — returns empty or minimal SRT
- Non-text body submitted — rejected as invalid input type

## How this service works

WebVTT to SubRip. POST a .vtt file; the response is an .srt file. Cues are renumbered from 1 and hour-less timestamps are expanded to hh:mm:ss,mmm. The WEBVTT header, NOTE/STYLE/REGION blocks and per-cue settings are dropped, because SubRip cannot express them. Input that does not begin with WEBVTT is refused.

## Output

A plain-text SubRip (.srt) file where cues are sequentially renumbered starting from 1, timestamps are fully expanded to hh:mm:ss,mmm format, and all VTT-specific constructs (WEBVTT header, NOTE/STYLE/REGION blocks, per-cue settings) are removed. Returned as application/x-subrip content.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "string",
     "maxLength": 262144,
     "description": "the raw WebVTT file as the request body, up to 256 KB"
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "type": "string",
     "const": "POST"
    },
    "bodyType": {
     "type": "string",
     "const": "text"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type",
    "format"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "text"
    },
    "format": {
     "type": "string",
     "const": "application/x-subrip",
     "description": "the converted SubRip file as the response body (application/x-subrip)"
    },
    "example": {
     "type": "string",
     "description": "the sample request body above, converted — what a the converted SubRip file as the response body (application/x-subrip) looks like"
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/webvtt-to-subrip-vtt-to-srt-converter-a765d545/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from toolshed.lemon-agent.dev](https://www.zero.xyz/host/toolshed.lemon-agent.dev/llms.txt)
