# HALOWERK Burn Subtitles

> HALOWERK Burn Subtitles is a paid API for AI agents from medien.halowerk.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-31).

Burns subtitles (from provided SRT/WebVTT or auto-transcribed audio) permanently into a video file and returns the result as MP4

## Facts

- Endpoint: POST https://medien.halowerk.com/v1/burn-subtitles?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-burn-subtitles-828cf31f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_r5kGCnt0CpZSlniRwkNwG

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 halowerk-burn-subtitles-828cf31f -d '<json body>'
```

Example prompt: Take this video URL https://example.com/talk.mp4 (2 minutes long) and burn in the subtitles from the SRT text I'm providing — place them at the bottom with font size 24, and give me back the MP4 with the captions baked in.

## When to prefer this

Choose this endpoint when you need subtitles permanently embedded ('burned in') to a video so they appear on any player without subtitle support, or when you want to combine auto-transcription and subtitle burning in one step. Prefer over client-side tools when working in automated pipelines, or when the video needs to be shared on platforms that don't support external subtitle tracks. Use the transcribe=true mode to skip preparing an SRT/VTT file manually.

## Known failure modes

- Video exceeds 3-minute limit — request rejected
- duration_minutes not provided or mismatched — billing/validation error
- Neither srt, vtt, nor transcribe=true provided — no subtitle source
- Video URL inaccessible or content_base64 too large — upload failure
- Transcription fails (Deepgram error) — audio too noisy or unsupported language
- Payment insufficient — x402 payment required at 0.01 USDC/min (or 0.03 USDC/min with transcription)
- Both srt and vtt provided — ambiguous subtitle source conflict

## How this service works

Takes a video of up to 3 minutes and returns an MP4 with the subtitles rendered into the picture. Subtitles come either from you as SRT or WebVTT text, or, with transcribe=true, from the soundtrack (Deepgram, training opt-out) at 0.03 instead of 0.01 USDC per minute — the price is fixed before payment.

## Output

An MP4 video file with subtitles permanently rendered (burned) into the picture frame, returned as a downloadable file. Subtitles appear at the specified position (bottom/middle/top) with the configured font size and max width.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "srt": {
   "type": "string",
   "maxLength": 300000,
   "description": "Subtitles as SRT text."
  },
  "vtt": {
   "type": "string",
   "maxLength": 300000,
   "description": "Subtitles as WebVTT text."
  },
  "source": {
   "type": "object",
   "properties": {
    "url": {
     "type": "string",
     "maxLength": 2048,
     "description": "Public http(s) URL of the file."
    },
    "filename": {
     "type": "string",
     "maxLength": 260
    },
    "content_base64": {
     "type": "string",
     "maxLength": 12000000,
     "description": "The file inline, base64. Larger files by url."
    }
   },
   "description": "The recording. Either url or content_base64.",
   "additionalProperties": false
  },
  "language": {
   "type": "string",
   "maxLength": 12,
   "description": "Spoken language for transcribe. Omit to detect."
  },
  "position": {
   "enum": [
    "bottom",
    "middle",
    "top"
   ],
   "type": "string",
   "default": "bottom"
  },
  "font_size": {
   "type": "integer",
   "default": 22,
   "maximum": 60,
   "minimum": 10
  },
  "max_width": {
   "type": "integer",
   "default": 1280,
   "maximum": 1920,
   "minimum": 320
  },
  "transcribe": {
   "type": "boolean",
   "default": false,
   "description": "Create subtitles from the soundtrack instead (0.03 USDC per minute)."
  },
  "duration_minutes": {
   "type": "integer",
   "maximum": 3,
   "minimum": 1,
   "description": "Length of the video in started minutes — this is what you are billed for."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-burn-subtitles-828cf31f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from medien.halowerk.com](https://www.zero.xyz/host/medien.halowerk.com/llms.txt)
