# HALOWERK audiowerk Duck (Voice Ducking / Sidechain Compression)

> HALOWERK audiowerk Duck (Voice Ducking / Sidechain Compression) is a paid API for AI agents from audio.halowerk.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-13).

Mixes a voice track over a music bed with automatic ducking — the music volume is pulled down when the voice is detected and restored when it stops.

## Facts

- Endpoint: POST https://audio.halowerk.com/duck?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-audiowerk-duck-voice-ducking-sidechain-compression-42726295
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap__WHxt9Jih34BHL-mYJTrk

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-audiowerk-duck-voice-ducking-sidechain-compression-42726295 -d '<json body>'
```

Example prompt: Mix my voiceover MP3 (https://cdn.example.com/narration.mp3) over this background music file (https://cdn.example.com/music.mp3), ducking the music down by a ratio of 8 when my voice kicks in, with a 20ms attack and 400ms release, threshold at -30dB, and export the result as MP3.

## When to prefer this

Choose this endpoint when you need server-side automatic voice ducking (sidechain compression) of a music bed under a voice track, with fine-grained control over attack, release, ratio, threshold, and gain — especially in podcast, broadcast, or video production workflows where you want professional-sounding mixes without a DAW. Prefer this over manual audio mixing or generic audio conversion endpoints when the goal is specifically to have music automatically respond to voice presence.

## Known failure modes

- Invalid or inaccessible audio URL returns an error fetching the resource
- Both url and content_base64 missing for voice or music returns a validation error
- content_base64 payload exceeding 12MB limit causes a rejection
- Ratio, attack_ms, release_ms, threshold_db or music_gain_db out of allowed range returns a 400 validation error
- Unsupported output_format value returns a schema validation error
- Payment not provided or insufficient USDC on Base Mainnet returns a 402 Payment Required

## How this service works

HALOWERK audiowerk — bezahlte Endpunkte nach x402. Preise in USDC auf Base Mainnet.

## Output

Returns a mixed audio file (MP3, WAV, FLAC, or Opus as specified) containing the voice track blended over the music bed, with the music automatically attenuated (ducked) during speech and restored during silences, using the configured attack, release, ratio, threshold, and gain parameters.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "music": {
   "type": "object",
   "properties": {
    "url": {
     "type": "string",
     "maxLength": 2048,
     "description": "Public http(s) URL."
    },
    "content_base64": {
     "type": "string",
     "maxLength": 12000000,
     "description": "The file inline, base64."
    }
   },
   "description": "The music bed. Either url or content_base64.",
   "additionalProperties": false
  },
  "ratio": {
   "type": "number",
   "default": 8,
   "maximum": 20,
   "minimum": 1.5,
   "description": "How hard the bed is pulled down once the threshold is crossed."
  },
  "voice": {
   "type": "object",
   "properties": {
    "url": {
     "type": "string",
     "maxLength": 2048,
     "description": "Public http(s) URL."
    },
    "content_base64": {
     "type": "string",
     "maxLength": 12000000,
     "description": "The file inline, base64."
    }
   },
   "description": "The voice track. Either url or content_base64.",
   "additionalProperties": false
  },
  "attack_ms": {
   "type": "integer",
   "default": 20,
   "maximum": 500,
   "minimum": 1,
   "description": "How fast the bed ducks when the voice starts. Short values can clip the first syllable."
  },
  "loop_music": {
   "type": "boolean",
   "default": true,
   "description": "Loop a bed shorter than the voice track. Off, the mix ends when the bed does."
  },
  "release_ms": {
   "type": "integer",
   "default": 400,
   "maximum": 3000,
   "minimum": 50,
   "description": "How fast the bed returns between words. Under 100 ms the bed audibly flutters."
  },
  "threshold_db": {
   "type": "number",
   "default": -30,
   "maximum": -6,
   "minimum": -60,
   "description": "Voice level above which the bed starts to be pulled down."
  },
  "music_gain_db": {
   "type": "number",
   "default": -8,
   "maximum": 6,
   "minimum": -40,
   "description": "Level of the bed before ducking, relative to its own level."
  },
  "output_format": {
   "enum": [
    "mp3",
    "wav",
    "flac",
    "opus"
   ],
   "type": "string",
   "default": "mp3",
   "description": "Format of the mixed file."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-audiowerk-duck-voice-ducking-sidechain-compression-42726295/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from audio.halowerk.com](https://www.zero.xyz/host/audio.halowerk.com/llms.txt)
