Beat sync video editor via API: plan cuts from a stated BPM
Sume has no beat-detection tool. You can ask Music 1.0 for a BPM, then set Timeline 1.0 slot starts and durations as multiples of one beat.

Sume does not detect the beat of an existing track. What it offers is the reverse: write a BPM into a Music 1.0 brief, then place Timeline 1.0 video slots at starts and durations that are whole multiples of one beat (60 divided by the BPM). Cuts land on the grid you chose, not on a grid measured from audio.
YouTube's September 2026 blog post says its new editing assistant can suggest ways to "reorder frames, trim and sync music to the beat". That is a feature inside YouTube's editor. This page covers what a Sume API caller can build, from Music 1.0 and Timeline 1.0, read 2026-09-30.
Can Sume measure the beat of a track?
No. The Music 1.0 docs say provider lyrics metadata may describe tempo and structure, but it is model-reported and "not an audio measurement". I found no analysis endpoint in the docs that returns beats per minute for an uploaded file, so treat any tempo you read back as a claim to verify by ear or with your own tool.
How do I ask Music 1.0 for a tempo?
The brief has seven axes and tempo is one of them, written as a number such as "72 BPM". The docs call these axes creative directions, not guaranteed output settings, and Music 1.0 has no seed, guidance or duration parameter. So a stated BPM is a request. Generate, listen, and re-run if the feel is off. The same brief form also takes an arc with a named moment, for example "full return at 0:28", which helps you aim a cut at a known time. The paid tool in hosted MCP is music_create.
How do I place cuts on a beat grid?
Timeline 1.0 treats declared slot starts as authoritative: "Declared starts are authoritative", and the compiler compensates for crossfades rather than shifting your starts. Slot duration must be at least 0.2 s, video[0].start must be 0, and later starts must increase. That is enough to lay out a grid. At 120 BPM one beat is 0.5 s, so a shot of four beats is 2 s and each next start is 2 s later.
const bpm = 120;
const beat = 60 / bpm;
const beatsPerShot = 4;
const shots = 8;
const video = Array.from({ length: shots }, (_, i) => ({
source_url: "https://media.sume.com/artifacts/artf_demo/shot-" + (i + 1) + ".mp4",
start: i * beatsPerShot * beat,
duration: beatsPerShot * beat,
}));
const audio = { duration_seconds: shots * beatsPerShot * beat };
console.log(JSON.stringify({ audio, video }, null, 2));What does the plan look like at common tempos?
Shot length is beats per shot times 60 over BPM. Values below are arithmetic, not Sume output.
| BPM | One beat | Four-beat shot | Eight shots total |
|---|---|---|---|
| 72 | 0.833 s | 3.333 s | 26.667 s |
| 100 | 0.600 s | 2.400 s | 19.200 s |
| 120 | 0.500 s | 2.000 s | 16.000 s |
| 142 | 0.423 s | 1.690 s | 13.521 s |
What should I check before rendering?
Timeline slots need Sume-hosted media.sume.com media, so import your clips first. Round starts to a sensible precision, since a generated track may drift from its stated tempo. Run the unbilled /plan preflight described in the Timeline docs, then listen to the first render against the grid. For the full assembly flow see assemble long-form video with the Timeline API, and for tempo wording see AI music BPM control.
Sources
Related posts
More in Use cases
- Text to speech add pause: Flux, HeyGen and Gemini markers vs Sume
Deepgram Flux, HeyGen and Gemini TTS each use their own pause marker. Sume TTS has none, so use punctuation, speed, or a declared silence in Timeline.
- TikTok 3-minute videos: cut a longer clip to 180 seconds via API
TikTok's page says all creators can post 3-minute videos, some 5 or 10. Sume video-trim writes a 180 s MP4 from a longer clip so any creator can post it.
- Label an AI background swap on a TikTok Shop video?
TikTok asks for disclosure when a background or object is added or removed in a misleading way. Keep the product itself unchanged and swap only the scene.
- Can I make a news-style AI video for TikTok?
TikTok bans AI content made to look like a real news source or a crisis event. A clearly fictional explainer is different. What to avoid, and how to label it.
Written by Sume