Amazon A+ video and image carousel: 2 to 6 panels, one trim each

The Premium Video Image Carousel has 2 to 6 panels, each with its own video or image. Cut one product film into per-panel clips with Sume's video trim.

4 min readSume
All posts

A PremiumVideoImageCarouselModule has 2 to 6 panels, and each panel needs its own video or its own desktop and mobile images. If you have one long product film, cut it into one clip per panel with POST /v1/video-trim. Trim returns a new MP4 for the range and leaves the source untouched.

Amazon's numbers are from its A+ Premium modules page; trim facts are from the video trim docs, read 2026-10-01.

What does each panel need?

Amazon says each panel must have at least one of video or desktopImage and mobileImage. Its example use is shorter clips of different aspects, such as a 20-second clip of the product in use and a 20-second clip of assembly.

PremiumVideoImageCarouselModule panel requirements, from Amazon's page read 2026-10-01.
FieldConstraint
carouselCards2 to 6 panels, position 1 to 6
video preview imageMin 800 x 600 px
desktopImage (image panel)Min 800 x 600 px
mobileImage (image panel)Min 600 x 450 px
subheadlineRequired, max 80 characters

How does video trim cut a clip?

Send a media.sume.com clip, a start, and exactly one of end or duration (0.2 to 900 seconds). There is no GET /v1/video-trim/:id: poll GET /v1/jobs/:id/status, then read GET /v1/jobs/:id/result, which has kind: video_trim and a new video_url.

async function trim(start, duration) {
  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": "panel-" + start + "-" + duration,
    },
    body: JSON.stringify({
      video_url: "https://media.sume.com/artifacts/artf_demo/film.mp4",
      start,
      duration,
    }),
  });
  console.log(res.status, await res.json());
}
trim(0, 20);

Does trim keep the original?

Yes. The source is untouched and the result is a new artifact. precision defaults to exact, a frame-accurate re-encode, while keyframe copies the stream and may start a little early, which you re-base with actual_start_seconds.

How do I plan six panels?

Write the six time ranges first, one trim per panel, each with its own Idempotency-Key, then extract an 800 by 600 or larger preview from each clip. For a similar cut-down workflow see cut a product video into feed cutdowns.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume