# Halowerk Spectrogram Image Generator

> Halowerk Spectrogram 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 spectrogram PNG image showing frequency content over time, with configurable color scheme, scale, and dimensions.

## Facts

- Endpoint: POST https://medien.halowerk.com/v1/spectrogram-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-spectrogram-image-generator-0785e4e4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_57DD5pJStD_-H0s8J9gll

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-spectrogram-image-generator-0785e4e4 -d '<json body>'
```

Example prompt: Can you generate a spectrogram image from this interview recording — use the magma color scheme, logarithmic scale, 1200×512 pixels, and include the legend so I can see if there's any mains hum or edit cuts in it?

## When to prefer this

Choose this endpoint when you need a visual frequency-domain representation of an audio or video file — especially for forensic purposes (detecting edits, hum, noise artifacts, codec cutoffs) or quality-control workflows. It is the right choice when you want a server-rendered, configurable spectrogram PNG without sending data to a third-party cloud service, since processing happens locally on the provider's machine. Prefer it over generic audio analysis endpoints when you specifically need an image output rather than transcribed text or numeric measurements.

## Known failure modes

- File exceeds 24 MB limit — request rejected
- Invalid URL or inaccessible file at provided URL — fetch error
- Unsupported audio/video format not recognized by ffmpeg — processing error
- base64 content_base64 string exceeds 12,000,000 character limit — payload too large
- Width or height outside allowed range (200–4000 / 100–2000) — validation error
- Neither url nor content_base64 provided — missing source error
- Payment not included or insufficient — x402 payment required response

## How this service works

Takes an audio or video file (up to 24 MB) and returns a spectrogram image: time on the horizontal axis, frequency on the vertical, intensity as colour, with scale and legend. It makes visible what the ear misses — mains hum as a line at 50 or 60 Hz, broadband noise, the cut-off of a phone or low-bitrate recording, and hard edits. Size, colour scheme and linear or logarithmic intensity are selectable. Rendered locally with ffmpeg; returned inline as PNG base64. Nothing leaves this machine.

## Output

A PNG image returned inline as a base64-encoded string, depicting a spectrogram with time on the horizontal axis, frequency on the vertical axis, and intensity as color. The image includes an optional scale legend and reflects the chosen color scheme (magma, rainbow, viridis, etc.), frequency scale (log, linear, sqrt, cbrt), and custom dimensions.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "color": {
   "enum": [
    "intensity",
    "rainbow",
    "magma",
    "viridis",
    "cool",
    "fiery",
    "channel"
   ],
   "type": "string",
   "default": "magma"
  },
  "scale": {
   "enum": [
    "log",
    "lin",
    "sqrt",
    "cbrt"
   ],
   "type": "string",
   "default": "log"
  },
  "width": {
   "type": "integer",
   "default": 1200,
   "maximum": 4000,
   "minimum": 200
  },
  "height": {
   "type": "integer",
   "default": 512,
   "maximum": 2000,
   "minimum": 100
  },
  "legend": {
   "type": "boolean",
   "default": true
  },
  "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
  }
 }
}
```

## More

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