AI-powered color grading assistant. Exports the current frame in sRGB, visually analyzes it, and makes CDL adjustments directly on the Color page nodes. Works regardless of project color space (HDR, P3, ACES, etc.) because the frame is converted to sRGB for analysis — the color space LLMs are trained on.
Look at the current frame, analyze the color, and make adjustments directly in the Resolve Color page node graph.
Multimodal LLMs (Claude, Gemini, GPT-4V) are trained on sRGB imagery. Even if the project is graded in DaVinci Wide Gamut, ACES, Rec.2020, or HDR PQ — the exported frame MUST be converted to sRGB before analysis. This gives the AI the most accurate color perception regardless of the working color space.
shadows warmer: specific instruction for what to adjustmore contrast: push contrastmatch [style]: aim for a specific look (e.g., "match teal and orange", "match film noir")just analyze: look at the frame and describe what you see, don't make changesundo: reset the last node to neutralUse resolve_switch_page("color") to ensure we're on the Color page with a clip selected.
Use resolve_export_frame to export the current frame to a temporary file:
/tmp/resolve_color_assist_frame.pngRun ffmpeg via Bash to convert the exported frame to sRGB:
ffmpeg -y -i /tmp/resolve_color_assist_frame.png \
-vf "colorspace=all=bt709:iall=bt2020:fast=1" \
-color_primaries bt709 -color_trc iec61966-2-1 -colorspace bt709 \
/tmp/resolve_color_assist_srgb.png 2>/dev/null
If that fails (project might already be in Rec.709/sRGB), fall back:
ffmpeg -y -i /tmp/resolve_color_assist_frame.png \
-pix_fmt rgb24 \
/tmp/resolve_color_assist_srgb.png 2>/dev/null
If ffmpeg is not available, use the exported frame as-is and note the limitation.
Use the Read tool on /tmp/resolve_color_assist_srgb.png — Claude is multimodal and can see images directly. This is the key step: YOU are looking at the actual frame from the timeline.
Use resolve_node_overview to see all nodes, their labels, LUTs, and enabled state.
Use resolve_get_cdl to read the current CDL values.
Use resolve_get_node_count to know how many nodes exist.
Look at the frame and assess:
Exposure:
White balance / Color temperature:
Contrast:
Saturation:
Color balance per range:
Overall look:
Based on the analysis, determine CDL adjustments. Map your visual assessment to CDL values:
CDL Primer:
Slope (gain/multiply) — affects the entire range, like a multiplier. Values >1 brighten, <1 darken. Per-channel (R,G,B) controls color balance.
Offset (lift/add) — adds to the signal, primarily affects shadows/blacks.
Power (gamma/midtones) — affects midtones without changing black/white points.
Saturation — overall saturation multiplier.
Strategy:
Use resolve_set_cdl with the calculated values.
After making adjustments:
/tmp/resolve_color_assist_after.pngIf the result doesn't look right, adjust further or offer to undo.
If the user says "undo" or the result is bad:
resolve_set_cdl to restore themresolve_reset_grades on the specific node if you added oneUser: /color-assist
→ Export frame, convert to sRGB, analyze, suggest and apply CDL corrections.
User: /color-assist shadows warmer
→ Same, but focus on warming the shadow tones (positive offset R, negative offset B).
User: /color-assist more contrast, desaturate slightly
→ Increase slope spread, adjust power, reduce saturation.
User: /color-assist just analyze
→ Export, convert, read frame, describe what you see — don't touch the grade.
User: /color-assist match teal and orange
→ Push shadows toward teal (offset B+, G+), highlights toward orange (slope R+).
User: /color-assist undo
→ Reset the last adjustment.