Instagram Story collage from 5+ photos: build the same look with Sume

Instagram's Collage turns 5 or more photos into an animated Story. How to get a similar vertical clip from stills with Sume Timeline, with timing and fades.

4 min readSume
All posts

Instagram's Collage tool turns 5 or more photos into one animated Story. Meta's Stories guide describes it as an AI-powered tool that creates animated collages from 5 or more photos, and says you open the Stories camera, select several photos from your gallery and choose Collage. If you want a similar vertical clip made outside the app, with a fixed order and timing, a Sume Timeline 1.0 render does it from still images.

What does Instagram's Collage do?

The guide covers it in two lines, so here is what is known. It starts from 5 or more photos, it is AI-powered and it produces an animated result. The guide does not say how the arrangement is chosen, how long the clip runs, or what the output size is. Nothing here is a spec you can match to the pixel, so treat any look-alike as an approximation.

How does a Sume Timeline compare?

A Timeline render is deterministic: you choose the order, the length of each hold and the transition. It is not an AI arrangement.

Instagram rows: Stories guide, read 2026-10-03. Sume rows: docs.sume.com/models/timeline, read 2026-10-03.
AspectInstagram CollageSume Timeline
Input5 or more photos from the gallery1 to 200 video[] slots; stills allowed
ArrangementAI-poweredYour order and start times
Motion on a stillAnimated collageStatic hold; motion is accepted and ignored
TransitionsNot specifiedfade, wipeleft, wiperight, slideup, slidedown, dissolve, up to 1 second
Default outputNot specified1080x1920 MP4
PriceNot specified on the page$0.10 per output minute, rounded up

How do I build 5 photos into one vertical clip?

Import each photo first so it lives on media.sume.com; render calls refuse off-host URLs. Then declare a silent spine of the total length and one slot per photo. Starts must be increasing, and video[0].start must be 0. Transitions go on every slot after the first. This script builds the body for 5 photos at 1.6 seconds each and prints it.

import json

photos = [f"https://media.sume.com/artifacts/artf_demo/photo{i}.jpg" for i in range(1, 6)]
hold = 1.6
slots = []
for i, url in enumerate(photos):
    slot = {"source_url": url, "start": round(i * hold, 3), "duration": hold, "fit": "cover"}
    if i:
        slot["transition"] = {"type": "fade", "duration": 0.3}
    slots.append(slot)

body = {"audio": {"mode": "silence", "duration_seconds": round(len(photos) * hold)}, "video": slots}
print(json.dumps(body))

How do I send it and add music?

Save the printed JSON and post it to the unbilled plan route first. It returns the duration, segment count and estimated cost without a job. When it looks right, post the same body to /v1/timeline-1.0/render with an Idempotency-Key. A soundtrack block can add a bed under a silent spine; duck_db needs a real spine, so leave it out here. The five holds of 1.6 seconds give an 8 second clip. Photos keep their aspect with fit: cover, which crops to fill the 1080x1920 frame, so check that faces are not cut.

curl -X POST https://api.sume.com/v1/timeline-1.0/plan \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -d @collage.json

What can't this do?

It does not move the photos, build a multi-photo grid in one frame or choose the arrangement for you. For two things on screen at once, see timeline compose. If the photos have different shapes, use fit: contain or blur to avoid hard crops.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume