TikTok photo post image formats: WebP or JPEG, not PNG

TikTok's photo post API lists WebP and JPEG, 20 MB per image, up to 1080p. If your AI images default to PNG, set Sume's output_format to jpeg or webp first.

5 min readSume
All posts

TikTok's Media Transfer Guide lists WebP and JPEG as the image formats for the Content Posting API, with a maximum of 20 MB per file and a maximum resolution of 1080p. PNG is not on that list. When you generate stills with Sume's Image docs, pass output_format as jpeg or webp, since the same docs show png as one of the options and the default may not be what TikTok wants.

What does TikTok list for images?

From the Media Transfer Guide: formats WebP and JPEG, up to 20 MB each, up to 1080p. From the Photo Post reference: up to 35 images per post, URLs must be publicly accessible and verified by your app, and only PULL_FROM_URL is supported.

The 1080p ceiling matters for AI image output. A generator that returns a 2048-pixel square gives you a file TikTok's page says is above the maximum, so resize on the way out.

TikTok image spec against Sume output_format values, read 2026-10-02
FormatTikTok photo postSume Image output_format
JPEGListedjpeg or jpg
WebPListedwebp
PNGNot listedpng (avoid for TikTok)

How do you request the right format?

The Image docs give output_format as png, jpeg, jpg or webp, preferred over the deprecated format field. Check the Image page for the full request shape and the rest of the sizing options; the sketch below shows only the field that matters here and is not a complete request.

The returned URL is on media.sume.com, with a media_type such as image/webp, so you can confirm the type before you hand the URL to TikTok.

ALLOWED = {"image/jpeg", "image/webp"}

def tiktok_ok(media_type: str, size_bytes: int) -> bool:
    return media_type in ALLOWED and size_bytes <= 20 * 1024 * 1024

print(tiktok_ok("image/webp", 3_000_000))
print(tiktok_ok("image/png", 3_000_000))

What is still on you?

Sume does not post photos and cannot verify your domain with TikTok. The URL ownership rule still applies; see the URL ownership post. Also check the pixel dimensions yourself against the 1080p ceiling, since this post found no Sume field in the docs that guarantees it.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume