# HALOWERK Waveform Image Generator

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

Converts an audio or video file into a waveform PNG image with configurable dimensions, colors, channel splitting, and optional logarithmic scale.

## Facts

- Endpoint: POST https://medien.halowerk.com/v1/waveform-image?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-waveform-image-generator-5571da88
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_iKre_1Q2SO3zNVmSHopOh

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-waveform-image-generator-5571da88 -d '<json body>'
```

Example prompt: Turn this podcast MP3 into a waveform image — 1200 pixels wide and 200 pixels tall, blue wave (#3b82f6) on a white background, and use logarithmic scale so the quiet parts are still visible. Here's the file URL: https://example.com/episode42.mp3

## When to prefer this

Choose this endpoint when you need a locally rendered, privacy-preserving waveform PNG from an audio or video file with precise control over dimensions, colors, channel layout, and scale. Prefer it over client-side or third-party waveform services when data privacy matters, when you need logarithmic scaling for speech content, or when you want a fixed low-cost per-call pricing model with no data leaving the server.

## Known failure modes

- File exceeds 24 MB limit — request rejected
- Invalid hex color format for wave or background color — schema validation error
- Source file URL is unreachable or returns non-media content — rendering fails
- Audio/video format unsupported by ffmpeg — conversion error
- Width or height outside allowed range (100–4000 / 40–1000) — validation error
- Both url and content_base64 omitted from source object — missing input error
- base64 payload too large (over ~12 MB encoded) — payload size limit hit

## How this service works

Takes an audio or video file (up to 24 MB) and returns its waveform as a PNG image with chosen width, height, wave colour and background colour, mono or one lane per channel, optionally on a logarithmic scale that makes quiet speech visible. Rendered locally with ffmpeg; the image comes back inline as base64 along with duration and size. Nothing leaves this machine. Fixed price per call.

## Output

Returns a base64-encoded PNG image of the audio/video waveform rendered inline, along with the duration of the source media and the dimensions/size of the output image. No external data transfer occurs — all processing is done server-side with ffmpeg.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "color": {
   "type": "string",
   "default": "#3b82f6",
   "pattern": "^#[0-9a-fA-F]{6}$"
  },
  "width": {
   "type": "integer",
   "default": 1200,
   "maximum": 4000,
   "minimum": 100
  },
  "height": {
   "type": "integer",
   "default": 200,
   "maximum": 1000,
   "minimum": 40
  },
  "source": {
   "type": "object",
   "properties": {
    "url": {
     "type": "string",
     "maxLength": 2048,
     "description": "Public http(s) URL of the file."
    },
    "filename": {
     "type": "string",
     "maxLength": 260
    },
    "content_base64": {
     "type": "string",
     "maxLength": 12000000,
     "description": "The file inline, base64. Larger files by url."
    }
   },
   "description": "The recording. Either url or content_base64.",
   "additionalProperties": false
  },
  "log_scale": {
   "type": "boolean",
   "default": false
  },
  "background": {
   "type": "string",
   "default": "#ffffff",
   "pattern": "^#[0-9a-fA-F]{6}$"
  },
  "split_channels": {
   "type": "boolean",
   "default": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-waveform-image-generator-5571da88/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)
