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
- AI album cover generator: square art at 3000×3000
Generate square album art, then upscale: Apple recommends at least 3000×3000. On Sume, generate 2400×2400 and upscale it 1.25× to reach 3000×3000.
- AI avatar for online course videos: build and update lessons
Use an AI avatar as your online course instructor: one reusable avatar, a short talking video per section, captions, and one Timeline join per lesson.
- Talking avatar for PowerPoint presentations, slide by slide
Make a talking avatar presenter for PowerPoint: one Sume clip per slide, up to 60 seconds each, in 16:9 or 4:3 to match the slide, inserted as MP4.
- AI avatar for YouTube videos: Shorts and long-form
Use an AI avatar in YouTube videos: a 9:16 talking video of up to 60 seconds for a Short, or 16:9 segments joined into one long-form video.
Written by Sume