Genbox

← all tools · video

🥁 Beat Audio Slicer

Cut an MP3 or WAV on the beat and keep the groove

About this tool

Trim a song so the cut lands on the beat, not on a random millisecond. Drop an MP3 or WAV and the tool detects the tempo straight away, then draws the waveform with the beat grid over it. Drag the two handles (or type the start and end times in seconds) and the marks pull themselves onto the grid: 1/4, 2/4, 4/4 (one whole beat) or a full bar. Play the selection right in the page to hear it before you render, then download the trimmed track as MP3 or WAV. The tempo, the grid and the exact cut times are shown the whole time, so loops and ringtones come out clean on the first try. Free, no signup, no watermark.

Drop an MP3 or WAV. The tempo is detected right away, the beat grid is drawn across the waveform and the snap step appears underneath.

⬆ Drag & drop a file here
MP3 or WAV. Nothing is uploaded anywhere - the file is analysed and cut on the server that runs this page.
Upload a track and the tempo shows up here.
Drag the handles to set the cut, drag the wave to move along, scroll to zoom. The strip at the bottom is the whole track.
Drag the two handles to mark the start and the end. Ticks show the detected beat grid; the darker band is what you keep.
Marks jump to the nearest point of the grid as you drag or type. 4/4 keeps whole beats, which is what most cuts want.

API

POST /api/tools/beat-audio-slicer/run (multipart/form-data) → JSON with outputs[].url, a zip link and a config_url.

Every run also hands you the config JSON (button above). It is the request body - POST it straight back to replay the exact generation:

curl -X POST -H 'Content-Type: application/json' \\
  --data @genbox-config-beat-audio-slicer.json \\
  /api/tools/beat-audio-slicer/run
For AI agents · API specs

Technical specs

Categoryvideo
Slugbeat-audio-slicer
Run endpointPOST /api/tools/beat-audio-slicer/run
Content typemultipart/form-data (with file uploads) or application/json
ResponseJSON: job, notes, outputs[].url, zip, config_url
Rate limitAPI: 1 request / minute / IP. Live preview and image renders have their own separate limits, plus a short global cooldown between renders (storm protection). Over a limit you get HTTP 429 + a Retry-After header (local requests are unlimited)
Machine-readable specGET /api/tools/beat-audio-slicer
OpenAPI 3.1 (Swagger)this tool (JSON) · all tools

Request body

Every parameter accepted by the run endpoint, in request-body order. Fields are optional unless marked required. The same schema is published as OpenAPI 3.1. Upload files with multipart/form-data; a JSON body replays a saved config.

ParameterTypeRequiredDefault / allowed valuesDescription
audio file required MP3 or WAV. Nothing is uploaded anywhere - the file is analysed and cut on the server that runs this page.
waveform beatslice no Drag the two handles to mark the start and the end. Ticks show the detected beat grid; the darker band is what you keep.
snap select no 1/4 · 2/4 · 4/4 · bar · off Marks jump to the nearest point of the grid as you drag or type. 4/4 keeps whole beats, which is what most cuts want.
start_seconds number no 0 Second you cut from. Typing a value snaps it to the grid unless snapping is off.
end_seconds number no 0 Second you cut to. 0 means the end of the track.
format select no same · mp3 · wav
bitrate select no 320 · 256 · 192 · 128 Used only for MP3 output.
fade_in number no 0 0 leaves the start as it is.
fade_out number no 0 0 leaves the end as it is. A short fade hides a cut that lands mid-note.
normalize checkbox no Bring the cut to a steady streaming-style level.
filename text no Leave empty to keep the original name with -beat-cut at the end.

Call it from an agent

  • GET /api/tools/beat-audio-slicer - machine-readable spec of this tool (inputs, category, API block).
  • GET /api/tools - list of every tool plus the categories.
  • POST /api/tools/beat-audio-slicer/run - run it. Accepts multipart/form-data (with files) or a raw application/json body. Returns JSON with outputs[].url, zip and config_url.
  • The config_url JSON is the request body - POST it back to replay the same generation.
# agent example
curl -s https://genbox.eu/api/tools/beat-audio-slicer/run \\
  -H 'Content-Type: application/json' \\
  --data @genbox-config-beat-audio-slicer.json

Rate limits

  • Max 1 request per minute per IP on the run endpoint.
  • Over the limit you get HTTP 429 with retry_after (seconds) - wait that long and retry.
  • Higher limits and API keys are coming soon: an API key will lift the per-IP throttle. Not available yet.