X video max 1280x1024, ratio 1:3 to 3:1, 60 fps: conform a clip
X video must be 32x32 to 1280x1024, 60 fps or less, ratio 1:3 to 3:1. Read literally, a default 1080x1920 Timeline file is over; conform with video-trim.

X's advanced video limits are dimensions between 32x32 and 1280x1024, a frame rate of 60 FPS or less, an aspect ratio between 1:3 and 3:1, and a 1:1 pixel aspect ratio. A Sume Timeline render defaults to 1080x1920, which is under 1280 wide but over 1024 tall if the limit is read literally as width by height. X's own recommended portrait size, 720x1280, is also taller than 1024, so the page is unclear for portrait; conforming with video-trim's output object is the safe route.
X limits are from its best-practices page, read 2026-10-01. Sume facts are from Video trim and Timeline 1.0.
Does a default Timeline file fit?
Not on a literal reading of height. The docs say the default Timeline output is 1080x1920 MP4. Its ratio is 9:16, inside 1:3 to 3:1, and the width is under 1280, but 1920 is above the 1024 ceiling as written. X also recommends 720x1280 for portrait, which has the same issue, so test a post if you want to keep a taller frame.
| Check | X limit | Default Timeline file | Passes |
|---|---|---|---|
| Width | 1280 max | 1080 | Yes |
| Height | 1024 max | 1920 | No |
| Aspect ratio | 1:3 to 3:1 | 9:16 | Yes |
How do I conform the frame?
Video-trim's optional output object takes width, height and fps. Width and height run 256 to 2160, fps is 24, 25, 30 or 60, and omitting a field inherits the source. The conform works only with precision: "exact"; combined with keyframe it is refused with video_trim_output_requires_exact. A 9:16 clip at 576x1024 stays inside the ceiling, and 60 fps is the top of what X accepts.
curl -X POST https://api.sume.com/v1/video-trim \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: x-conform-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/clip.mp4",
"start": 0,
"duration": 20,
"precision": "exact",
"output": { "width": 576, "height": 1024, "fps": 30 }
}'What does the docs not promise?
Whether the result keeps the exact ratio of the source depends on the width and height you send; pick a pair with the same ratio to avoid distortion. Sume also states no check against X's pixel aspect ratio rule. See trim and conform in one call and X video upload specs.
Sources
Related posts
More in Developers
- YouTube 48fps upload: keep the frame rate, conform to 24/25/30/60
YouTube accepts 48 and 50 fps and says to upload at the recorded rate. Sume's trim and Timeline output.fps conform only to 24, 25, 30 or 60.
- Deinterlace before YouTube upload: Sume has no deinterlace filter
YouTube says deinterlace 1080i60 to 1080p30 before upload. Sume's video-filter allowlist names no deinterlacer and refuses unknown filters.
- YouTube moov atom and edit lists: keyframe trim vs exact trim
YouTube asks for MP4 with moov first and no edit lists. Sume's keyframe trim is a stream copy; exact re-encodes. The docs do not state moov placement.
- YouTube Opus and Eclipsa Audio uploads vs Sume's WAV and MP3
YouTube now lists Opus and Eclipsa Audio beside AAC-LC for uploads. Sume audio outputs are wav (pcm_s16le) and mp3 only; neither is Opus or Eclipsa.
Written by Sume