TikTok 540x960 minimum: a 480p clip needs upscale factor 1.2, not 1.1
A 480-px-wide vertical clip fails TikTok's 540x960 floor. Sume video upscale starts at 1.1, which gives only 528 px. Use 1.2 or more; 25 clips cost $2.70.

TikTok's non-Spark ad rule asks for a 9:16 video of at least 540 x 960 pixels. A vertical clip that is 480 pixels wide misses it, and the smallest factor Sume video upscale accepts, 1.1, only reaches 528 pixels. Use upscale_factor: 1.2 or higher. At 12 seconds a clip, 25 clips cost 25 x 12 x $0.009 = $2.70.
The factor math
TikTok's ad specifications list, for non-Spark ads, 9:16 vertical at 540 x 960 or more, 16:9 at 960 x 540 or more, and 1:1 at 640 x 640 or more. The file may be .mp4, .mov, .mpeg, .3gp or .avi, up to 10 minutes, 500 MB or less, with a bitrate of 516 kbps or more. A 480p vertical render is 480 pixels on its short edge, which is below the floor.
The required factor is 540 / 480 = 1.125. Sume video upscale accepts a factor from 1.1 to 4, so 1.1 is allowed but short: 480 x 1.1 = 528. The next round number, 1.2, gives 576 pixels. Factor 2 gives 960.
| upscale_factor | Resulting width | Meets 540 minimum |
|---|---|---|
| 1.1 | 528 | No |
| 1.125 | 540 | Exactly at the floor |
| 1.2 | 576 | Yes |
| 2 | 960 | Yes |
| 4 | 1920 | Yes |
Request and cost
Send the clip URL, the factor and the real duration. Setting duration_seconds keeps the hold at the true length. If you leave it out, Sume reserves 5 seconds. Costs scale with the input seconds only, not with the factor, so factor 1.2 and factor 2 cost the same $0.108 for a 12-second clip.
That means you should pick the factor by the target, not by price. If the ad needs 1080 x 1920 for a sharper feed placement, use 2.25 from a 480-pixel source, and pay the same.
curl -X POST https://api.sume.com/v1/video-upscale-1.0/upscale \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{"video_url": "https://example.com/ad-07.mp4",
"upscale_factor": 1.2,
"duration_seconds": 12,
"mode": "async"}'Checks after the upscale
Probe the result before you upload it. Confirm the pixel width, the aspect ratio of 9:16 and the file size. A higher bitrate is not guaranteed by an upscale, so check the 516 kbps floor on the output file, and stay under the 500 MB limit on long clips.
Spark Ads use a different rule (the page lists .mp4 or .mov and no duration limit), so this floor applies to uploaded creative. For clips over 30 seconds, trim first and upscale in parts.
Where 480p clips come from
The cheapest Seedance 2.5 tier is 480p at $0.268677 per second, and WAN 3.0 480p is $0.0625 per second. For a 12-second ad that is $3.22 and $0.75. Both land under the TikTok width floor and both need the upscale. Add $0.108 for a 12-second upscale and the totals are $3.33 and $0.86, still far below a native 1080p Seedance 2.5 render at 12 x $1.42155 = $17.06.
As with any upscale, the extra pixels are interpolated and not newly filmed. Judge a sample on a phone first.
Sources
Related posts
More in Media tools
- TikTok 9:16 ad at 540x960: Timeline render plus captions is $0.30
TikTok lists 9:16 with a 540x960 minimum for non-Spark ads. A Sume Timeline render of up to 60 s ($0.10) plus a caption job ($0.20) is $0.30. Checks to run.
- A 17.3 s dance source on Genjutsu bills 18 s: $7.16 at 480p
A 17.3 s TikTok dance bills as 18 s on Genjutsu Motion Transfer: $7.16 at 480p, $15.33 at 720p. The arithmetic and a check before you pay for 720p.
- TikTok safe zone captions: anchor_ratio and safe_width_ratio on Sume
TikTok's ad page says safe zones vary by orientation and caption length and ships reference files. Sume's caption design fields move the line; ranges listed.
- TikTok trending search: 10 or 50 results, both $0.10
A Sume trending-videos search is $0.10 per accepted call whatever the limit. In production the limit runs 1 to 50 with a default of 10. Fields and a curl.
Written by Sume