# Video/Audio to Subtitle File Generator (SRT/VTT via Whisper v3)

> Video/Audio to Subtitle File Generator (SRT/VTT via Whisper v3) is a paid API for AI agents from x402-deployer.x402-deployer.workers.dev, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-15).

Transcribes a video or audio URL using Whisper v3 and returns a downloadable SRT or VTT subtitle file.

## Facts

- Endpoint: POST https://x402-deployer.x402-deployer.workers.dev/video-to-subtitles
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-deployer-x402-deployer-workers-dev-cec1dca8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_oV0jT_fl_IRJP2VT_P2Zg

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 x402-deployer-x402-deployer-workers-dev-cec1dca8 -d '<json body>'
```

Example prompt: Generate SRT subtitles for this video: https://example.com/my-lecture.mp4 — use Whisper to transcribe it and give me a proper subtitle file I can load into a video editor.

## When to prefer this

Choose this endpoint when you need a standalone subtitle file (SRT or VTT) from any publicly accessible video or audio URL, especially when accessibility, captioning, or downstream subtitle editing is the goal — rather than a full prose summary or raw transcript.

## Known failure modes

- Invalid or inaccessible URL — returns error if the media URL is unreachable or returns non-audio/video content
- Unsupported media format — may fail for rare or DRM-protected formats
- Timeout for very long media files — large files may exceed processing limits
- Unspecified format defaults — if SRT vs VTT not specified, result format may be unpredictable
- Payment failure — x402 payment of $0.08 USDC must succeed before processing begins

## How this service works

Generate subtitles from video / video subtitle generator / auto-subtitle / closed captions / video captions / SRT generator / VTT generator / video CC / accessibility captions. Whisper v3 powered. Word-wrapped, ready for VLC / Premiere / FFmpeg. Auto-detect language + translate-to-English.

## Output

Returns an SRT or VTT subtitle file with timestamped caption segments derived from the audio track of the provided video or audio URL, suitable for use in video players or editors.

## Example request

```json
{
 "input": {
  "body": {
   "task": "transcribe",
   "format": "vtt",
   "language": "en",
   "media_url": "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3",
   "max_chars_per_line": 50
  },
  "type": "http",
  "method": "POST",
  "bodyType": "json"
 }
}
```

## 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": {
     "required": [
      "media_url"
     ],
     "properties": {
      "task": {
       "enum": [
        "transcribe",
        "translate"
       ],
       "type": "string",
       "description": "'transcribe' (default) keeps original language, or 'translate' to English."
      },
      "format": {
       "enum": [
        "srt",
        "vtt"
       ],
       "type": "string",
       "description": "Subtitle format: 'srt' (default) or 'vtt'."
      },
      "language": {
       "type": "string",
       "description": "Source language hint (ISO code). Optional; auto-detected if omitted."
      },
      "media_url": {
       "type": "string",
       "description": "URL of the video or audio file to generate subtitles from. Max 60 minutes."
      },
      "max_chars_per_line": {
       "type": "number",
       "description": "Max characters per subtitle line, 16-120. Default 42."
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "format": {
       "type": "string"
      },
      "subtitles": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-deployer-x402-deployer-workers-dev-cec1dca8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-deployer.x402-deployer.workers.dev](https://www.zero.xyz/host/x402-deployer.x402-deployer.workers.dev/llms.txt)
