# HALOWERK Transcript Merge

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

Merges up to 20 transcript parts (with per-speaker segments and time offsets) into a unified, time-sorted transcript in multiple formats: segment list, plain text, SRT, and WebVTT.

## Facts

- Endpoint: POST https://medien.halowerk.com/v1/transcript-merge?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-transcript-merge-8c223294
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_JeTUkMYCFVL-6_1mBoE_k

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-transcript-merge-8c223294 -d '<json body>'
```

Example prompt: I have three separate transcript tracks — one for each speaker — each as a list of start/end/text segments. Speaker 1 starts at offset 0, Speaker 2 at offset 120 seconds, Speaker 3 at offset 0. Merge them all into one sorted transcript and give me both an SRT file and plain text with speaker labels.

## When to prefer this

Choose this endpoint when you have transcripts from multiple speakers or recording segments that need to be merged into a single coherent, time-sorted output and you need subtitle-ready formats (SRT/WebVTT) as well as plain text — all in one stateless, pure data-processing call. It handles overlapping speaker segments gracefully, unlike simple concatenation tools. Prefer it over manual merging scripts when you need multiple output formats simultaneously.

## Known failure modes

- More than 20 parts submitted — rejected with validation error
- A segment has a start time greater than its end time — may produce malformed output
- offset_seconds exceeds 86400 (24 hours) — rejected by schema validation
- Empty segments array in a part — rejected (minItems: 1)
- Extremely large inputs near the 5000 segment per part limit may result in timeout or slow response

## How this service works

Takes up to 20 transcript parts, each a list of segments with start, end and text, plus an optional speaker label and a time offset in seconds (where the part starts in the full recording). Offsets are applied, all segments are sorted by time, and the merged transcript is returned as a segment list, plain text with speaker labels, SRT and WebVTT. Overlapping segments from different speakers are kept and counted, which is normal for per-speaker tracks. Pure data processing; nothing is stored.

## Output

Returns a merged, time-sorted transcript in four formats: (1) a segment list with start, end, text, and speaker; (2) plain text with speaker labels; (3) SRT subtitle file; (4) WebVTT caption file. Overlapping segments from different speakers are preserved and counted rather than dropped.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "parts": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "segments"
    ],
    "properties": {
     "speaker": {
      "type": "string",
      "maxLength": 60
     },
     "segments": {
      "type": "array",
      "items": {
       "type": "object",
       "required": [
        "start",
        "end",
        "text"
       ],
       "properties": {
        "end": {
         "type": "number",
         "minimum": 0
        },
        "text": {
         "type": "string",
         "maxLength": 2000
        },
        "start": {
         "type": "number",
         "minimum": 0
        }
       },
       "additionalProperties": true
      },
      "maxItems": 5000,
      "minItems": 1
     },
     "offset_seconds": {
      "type": "number",
      "default": 0,
      "maximum": 86400,
      "minimum": 0
     }
    },
    "additionalProperties": false
   },
   "maxItems": 20,
   "minItems": 1
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-transcript-merge-8c223294/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)
