🥁 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.
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
| Category | video |
|---|---|
| Slug | beat-audio-slicer |
| Run endpoint | POST /api/tools/beat-audio-slicer/run |
| Content type | multipart/form-data (with file uploads) or application/json |
| Response | JSON: job, notes, outputs[].url, zip, config_url |
| Rate limit | API: 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 spec | GET /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.
| Parameter | Type | Required | Default / allowed values | Description |
|---|---|---|---|---|
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. Acceptsmultipart/form-data(with files) or a rawapplication/jsonbody. Returns JSON withoutputs[].url,zipandconfig_url.- The
config_urlJSON 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.