<video> and <img>
media in Studio or through an agent with the same validated SDR/Rec.709 shader
contract in preview and render.
Choose the Right Tool
All pixel-level stages are stored together on the selected media element. An
overlay is different: it is an ordinary editable composition layer whose final
paint order follows its authored track and CSS
z-index.
Quick Start
- Studio
- Agent / CLI
Select a real
<img> or <video> element to open Color Grading in the
Design panel.1
Correct the source
Open Scopes, then adjust exposure, tonal balance, white balance, and
saturation before applying a stronger look.
2
Shape the grade
Use tonal wheels, curves, or an HSL Color Selection only where the
source needs more precise control.
3
Choose a look and verify
Preview a preset or load a 3D
.cube LUT, compare with the source, and
scrub representative frames before rendering.Professional Controls
Color Wheels
The three wheels target broad tonal zones:- Shadows shapes dark regions.
- Midtones shapes most faces, products, and general scene color.
- Highlights shapes bright regions and specular areas.
RGB Curves
- Master remaps overall luminance.
- Red, Green, and Blue remap individual channels.
[input, output] pairs. Resolved curves contain
input endpoints 0 and 1; HyperFrames infers missing endpoints, and the
2–16-point limit includes those inferred points. An S-curve increases contrast;
lifting the lower-left region raises shadows; channel curves can build
split-tone or cast-removal adjustments.
Hue Curves
- Hue vs Hue moves a selected hue toward another hue.
- Hue vs Saturation changes saturation around a selected hue.
- Hue vs Luma changes brightness around a selected hue.
[hueDegrees, delta] pairs and wrap around the color
wheel. An authored hue curve requires 3–16 unique hue inputs from 0 up to,
but not including, 360.
HSL Color Selections
A color selection qualifies pixels by hue, saturation, and luma, then applies a correction only inside that matte. This is useful for restrained tasks such as reducing an overly saturated shirt, cooling a background color, or protecting skin from a broad creative grade. HyperFrames supports up to four ordered selections. These are static media-level qualifiers: they do not include object tracking, rotoscoping, facial recognition, or spatial masks.Scopes
Studio scopes analyze a captured selected-media frame with the current
treatment applied. They refresh as the grade changes, but are inspection tools
and do not modify the grade.
Presets
HyperFrames ships tested shader-setting presets, not bundled LUT files:
Use these as starting points and tune them for the actual source. Presets that
also activate a stylized shader treatment are documented under
Media Effects.
Agent Guidance
Agents should use the CLI as the normal authoring surface. Thedata-color-grading attribute is the persistence contract, not the first thing
an agent needs to memorize.
Users do not need to name a technical control. Requests such as “this
interview feels too dark and cold” or “polish the footage without making it
look filtered” route through the media-use skill, which inspects the source,
discovers the relevant contract, applies a deterministic payload, and verifies
the result.
Start with the concise capability overview, then query only the contract needed
for the current intent:
Terminal
wheels, hue-curves, secondary, scopes, or lut
return exact controls, bounds, and examples. Start from source analysis or a
tested preset, then add small, explainable adjustments. Avoid inventing many
unrelated curve and secondary values: they are difficult to review and easy to
overcook.
Low-Level HTML Contract
The CLI and Studio persist the resolved grade indata-color-grading:
index.html
Terminal
--all only for exhaustive tooling or contract inspection.
Custom LUTs
HyperFrames supports project-local 3D.cube LUTs:
data-color-grading
- 3D
.cubeLUTs up toLUT_3D_SIZE 64are supported. - 1D and mixed 1D+3D
.cubefiles are not supported. - Common
DOMAIN_MIN,DOMAIN_MAX, and DaVinci/IRIDAS-styleLUT_3D_INPUT_RANGEheaders are supported. - HyperFrames does not bundle third-party LUT packs.
- A LUT is only correct when its expected input color space matches the source.
- Rec.709 creative LUTs are the safest current workflow.
- Camera LOG conversion LUTs can be loaded, but HyperFrames does not identify camera profiles or apply ACES/OCIO input transforms automatically.
.cube body into an agent prompt. LUT files commonly contain
tens of thousands of numeric rows. Keep the file local and use metadata,
validation, and rendered comparisons to evaluate it.
Support Matrix
Render and Performance
The runtime creates a sibling WebGL canvas, uploads the current image/video frame as a texture, applies the same grading contract used by Studio, and hides the native source after a shader frame is ready. During final rendering, HyperFrames injects exact video frames and waits for the grading runtime to redraw before capture. That render-parity statement applies to SDR output. In the native HDR render path, HyperFrames keeps HDR source pixels out of the SDR DOM capture and composites them separately at higher bit depth. The current SDR grading canvas is therefore not applied to native HDR layers. Convert or tone-map the source to SDR first when these grading controls must appear in the result, or use HDR Rendering to preserve the untreated HDR source. For 4K output, follow 4K Rendering. A 1080p source does not gain new detail merely because the composition is rendered at 4K. When animating a graded media layer’s opacity, animate a wrapper rather than the<video> itself. The visible pixels are drawn by the sibling grading canvas,
so wrapper opacity keeps the media and canvas together.
Project-local media is the safest path. Remote media must provide compatible
CORS headers and should use crossorigin="anonymous" when pixel access is
required.
Next Steps
Media Effects
Apply and animate shader-based optical, retro, print, and art treatments.
Media Overlays
Add editable HUD, flash, light-leak, and freeze-frame composition layers.
HDR Rendering
Render HDR10 outputs and understand the boundary with SDR grading.
4K Rendering
Render at 4K and understand source-versus-output resolution.