ScenarioExplorations One Loop, Twelve Grades

Code-only color grading

One loop, twelve grades.

Same eight seconds.
Twelve moods.

Every look is a short recipe of color math, baked into a . Pick a grade, hold O for the flat source, or compare them side by side.

The recipe

Sunset Glow

    Same footage

    Only the color moves.

    The loop was made once and never regenerated. Because it is a seamless of 191 frames, every grade above plays on the same moment, and switching only changes the color.

    Color, not position

    A LUT has no idea where things are.

    It turns one color into another everywhere in the frame. So vignette, grain and are added after it, and "only the jacket" needs an .

    Match a picture

    Or let a still set the grade.

    Golden Hour has no typed settings. The code measures a golden-hour still and moves the clip onto it with a , still a fixed color function, still one LUT.

    Made with Claude Code and the Scenario MCP. The twelve grades are code (numpy, ffmpeg, 33³ LUTs); the two object masks come from SAM 3.1 Video. Reel music, film voice and music bed: made with Scenario. Want a look without writing code? Scenario's 3D Color LUT applies ready-made presets, from film emulations to log-to-Rec.709 conversions, to any video.

    The showreel

    Twelve grades in 51 seconds.

    A menu panel types each look's name and settings, then the new grade wipes across the moving loop. It ends on a wall of all twelve. Music made with ElevenLabs Music v2.5 on Scenario.

    One loop, twelve recipes.

    Claude Code wrote every grade as plain color math, tuned it on stills, baked it into LUTs and rendered it with ffmpeg. Scenario was used where code could not see: object masks with SAM 3.1 Video, and the reel's music.

    1. 1

      Start from a flat loop

      One seamless loop of 191 frames at 24 fps, kept plain on purpose: low contrast, muted color, a neutral balance. Every grade plays on the same timeline, so only the color changes.

      With The ungraded Rec.709 master, ProRes 422 HQ

    2. 2

      Write each look as a recipe

      A look is a short list of operations in looks.json: white balance, ASC CDL, contrast, saturation, split tone, hue shifts, levels, mono, duotone and highlight roll-off. Every number stays editable.

      With Claude Code · Python, numpy

    3. 3

      Judge it on a still first

      Each recipe is previewed on one frame, all of them in a labelled grid. A still takes seconds and a video render takes minutes, so the taste is settled on stills.

      With still_test.py · a grid per round

    4. 4

      Bake it into a LUT

      Each recipe becomes a 33 × 33 × 33 .cube file, and ffmpeg applies it with tetrahedral interpolation. Vignette, grain and halation are added after the LUT, because they depend on position.

      With grade.py · ffmpeg lut3d

    5. 5

      Match a reference

      Golden Hour measures the clip and a golden-hour still of the same scene in CIE Lab, and moves one onto the other (Reinhard transfer). It is a fixed per-color function, so it bakes into a LUT too.

      With match.py

    6. 6

      Mask what color cannot separate

      For black and white with one color, SAM 3.1 Video tracked the jacket and the pump. The pump mask is narrowed to its red paint, and a guided filter snaps every edge to the image, so the color stops exactly at the leather.

      With SAM 3.1 Video on Scenario · selective_masked.py

    7. 7

      Cut the showreel

      A menu panel types each look's name and settings, and the grade wipes across the moving loop. The reel ends on a 3D wall of all twelve, with the music cut so a downbeat lands on the finale.

      With showreel.py · kinetic engine · ElevenLabs Music v2.5 on Scenario

    8. 8

      Turn it into a skill

      The pipeline became scenario-video-color-grade: render, inspect, match and showreel scripts, plus a library of 20 tuned looks, four of them relight presets.

      With Claude Code · the skill below

    What did not work

    • A hue key could not turn the teal car red: most of its paint mirrors the warm sky. A LUT changes color, never position.
    • A sky-only regrade with a per-frame sky mask leaked around the columns and the hair, so it was dropped.
    • The first black and white with one color used a color key alone. Red showed on skin and in the background, so it was redone with object masks.

    Tip

    Settle every look on a still before rendering video. Seconds per round, not minutes.

    Credits

    112 CU

    3 finished Scenario calls: two SAM 3.1 Video masks (52 CU) and the reel's music, ElevenLabs Music v2.5 (60 CU). The twelve grades are code: 0 CU.

    Agent skill · ZIP

    scenario-video-color-grade

    Download the skill

    PDF · Illustrated

    The making-of

    Read the making-of

    Scenario

    Make yours

    Start creating