Skip to main content
HyperFrames Studio can color grade project-local <video> and <img> media directly in the preview. The same data-color-grading settings are used by the render pipeline, so the exported video should match the look you preview. This is a lightweight media color tool for generated videos, uploaded footage, social variants, and agent-authored compositions. It is not a DaVinci Resolve, Premiere, ACES, or OCIO finishing pipeline.

What Is New

Studio labels whites, blacks, and temperature as White Point, Black Point, and Warmth. Use the JSON keys shown in the data shape when authoring data-color-grading by hand or through an agent.

Support Matrix

How It Works

Color grading is stored on media elements as data-color-grading:
index.html
The runtime creates a sibling WebGL canvas for the media element, samples the current video or image frame, applies shader uniforms, then hides the native media only after a shader frame is ready.
Color Grading is intentionally media-only. It applies to <video> and <img> sources. Captions, text, divs, SVG, and UI graphics remain ungraded unless you render them into media first.
Project-local media is the safest path. Remote media must be served with compatible CORS headers and should use crossorigin="anonymous" when pixel processing is needed.

Data Shape

Omit enabled; the presence of data-color-grading implies that grading is active. All numeric controls are clamped by the runtime. The current color grading path is Rec.709/sRGB-oriented and assumes browser-decoded media frames.

Custom LUTs

HyperFrames supports project-local 3D .cube LUT files:
index.html
Use .cube LUTs when users already have a look from another editor or camera workflow.
  • HyperFrames currently supports 3D .cube LUTs for this path.
  • 3D cube LUTs up to LUT_3D_SIZE 64 are supported.
  • 1D .cube LUTs and mixed 1D+3D LUT files are not supported yet.
  • Supported headers include common DOMAIN_MIN / DOMAIN_MAX and DaVinci/IRIDAS-style LUT_3D_INPUT_RANGE.
  • LUTs are not universal. A LUT looks correct only when the source footage roughly matches the LUT’s expected input color space.
  • Rec.709 creative LUTs are the safest fit today.
  • LOG/camera conversion LUTs can be used, but HyperFrames does not yet manage camera color profiles for you.

Render Behavior

Color Grading is part of the media runtime, so render uses the same settings as Studio preview. During render, HyperFrames injects exact video frames and asks the color-grading runtime to redraw before capture. For 4K output, use the existing 4K Rendering workflow. Color Grading can run at 4K when the composition/render surface is 4K, but a 1080p source video does not become sharper just because the final render is 4K. For HDR output, use the existing HDR Rendering workflow. Color Grading currently warns on detected HDR media, but the grading controls themselves are not HDR-aware. When grading a video, animate opacity on a wrapper element instead of directly on the <video> element. The runtime hides the native media and draws the graded result through a sibling canvas, so wrapper opacity preserves preview/render parity.

What Belongs Where

Agent-Friendly Examples

For AI agents, keep the instruction declarative:
Expected markup:
index.html

Remove Background

Create transparent video/image cutouts for presenter and product overlays.

Rendering

Render transparent overlays and final MP4/WebM/MOV outputs.

HDR Rendering

Render HDR10 outputs when your project uses HDR video or image sources.

4K Rendering

Render at 4K and understand what supersampling does and does not improve.