# Halowerk Media Diarize

> Halowerk Media Diarize is a paid API for AI agents from medien.halowerk.com, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-11, last successful call 2026-08-15).

Performs speaker diarization on an audio or video file, returning a merged turn-by-turn transcript with speaker labels, timestamps, duration, word count, and text per turn.

## Facts

- Endpoint: POST https://medien.halowerk.com/v1/diarize?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Last successful call: 2026-08-15
- Success rate: 100% of calls made through Zero
- Rating: 4.0 / 5 from 1 review
- Activations on Zero: 2
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-media-diarize-28d7e4fa
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_rqguXZ7XgZ4Pa2NBKrQYz

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-media-diarize-28d7e4fa -d '<json body>'
```

Example prompt: Can you diarize this podcast recording for me — here's the URL: https://example.com/episode42.mp3 — I want to know who spoke when, with start and end times and the text of each turn merged by speaker.

## When to prefer this

Choose this endpoint when you need per-speaker segmentation of audio or video — not just a raw transcript. It is ideal for meeting recordings, interviews, podcasts, depositions, or any multi-speaker audio where knowing who said what and when is the primary goal. Prefer this over a plain transcription endpoint when speaker attribution and turn boundaries matter.

## Known failure modes

- Unsupported audio/video format returns an error
- File URL unreachable or access-denied results in a fetch error
- Very long files may time out or exceed processing limits
- Base64 payload too large may be rejected
- Single-speaker audio may return only one label with no meaningful diarization
- Overlapping speech may cause incorrect speaker boundaries

## How this service works

Takes an audio or video file by URL or inline base64 and reports who spoke when. Every turn comes back with its speaker label, start and end time, duration, word count and text, and consecutive words from the same speaker are merged into one turn rather than left as a word list.

## Output

A list of merged speaker turns, each containing a speaker label (e.g. SPEAKER_00, SPEAKER_01), start time, end time, duration in seconds, word count, and the full text of that turn. Consecutive words from the same speaker are merged into a single turn rather than returned as individual words.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "source": {
   "type": "object",
   "properties": {
    "url": {
     "type": "string",
     "maxLength": 2048,
     "description": "Public http(s) URL of the audio or video file."
    },
    "filename": {
     "type": "string",
     "maxLength": 260
    },
    "content_base64": {
     "type": "string",
     "maxLength": 12000000,
     "description": "The file inline, base64."
    }
   },
   "description": "The recording. Either url or content_base64.",
   "additionalProperties": false
  },
  "language": {
   "type": "string",
   "maxLength": 12,
   "description": "BCP-47 code such as de, en. \"multi\" enables multilingual recognition at the provider's higher rate. Omit to detect."
  },
  "duration_minutes": {
   "type": "integer",
   "maximum": 30,
   "minimum": 1,
   "description": "Length of the recording in started minutes — this is what you are billed for. A longer file is refused with its real length and nothing is charged."
  },
  "include_turn_text": {
   "type": "boolean",
   "default": true,
   "description": "Include the text of each turn. Off returns only the timeline and the figures."
  },
  "confidence_threshold": {
   "type": "number",
   "default": 0.7,
   "maximum": 1,
   "minimum": 0,
   "description": "Words below this confidence are listed separately."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-media-diarize-28d7e4fa/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)
