Where you are: docs → reference → api → colorgrade Read this first: api.md See also: api/source.md — per-source corrector
TL;DR Nine endpoints manage color grading: enable/disable a LUT-based look, upload a custom LUT, manage looks, adjust the master corrector (lift/gamma/gain wheels + RGB curves), save the current corrector as a named look, and recall look settings.
Purpose: return the current color grade state.
Handler: control/api_colorgrade.go → (*API).handleColorGradeGet.
Response 200: internal.ColorGradeState.
Purpose: enable a named look at a given intensity, or disable color grading entirely.
Handler: (*API).handleColorGradeSet.
Request body: { "lookName": "vivid", "intensity": 0.8 } — to enable. { "enabled": false } — to disable. Intensity clamped to [0, 1].
Response 200: full ControlRoomState.
Errors: 400 (unknown look, invalid intensity).
Purpose: upload a custom .cube LUT file and register it as a named look.
Handler: (*API).handleColorGradeUpload.
Request: multipart/form-data with file field and name form field.
Errors: 400 (parse failure, duplicate name).
Purpose: delete a custom look.
Handler: (*API).handleColorGradeDelete.
Response 204.
Purpose: return the master corrector state.
Handler: (*API).handleCorrectorGet.
Response 200: colorgrade.CorrectorState.
Purpose: apply a corrector state to the program bus.
Handler: (*API).handleCorrectorSet.
Request body: colorgrade.CorrectorState.
Errors: 400 (validation failure).
Handler: (*API).handleCorrectorReset.
Purpose: save the current corrector state as a named user look.
Handler: (*API).handleSaveLook.
Request body: { "name": "my-look" }.
Purpose: return the saved corrector settings for a look (for UI preview / recall).
Handler: (*API).handleLookSettings.
Response 200: colorgrade.CorrectorState. Errors: 404.
- Reference: api.md · api/source.md · state-broadcast.md
- Subsystems: control-plane.md