Three hook cuts for a YouTube A/B test: trim jobs and bulk runs
Sume does not run the YouTube test, but it can make the three cuts: one video-trim job per hook, then a Timeline join. Bulk Format runs scale it to 100 items.

Sume does not run or measure a YouTube hook test; YouTube does that. What Sume can do is produce the three cuts: submit one POST /v1/video-trim job per hook range on the same source, optionally join each with the rest of the video in Timeline 1.0, and upload the three files yourself.
YouTube's post says that, coming soon, creators will be able to test up to three video cuts to see which hook performs best. Sume facts below are from the Video trim and Bulk runs docs, read 2026-10-01.
How do I cut three hooks from one video?
Video trim takes one workspace media.sume.com clip plus start and exactly one of end or duration, and returns a new MP4; the source is untouched. Import the source first with POST /v1/media-imports, then send three requests with different ranges. Idempotency-Key is required, so give each cut its own key.
const hooks = [
{ start: 0, duration: 8 },
{ start: 95, duration: 8 },
{ start: 310, duration: 8 },
];
const jobs = await Promise.all(
hooks.map(async (hook, i) => {
const res = await fetch("https://api.sume.com/v1/video-trim", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.SUME_API_KEY,
"Content-Type": "application/json",
"Idempotency-Key": "hook-test-cut-" + i,
},
body: JSON.stringify({
video_url: "https://media.sume.com/artifacts/artf_demo/talk.mp4",
...hook,
}),
});
return res.json();
}),
);
console.log(jobs.map((job) => job.request_id));How do I put each hook in front of the full video?
Each trim result is a kind: video_trim with a new video_url. The docs say to drop that MP4 into timeline_create video[] with source_in 0. For a hook-first cut, make the trimmed hook slot one and the body slot two, with a fade or dissolve transition on the second (transitions apply only to slots after the first). See assemble long-form video for the audio spine a Timeline needs.
What does this cost?
| Step | Price | Source |
|---|---|---|
| Video trim | $0.02 per job | Video trim docs |
| Timeline render | $0.10 per output minute | Rate card |
| Bulk run queue | Each item is an ordinary Format run | Bulk runs docs |
When do bulk Format runs make sense?
Three trim calls need no queue. Bulk runs fit when you do this for many videos: POST /v1/formats/{format_id}/bulk-runs queues up to 100 Format runs with a concurrency of 1 to 16, and each item is one ordinary Format run with its own receipt. Poll GET /v1/format-run-queues/{queue_id} for progress. Note that completed means every item is terminal, not that every item succeeded, so check counts.failed.
Does keyframe precision matter for a hook?
Yes, for the first second. precision defaults to exact, a frame-accurate re-encode. keyframe is a stream copy whose cut may start a GOP early, so re-base against actual_start_seconds. For a hook, keep the default.
Sources
Related posts
More in Use cases
- YouTube video A/B test of three cuts: make hook variants with trim
YouTube says you will soon test up to three video cuts for the best hook. Make three candidate cuts of one video with Sume video trim, $0.02 per job.
- One 30-second AI clip or six short shots? A practical way to decide
A 30-second generation is one continuous take; six shots joined in Timeline give more control. Compare cost, retries, and consistency before you pick.
- 480p draft, 1080p final on Seedance 2.5: no seed, so a new take
Seedance 2.5 on Sume accepts 480p, 720p and 1080p, but no v1 model takes a seed. A cheap draft previews the idea, not the shot. How to use drafts honestly.
- Accessible transcript for a video page: Sume transcript, then review
Get a timed transcript of your video from Sume's video inspect for $0.01 a minute, then correct it by ear. Silent clips fail, and no output is pre-certified.
Written by Sume