Remix tile: 96 cells per call, and how to count yours

A remix media tile call is refused above 96 cells with remix_tile_too_many_cells. How each selector is counted, worked examples, and ways to split a request.

4 min readSume
All posts

A single remix media tile call may resolve to at most 96 cells. If your selectors add up to more, the request is refused at admission with remix_tile_too_many_cells, before any media job is accepted.

The count follows from the selector you chose: the length of at[], the sum over ranges[], the number of every steps in start/end, or the frames value. The rules below come from the Remix media docs and the request schema on origin/main, read 2026-10-11. The surface is flag-gated, so check the last section before you build on it.

How each selector is counted

tile takes exactly one selector family: at[], around, ranges[], or start/end. Sending two returns remix_tile_selector_conflict. Inside start/end you also choose every (seconds) or frames, not both.

  • at[]: one cell per listed time. The field itself allows 1 to 96 entries.
  • start/end with every: samples start at start and step by every, keeping only times below end. The count is the ceiling of (end - start) / every. The smallest allowed every is 0.04 s.
  • start/end with frames: evenly spaced midpoints, 2 to 96 of them.
  • start/end with neither: about 1.5 cells per second, never fewer than 4 and never more than 9.
  • ranges[]: up to 24 ranges. Each range has its own every or frames, and the cells of all ranges are added together before the 96 check.

Worked examples

The table applies those rules to a 300-second reference, the longest clip the probe verb accepts. Every count is the formula above, not a measurement of a real job.

Cells per request, computed from the Remix media docs and contract (read 2026-10-11)
RequestCellsResult
start 0, end 12, every 0.524Accepted
start 0, end 60, every 160Accepted
start 0, end 60, every 0.5120Refused: remix_tile_too_many_cells
start 0, end 300, every 3100Refused: remix_tile_too_many_cells
start 0, end 300, every 3.294Accepted
start 0, end 12, no every or frames9 (1.5 x 12 = 18, capped at 9)Accepted
start 0, end 2, no every or frames4 (1.5 x 2 = 3, raised to 4)Accepted
two ranges, frames 48 each96Accepted
three ranges, frames 40 each120Refused: remix_tile_too_many_cells

Three ways out of the refusal

The docs name the first two fixes: increase every, decrease frames, or split ranges[]. In practice the choice depends on what you are looking for.

  • Raise every when you need an overview. A 300-second ad at one cell every 3.2 seconds fits in one call with 94 cells.
  • Narrow the span when you need detail. Use boundaries first to find the cut candidates, then tile only the stretch around one candidate at a small every.
  • Make two calls when you need both. Each call is its own job with its own pages, and the 96 limit applies per call, not per understanding.

Frames that skip the count

every_frame: true asks for every native frame of one stretch instead of sampled times. The admission check counts it as zero cells, and the docs limit it to a stretch of at most 4 seconds. The contract also caps it at 120 frames, which is 4 seconds of 30 fps video. Use it to look at one cut or one product reveal, not for a survey.

Pages are a second limit. The contract allows at most 40 pages per call, and the agent host attaches the first 6 pages inline as images. The cell size runs from 80 to 1080 pixels with a default of 480, so a smaller cell packs more cells on a page.

Where this runs

The docs state that Sume lists the remix media routes and the sume_* tools only where SUME_COM_REMIX_MEDIA_ENABLED permits them: development has it on, and production is opt-in. A production key may therefore not see POST /v1/remix-media/tile yet.

For a reference clip you only need to read once, Reference ingest is the single-call alternative, and the post on finding the frame where a phrase is spoken shows the around selector, which resolves to a time range from the transcript.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume