# HALOWERK Audio Concat

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

Joins 2–10 audio or video files into a single audio file with configurable gaps, crossfades, and loudness normalization, returning chapter timestamps for each part.

## Facts

- Endpoint: POST https://medien.halowerk.com/v1/audio-concat?utm_source=zero.xyz
- Price: $0.004/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-concat-eff4a5a1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_1PgSavRx65HQiyv38aGO_

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-concat-eff4a5a1 -d '<json body>'
```

Example prompt: Can you merge these three MP3 clips — intro.mp3, interview.mp3, and outro.mp3 — into a single MP3 file with a 1-second gap between each part and loudness normalization turned on? I'd also like the start timestamp for each section so I can add chapter marks.

## When to prefer this

Choose this endpoint when you need to concatenate 2–10 audio or video (audio track) files into a single output with precise control over gaps or crossfades between parts and optional loudness normalization, and you require chapter-ready start timestamps in the response. Prefer it over generic audio editors when privacy matters (processing is local, nothing leaves the server) and when the output size fits within 8 MB. Best for podcast assembly, audiobook compilation, and multi-segment interview production.

## Known failure modes

- More than 10 input files provided — rejected with validation error
- Any single file exceeds 24 MB — rejected
- Total combined audio exceeds 60 minutes — rejected
- Unsupported audio/video format in input — ffmpeg decode failure
- Output file exceeds 8 MB limit — truncation or error
- Unreachable URL for file source — download failure
- Both gap_seconds and crossfade_seconds specified with crossfade > 0 — crossfade takes precedence

## How this service works

Takes 2 to 10 audio or video files (each up to 24 MB, together up to 60 minutes) and joins their audio in the given order. Between parts either a pause of chosen length or a crossfade is placed; optionally every part is brought to a common loudness first so that no part is suddenly louder. The start time of every part in the joined file is measured and returned, ready for chapter marks. Output as MP3, Opus, WAV or FLAC inline, max 8 MB. Runs locally with ffmpeg; nothing leaves this machine.

## Output

Returns the joined audio file inline (MP3, Opus, WAV, or FLAC, up to 8 MB) along with an array of start timestamps (in seconds) indicating where each input part begins in the combined output — ready to use as chapter marks.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "files": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "source"
    ],
    "properties": {
     "label": {
      "type": "string",
      "maxLength": 80
     },
     "source": {
      "type": "object",
      "properties": {
       "url": {
        "type": "string",
        "maxLength": 2048
       },
       "filename": {
        "type": "string",
        "maxLength": 260
       },
       "content_base64": {
        "type": "string",
        "maxLength": 5000000
       }
      },
      "additionalProperties": false
     }
    },
    "additionalProperties": false
   },
   "maxItems": 10,
   "minItems": 2
  },
  "gap_seconds": {
   "type": "number",
   "default": 0.5,
   "maximum": 10,
   "minimum": 0
  },
  "output_format": {
   "enum": [
    "opus",
    "mp3",
    "wav",
    "flac"
   ],
   "type": "string",
   "default": "mp3"
  },
  "match_loudness": {
   "type": "boolean",
   "default": true
  },
  "crossfade_seconds": {
   "type": "number",
   "default": 0,
   "maximum": 5,
   "minimum": 0,
   "description": "If > 0, parts overlap by this much instead of a gap."
  }
 }
}
```

## More

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