DevelopPresetSettingsUpdateDto
| Field | Required | Description |
|---|---|---|
blacks | No | Black point |
brilliance | No | opens the shadows and holds back the highlights (positive), or the reverse (negative), with a slight colour lift; see the develop recipe protocol |
clarity | No | Local contrast in the midtones |
contrast | No | Contrast around middle grey |
dehaze | No | Haze removal (positive) or addition (negative) |
exposure | No | Exposure in EV; each whole stop doubles the light |
grain | No | Film grain amount |
highlights | No | Highlight recovery (negative) or lift (positive) |
masks | No | Radial and linear selective adjustments, applied in order after the global develop |
native | No | See definition below |
noiseReduction | No | Luminance noise reduction amount |
preset | No | See definition below |
presetStrength | No | How much of the preset is applied, as a percentage |
saturation | No | Global saturation |
shadows | No | Shadow lift (positive) or deepening (negative) |
sharpen | No | Detail sharpening amount |
temperature | No | Warm (positive) or cool (negative) white balance shift |
tint | No | Magenta (positive) or green (negative) tint |
vibrance | No | Saturation weighted towards muted colours |
vignette | No | Darkened (positive) or lightened (negative) edges |
whites | No | White point |
Complete definition
required lists fields that must be present. nullable allows a null value; it does not make the field optional. Response enums retain exact wire values for compatibility.
Field definitions: DevelopPresetMask, DarktableDevelopRecipe, AssetDevelopPreset
{
"properties": {
"blacks": {
"description": "Black point",
"format": "double",
"maximum": 100,
"minimum": -100,
"type": "number"
},
"brilliance": {
"description": "opens the shadows and holds back the highlights (positive), or the reverse (negative), with a slight colour lift; see the develop recipe protocol",
"format": "double",
"maximum": 100,
"minimum": -100,
"type": "number"
},
"clarity": {
"description": "Local contrast in the midtones",
"format": "double",
"maximum": 100,
"minimum": -100,
"type": "number"
},
"contrast": {
"description": "Contrast around middle grey",
"format": "double",
"maximum": 100,
"minimum": -100,
"type": "number"
},
"dehaze": {
"description": "Haze removal (positive) or addition (negative)",
"format": "double",
"maximum": 100,
"minimum": -100,
"type": "number"
},
"exposure": {
"description": "Exposure in EV; each whole stop doubles the light",
"format": "double",
"maximum": 2,
"minimum": -2,
"type": "number"
},
"grain": {
"description": "Film grain amount",
"format": "double",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"highlights": {
"description": "Highlight recovery (negative) or lift (positive)",
"format": "double",
"maximum": 100,
"minimum": -100,
"type": "number"
},
"masks": {
"description": "Radial and linear selective adjustments, applied in order after the global develop",
"items": {
"$ref": "#/components/schemas/DevelopPresetMask"
},
"maxItems": 8,
"type": "array"
},
"native": {
"$ref": "#/components/schemas/DarktableDevelopRecipe"
},
"noiseReduction": {
"description": "Luminance noise reduction amount",
"format": "double",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"preset": {
"$ref": "#/components/schemas/AssetDevelopPreset"
},
"presetStrength": {
"description": "How much of the preset is applied, as a percentage",
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"saturation": {
"description": "Global saturation",
"format": "double",
"maximum": 100,
"minimum": -100,
"type": "number"
},
"shadows": {
"description": "Shadow lift (positive) or deepening (negative)",
"format": "double",
"maximum": 100,
"minimum": -100,
"type": "number"
},
"sharpen": {
"description": "Detail sharpening amount",
"format": "double",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"temperature": {
"description": "Warm (positive) or cool (negative) white balance shift",
"format": "double",
"maximum": 100,
"minimum": -100,
"type": "number"
},
"tint": {
"description": "Magenta (positive) or green (negative) tint",
"format": "double",
"maximum": 100,
"minimum": -100,
"type": "number"
},
"vibrance": {
"description": "Saturation weighted towards muted colours",
"format": "double",
"maximum": 100,
"minimum": -100,
"type": "number"
},
"vignette": {
"description": "Darkened (positive) or lightened (negative) edges",
"format": "double",
"maximum": 100,
"minimum": -100,
"type": "number"
},
"whites": {
"description": "White point",
"format": "double",
"maximum": 100,
"minimum": -100,
"type": "number"
}
},
"type": "object"
}© 2026 Frameleaf Inc. All rights reserved.
Frameleaf and the Frameleaf logo are Trademarks of Frameleaf Inc.