Burn a rule-of-thirds grid onto a video for review with drawgrid

Sume's video filter allowlists drawgrid. Set width and height to iw/3 and ih/3 for a thirds grid. The grid is burned in, so it is a proof file.

4 min readSume
All posts

For a framing review, drawgrid draws a grid over the whole clip. It is in Video filter under Compositing, and width and height take expressions, so iw/3 and ih/3 give a rule-of-thirds grid at any resolution. The grid is burned into the new MP4, so treat the result as a review proof and keep the clean original for delivery.

Which drawgrid options draw the grid?

Options of drawgrid as listed in the FFmpeg filter documentation, read 2026-10-01.
OptionWhat it does
width / w, height / hGrid cell size; defaults to 0. Use iw/3 and ih/3 for thirds.
color / cLine color, default black. white@0.5 sets half opacity.
thickness / tLine width, default 1.
x, yOffset of the grid from the top-left, default 0.

How do I get a visible, not-too-loud grid?

Use white lines at half opacity with a thickness of 2 so they show on dark and light footage. Because the grid cell is the frame width over three, lines fall at one third and two thirds across, plus one on the frame edge at offset 0. Run the free check, then encode.

curl -X POST https://api.sume.com/v1/video-filter/check \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/framing.mp4",
    "filtergraph": "drawgrid=w=iw/3:h=ih/3:t=2:c=white@0.5"
  }'

Can I mark one subject instead of the whole frame?

Use drawbox for a single rectangle; see draw a box on a video frame. The two filters combine in one graph, so a grid and a highlighted target can ship in the same proof.

What about a safe-zone overlay for Reels or Shorts?

A thirds grid is a composition aid, not a platform safe-zone guide. For safe margins, a drawbox at the fractions you need works, but check the platform's own spec for the numbers; Sume's docs do not publish per-platform safe areas.

What does a filter job cost and where are the limits?

The docs list $0.02 per encode job, with a source of at most 300 seconds, a filtergraph of at most 2048 characters and 32 named filters. The /v1/video-filter/check route runs the same allowlist and source checks for free and returns valid and next_action; a graph that passes can still fail on the worker (bad expression, memory, time), which comes back as a structured job error.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume