Skip to main content

Endpoint

GET /api/v1/music/waveform?clip_id={clip_id}
Synchronous. Returns waveform data immediately. Returns amplitude data points for a clip, suitable for rendering audio waveform visualizations in your UI.

Query parameters

ParameterTypeRequiredDescription
clip_idstringYesClip ID to retrieve waveform for. Obtain from Upload Audio (data.clipId) or a completed generation task (results[].id).

Response

{
  "code": 0,
  "message": "ok",
  "request_id": "req-1710000000000",
  "data": [0.12, 0.45, 0.78, 0.56, 0.34, ...]
}
The data field contains an array of normalized amplitude values (0.0 to 1.0) sampled at regular intervals across the clip duration.

Example

curl "https://api.example.com/api/v1/music/waveform?clip_id=abc123def456" \
  -H "Authorization: Bearer sk-mm-your-key"

Use case: waveform player

Render a visual waveform using the amplitude array:
function drawWaveform(canvas, amplitudes) {
  const ctx = canvas.getContext('2d');
  const w = canvas.width, h = canvas.height;
  amplitudes.forEach((amp, i) => {
    const x = (i / amplitudes.length) * w;
    const barH = amp * h;
    ctx.fillRect(x, (h - barH) / 2, 1, barH);
  });
}