Instagram carousel limit of 10: make 10 stills from one video

Meta's guide limits carousels to 10 images, videos or a mix, and 100 API posts per 24 hours. Sume video-frames takes up to 24 times per call, so pick 10.

4 min readSume
All posts

Send at[] with ten times to POST /v1/video-frames and use the ten JPEG stills as one carousel. Meta's content publishing guide says "Carousels are limited to 10 images, videos, or a mix of the two," and Sume's route accepts 1 to 24 times per call, so the cap to respect is Instagram's.

What are the limits on each side?

Two Instagram numbers matter here, and the second is easy to miss when you automate.

Carousel numbers (read 2026-09-30). Sume rows: https://docs.sume.com/models/video-frames
ItemValueWhere
Items per carousel10 images, videos, or a mixMeta content publishing guide
API posts100 within a 24-hour moving period per accountMeta content publishing guide
Frames per Sume call1 to 24 at[] valuesVideo frames docs
Source length for frames300 s or lessVideo frames docs

How do I choose ten moments?

Either name them with at[] or let fps (up to 2) sample the clip; fps expands to mid-bin times and is capped at 24 frames, so you would then keep ten of them. Every at value must be at least 0 and below the clip length.

curl -X POST https://api.sume.com/v1/video-frames \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: carousel-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/tour.mp4",
    "at": [1, 4, 7, 10, 13, 16, 19, 22, 25, 28],
    "format": "jpeg",
    "max_edge": 1440
  }'

Can I mix stills and video in one carousel?

Meta's line allows a mix, up to the same 10 items. A trimmed clip from https://docs.sume.com/models/video-trim can sit next to the stills. Sume does not create the carousel container; that is your Graph API call.

How does the daily limit change the plan?

Meta's limit is stated in API-published posts, so a batch job should count the posts it publishes and not the frames it extracts. Frame extraction on Sume is unbilled, so extra candidates cost nothing but time.

What should I review before publishing?

Frames are evidence, not a designed set, so review them. A blank transition frame or a half-blink is easy to miss in a list of URLs. Open each returned frames[].url, drop the weak ones, and re-extract at a nearby time if you need a replacement.

  • Check that no entry has a null url; a failed instant does not fail the job.
  • Keep the same max_edge for all frames so they are the same size.
  • Save the artifact ids so you can trace each slide to a time in the source.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume