Teams custom background: JPG, PNG or BMP, and what Sume outputs
Microsoft Teams accepts a custom meeting background as .JPG, .PNG or .BMP. Sume image models output png, jpeg or webp, so pick png or jpeg.

Microsoft Teams asks for a custom meeting background as a .JPG, .PNG or .BMP file. Sume's image API outputs png, jpeg or webp, so set output_format to png or jpeg and the file is one Teams lists. Leave webp out: it is not in Microsoft's list.
Microsoft's article does not state a file size limit or recommended dimensions for custom backgrounds, and this post does not invent any.
What does the Teams article actually say?
The support article tells you to make sure the image is a .JPG, .PNG or .BMP file. You can upload it before joining, from the pre-join screen, or during a meeting from the video effects menu. The article also describes an AI Decorate feature that generates background effects, which is separate from uploading your own picture.
It describes static image uploads only. It says nothing about animated or video backgrounds, so check Teams itself before building a loop for it.
| Question | What the article says |
|---|---|
| Accepted formats | .JPG, .PNG or .BMP |
| File size limit | Not stated |
| Recommended dimensions | Not stated |
| Where to upload | Pre-join screen or video effects menu in a meeting |
| Video backgrounds | Not mentioned |
Which Sume output format matches?
The Sume image API lists output_format as png, jpeg or webp in its parameter docs. Two of those match Teams. Use png for flat graphics and logos, and jpeg for photographic scenes where file weight matters.
| Sume output_format | Teams accepts it? |
|---|---|
| png | Yes, as .PNG |
| jpeg | Yes, as .JPG |
| webp | No, not in the list |
How do you request a 16:9 background?
Post to /v1/images with a model, a prompt, a 16:9 aspect_ratio and your output_format. The aspect_ratio field takes each model's native catalog, so confirm 16:9 for your model in GET /v1/images/models first. The request below uses the model from the Sume docs example.
import requests, os
resp = requests.post(
"https://api.sume.com/v1/images",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
json={
"model": "bytedance-seed/seedream-4.5",
"prompt": "Calm home office wall, soft daylight, shelves, no people",
"aspect_ratio": "16:9",
"output_format": "jpeg",
},
timeout=120,
)
resp.raise_for_status()
for image in resp.json()["data"]:
print(image["url"], image["media_type"])What should you check before uploading?
Open the returned URL and confirm media_type reads image/png or image/jpeg, not image/webp. Keep the middle of the frame calm, because the speaker sits in front of it. Because Microsoft publishes no dimension guidance, test the picture in a private meeting before a customer call.
Sources
Related posts
More in Use cases
- Winter closure notice video: a reusable caption-cue template
A snow-day or closure notice for a gym, studio or school: keep one background clip, change only the caption cues, and re-burn in minutes.
- Friday the 13th kindness challenge: a 13-clip recap in one render
World Kindness Day lands on Friday 13 November 2026. Join 13 four-second kind-act clips into a 52-second recap with numbered cards for $0.30 on Sume.
- Small business year in review video from 10 photos and cues
Turn a year of shop photos into a thank-you recap: image-to-video clips from first frames, trimmed, then burned with your real numbers as caption cues.
- Zoom video background: MP4 or MOV, 360p to 1080p, from Sume
Zoom accepts an MP4 or MOV video background between 480x360 and 1920x1080. Generate a 16:9 clip on Sume at 720p or 1080p and skip the 4K trap.
Written by Sume