LinkedIn multiImage post: 2-20 images, alt text up to 4,086 characters
A LinkedIn multiImage post takes 2 to 20 images, JPG, GIF or PNG under 36,152,320 pixels, with per-image alt text. Make a matching set with Sume Images.

LinkedIn's multiImage post, created through the Posts API, holds between 2 and 20 images. Each image must be under 36,152,320 pixels and be a JPG, GIF or PNG, and a GIF may have up to 250 frames. Each image can carry altText up to 4,086 characters, though LinkedIn recommends under 120. Generate a consistent set with Sume Images and upload each through the Images API first.
What are the multiImage limits?
These come from LinkedIn's MultiImage Post API page on Microsoft Learn. The images array only supports image URNs of the form urn:li:image:{id}, so each file must be uploaded first.
| Item | Limit |
|---|---|
| Images per post | 2 to 20 |
| Pixels per image | fewer than 36,152,320 |
| Formats | JPG, GIF, PNG |
| GIF frames | 250 at most |
| altText | 4,086 characters max, under 120 recommended |
How do I size the images?
The pixel rule is a total count, not an edge limit. A 3840 by 3840 image has 14,745,600 pixels, comfortably below the cap, so ordinary Sume outputs never come close. Keep every image in the carousel at one aspect_ratio so the slides align; 1:1 and 4:5 are both on Sume's list.
import json, os, urllib.request
body = {
"model": "bytedance-seed/seedream-4.5",
"prompt": "slide 1 of 6, bold flat illustration of a rising bar chart, navy and orange, no text",
"aspect_ratio": "1:1",
"output_format": "png"
}
req = urllib.request.Request(
"https://api.sume.com/v1/images",
data=json.dumps(body).encode(),
headers={
"Authorization": "Bearer " + os.environ["SUME_API_KEY"],
"Content-Type": "application/json",
},
method="POST",
)
print(urllib.request.urlopen(req).read().decode())What goes in the alt text?
Write a short factual description of each slide, close to the recommended 120 characters. If the slide carries words, transcribe them. Sume does not write alt text for you.
What should I verify?
Check the API version header you send against LinkedIn's current version policy. The images guide covers Sume.
Sources
Related posts
More in Integrations
- LinkedIn: reuse one uploaded video in a feed post and a sponsored ad
LinkedIn says a video uploaded through the Videos API can be reused across post formats. Upload your Sume avatar clip once, then reference its URN twice.
- LinkedIn video status PROCESSING_FAILED: read the reason, fix the clip
LinkedIn Videos API returns PROCESSING_FAILED with a processingFailureReason. Probe your Sume clip first and re-upload a clean file instead of guessing.
- LinkedIn Videos API templateName and linkbackContext (202602+)
LinkedIn added templateName and linkbackContext to initializeUpload from version 202602. They credit the tool that made a video. What to send for a Sume render.
- Lovable custom MCP connector for Sume: API key, chat only
Add Sume's hosted MCP server to Lovable as a custom connector with a bearer API key. It informs project chat only and does not power published apps.
Written by Sume