Files
SnapOtter/apps/docs/tools/audio/waveform-image.md
T
SnapOtter 8532f3227b docs: audit all 157 tool pages against live schemas
Reconcile every tool page's parameters, defaults, and response shape against the tool's Zod settings schema and executionHint in code. Notable fixes: color-palette (add count + format params, hex output, median-cut algorithm), favicon (add 5 params, was documented as having none), qr-generate (add logoDataUri), convert (add ppm/eps/tga formats), video-loudnorm (-16 LUFS not -14), smart-crop (async 202 not sync 200), images-to-video (1080x1080 square), and several output-filename and behavior-note corrections.

Also normalize API endpoint paths to /api/v1/tools/<id> (no modality segment) and standardize curl examples on the Docker API port 1349. Verified with a clean docs build.
2026-06-18 14:12:28 +08:00

1.3 KiB

description
description
Generate a waveform visualization as a PNG image from an audio file.

Waveform Image

Generate a waveform visualization as a PNG image from an audio file, with configurable dimensions and color.

API Endpoint

POST /api/v1/tools/waveform-image

Accepts multipart form data with an audio file and a JSON settings field.

Parameters

Parameter Type Required Default Description
width integer No 1024 Image width in pixels (256 to 3840)
height integer No 256 Image height in pixels (64 to 1080)
color string No "#4f46e5" Waveform hex color (e.g. "#4f46e5")

Example Request

curl -X POST http://localhost:1349/api/v1/tools/waveform-image \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@audio.mp3" \
  -F 'settings={"width": 1920, "height": 400, "color": "#e07832"}'

Example Response

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.png",
  "originalSize": 4500000,
  "processedSize": 45000
}

Notes

  • The output is always a PNG image, regardless of the input audio format.
  • The waveform is rendered on a transparent background.
  • Useful for thumbnails, social media previews, or embedding in web pages.