X video pixel aspect ratio 1:1: fix it with setsar and scale

X's advanced video spec needs 1:1 pixels and sizes from 32x32 to 1280x1024. Sume's video filter allows setsar, scale and format; check the graph free first.

4 min readSume
All posts

X's advanced video requirements set several limits at once: pixel aspect ratio 1:1, only YUV 4:2:0, dimensions from 32x32 to 1280x1024, aspect ratio between 1:3 and 3:1, and 60 FPS or less. Sume's POST /v1/video-filter allowlist includes a filter for each of the first four and for frame rate: setsar, format, scale and pad, and fps.

X facts are from its media best-practices page and Sume facts from the Video filter docs and filter allowlist, read 2026-10-01. Allowed means accepted by the validator; confirm the encoded result with your own probe before upload.

Which X rule maps to which allowlisted filter?

X advanced video requirements against the Sume filter allowlist, read 2026-10-01.
X requirementAllowlisted Sume filter that can address it
Pixel aspect ratio 1:1setsar
Only YUV 4:2:0format
32x32 to 1280x1024scale, crop, pad
Aspect ratio 1:3 to 3:1crop, pad
60 FPS or lessfps

What does one request look like?

Options go inside each filter token with no spaces; the server wraps the graph and supplies the input. Run the free check route before an encode.

const res = await fetch("https://api.sume.com/v1/video-filter/check", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + process.env.SUME_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    video_url: "https://media.sume.com/artifacts/artf_demo/talk.mp4",
    filtergraph: "fps=30,scale=1280:720,setsar=1",
  }),
});
console.log(await res.json());

What are the limits on the Sume side?

The graph is at most 2048 characters and 32 named filters, with no stream specifiers. The source must be a media.sume.com clip of 300 seconds or less, and the encode needs an Idempotency-Key. The check returns diagnostics instead of a 400, creates no job and reserves no credits. The result is a new MP4; the source is untouched.

Is this the same fix as for Vimeo?

The pixel part is the same: setsar. X adds size, pixel format and frame-rate caps in the same list, so a graph usually chains several filters. The Vimeo post covers the pixel shape alone.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume