Crop a 1080x1920 clip to a 1080x1080 square for a TikTok 1:1 ad

TikTok's 1:1 ad needs 640x640 or more. A 9:16 source crops to a square with video filter height 0.5625 and y 0.21875, or y 0.1 to keep the top. $0.02.

5 min readSume
All posts

To make a TikTok 1:1 ad from a 1080x1920 clip, send one video filter job with a crop op of x 0, y 0.21875, width 1 and height 0.5625. That gives a 1080x1080 square, centered vertically, for $0.02. TikTok's non-Spark ad page (read 2026-10-09) accepts 1:1 at 640x640 or more, so 1080x1080 clears it with room to spare.

The fractions come straight from the frame: the square is 1080 tall out of 1920, which is 1080 / 1920 = 0.5625 of the height, and the unused 840 px is split 420 above and 420 below, so y = 420 / 1920 = 0.21875.

Choose where the square sits

A centered crop is often wrong for vertical video: faces sit in the upper third, and captions burned in near the bottom get cut. The crop op takes any y with y + height <= 1, so you can place it anywhere in the frame.

Square crops of a 1080x1920 source (video filter fractions; TikTok line read 2026-10-09)
PlacementyPixels cut from topPixels cut from bottom
Centered0.21875420420
Keep the top (faces)0.1192648
Keep the top edge00840
Keep the bottom (captions)0.43758400

Crop or fit

The other way to a square is a Timeline fit. Contain keeps the entire 9:16 picture and shrinks it to fit 1080 px tall, which makes it 607.5 px wide, 56.25% of the square, with the rest padded or blurred (fit blur). Cover is a crop too, taking the same square as the filter job.

Pick the filter crop if you want a crisp full-width square and are sure of the subject's position. Pick Timeline blur if the whole frame, text included, must stay. A Timeline render is $0.10 per output minute, so a 15-second ad is $0.10 against $0.02 for the filter job, and the filter job only reads one clip.

Why a square at all

TikTok lists three shapes for non-Spark ads, and a square is the one that costs the least vertical room in a feed that mixes formats. It also keeps a product centered. The trade is lost picture: a 9:16 frame cropped to 1:1 keeps 56.25% of its pixels, so anything that lived in the top or bottom 420 px is gone in a centered crop. Check with a still before you submit. Video frames returns an image at source size for each time you name, up to 24 per call.

Whatever you pick, keep text inside the middle band, because the crop removes the margins that captions and sticker overlays usually live in.

The request and its limits

The body is a video_url and one op. The source must be a media.sume.com clip of 300 seconds or less; a longer ad needs a video trim first. The result keeps the source frame rate and audio, and the crop rounds to even values for yuv420p. Free check: POST /v1/video-filter/check validates the program and the source and returns an estimate without creating a job.

TikTok's page also asks for 500 MB or less, 516 kbps or more, up to 10 minutes and the container list .mp4, .mov, .mpeg, .3gp and .avi. A 1080x1080 MP4 from Sume is inside the container list.

{
  "video_url": "https://media.sume.com/artifacts/artf_demo/vertical.mp4",
  "ops": [
    { "op": "crop", "x": 0, "y": 0.21875, "width": 1, "height": 0.5625 }
  ]
}

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume