# HALOWERK Audio Redact

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

Transcribes an audio or video file and redacts sensitive spoken content (emails, phone numbers, IBANs, card numbers, custom terms) by replacing it with a beep tone or silence

## Facts

- Endpoint: POST https://medien.halowerk.com/v1/audio-redact?utm_source=zero.xyz
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-audio-redact-351f1d5b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_PXfRZO8eFD8rhf3brVt1A

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-audio-redact-351f1d5b -d '<json body>'
```

Example prompt: I have a 12-minute customer service call recording at https://storage.example.com/call.mp3 — can you redact all phone numbers, email addresses, and credit card numbers from it, replacing them with a beep, and give me the result as an MP3?

## When to prefer this

Use this endpoint when you need to automatically scrub PII or sensitive spoken content from audio or video recordings — especially phone numbers, emails, IBANs, and credit card numbers — with configurable custom terms and output format. Prefer it over manual editing when handling call center recordings, interview archives, or compliance workflows at scale. It is particularly suited for GDPR/compliance use cases where auditable, pattern-based redaction is required rather than full transcript deletion.

## Known failure modes

- File too long (max 30 billed minutes) — returns an error indicating duration limit exceeded
- base64 content exceeds 12 MB limit — request rejected
- Invalid BCP-47 language code — transcription may fail or fall back to auto-detection
- No sensitive content detected — audio returned unchanged
- Unsupported audio/video format — transcription or redaction fails
- Network timeout fetching URL-based source — returns fetch error
- Payment not completed via x402 — request blocked with 402 response
- terms list exceeds 200 entries — request rejected

## How this service works

Takes an audio or video file and returns a new audio file in which sensitive spoken content is covered by a 1 kHz tone or by silence. The recording is transcribed with word timestamps; then fixed, checkable patterns are searched in the words — e-mail addresses, also in spoken form, phone numbers of 7 to 15 digits, IBANs, card numbers that pass the Luhn check, and optionally any number of four or more digits — together with the names and terms you pass in terms, matched word by word regardless…

## Output

A redacted audio file (in the requested format: opus, mp3, wav, or flac) returned as base64-encoded content, with all detected sensitive segments — matching the selected pattern categories and any custom terms — replaced by a 1 kHz beep tone or silence, with configurable padding around each redacted segment.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "mode": {
   "enum": [
    "beep",
    "silence"
   ],
   "type": "string",
   "default": "beep"
  },
  "terms": {
   "type": "array",
   "items": {
    "type": "string",
    "maxLength": 80,
    "minLength": 1
   },
   "maxItems": 200,
   "description": "Names and terms to redact, matched word by word, case-insensitive. Multi-word terms are allowed."
  },
  "source": {
   "type": "object",
   "properties": {
    "url": {
     "type": "string",
     "maxLength": 2048
    },
    "filename": {
     "type": "string",
     "maxLength": 260
    },
    "content_base64": {
     "type": "string",
     "maxLength": 12000000
    }
   },
   "description": "The recording. Either url or content_base64.",
   "additionalProperties": false
  },
  "language": {
   "type": "string",
   "maxLength": 12,
   "description": "BCP-47 code of the spoken language. Omit to detect it."
  },
  "categories": {
   "type": "array",
   "items": {
    "enum": [
     "email",
     "phone",
     "iban",
     "card",
     "long_number"
    ],
    "type": "string"
   },
   "default": [
    "email",
    "phone",
    "iban",
    "card"
   ],
   "description": "Pattern categories to redact. long_number covers every number of four or more digits and is off by default.",
   "uniqueItems": true
  },
  "padding_ms": {
   "type": "integer",
   "default": 120,
   "maximum": 1000,
   "minimum": 0,
   "description": "Margin added before and after each hit."
  },
  "output_format": {
   "enum": [
    "opus",
    "mp3",
    "wav",
    "flac"
   ],
   "type": "string",
   "default": "opus"
  },
  "duration_minutes": {
   "type": "integer",
   "maximum": 30,
   "minimum": 1,
   "description": "Length in started minutes — this is what you are billed for."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-audio-redact-351f1d5b/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)
