Preset Format Reference
This page documents every field available in an AgX preset TOML file, organized by on-disk table.
metadata
Preset metadata, including name, version, author, and optional inheritance.
| Field | Range / Values | Default | Note |
|---|---|---|---|
metadata.name | string | "" | Human-readable preset name. |
metadata.version | string | "" | Semantic version string for the preset. |
metadata.author | string | "" | Preset author name. |
metadata.extends | string or null | null | Optional relative path to a base preset TOML file to merge before this preset. |
tone
Controls exposure, contrast, highlights, shadows, whites, and blacks.
| Field | Range / Values | Default | Note |
|---|---|---|---|
tone.exposure | -5 to 5 | 0 | Exposure in stops, range -5.0 to +5.0. |
tone.contrast | -100 to 100 | 0 | Contrast, range -100 to +100. |
tone.highlights | -100 to 100 | 0 | Highlights, range -100 to +100. |
tone.shadows | -100 to 100 | 0 | Shadows, range -100 to +100. |
tone.whites | -100 to 100 | 0 | Whites, range -100 to +100. |
tone.blacks | -100 to 100 | 0 | Blacks, range -100 to +100. |
white_balance
Controls temperature and tint shifts applied before tonal adjustments.
| Field | Range / Values | Default | Note |
|---|---|---|---|
white_balance.temperature | number (no validated range) | 0 | White balance temperature shift (range: -100 to +100, default: 0). |
white_balance.tint | number (no validated range) | 0 | White balance tint shift, green/magenta (range: -100 to +100, default: 0). |
lut
Optional 3D LUT reference loaded from a .cube file.
| Field | Range / Values | Default | Note |
|---|---|---|---|
lut.path | string or null | null | Optional relative path to a .cube LUT file, resolved from the preset TOML file. |
hsl
Adjusts hue, saturation, and luminance for each HSL color channel.
| Field | Range / Values | Default | Note |
|---|---|---|---|
hsl.red.hue | -180 to 180 | 0 | Hue shift in degrees (range: -180 to +180, default: 0). |
hsl.red.saturation | -100 to 100 | 0 | Saturation adjustment (range: -100 to +100, default: 0). |
hsl.red.luminance | -100 to 100 | 0 | Luminance adjustment (range: -100 to +100, default: 0). |
hsl.orange.hue | -180 to 180 | 0 | Hue shift in degrees (range: -180 to +180, default: 0). |
hsl.orange.saturation | -100 to 100 | 0 | Saturation adjustment (range: -100 to +100, default: 0). |
hsl.orange.luminance | -100 to 100 | 0 | Luminance adjustment (range: -100 to +100, default: 0). |
hsl.yellow.hue | -180 to 180 | 0 | Hue shift in degrees (range: -180 to +180, default: 0). |
hsl.yellow.saturation | -100 to 100 | 0 | Saturation adjustment (range: -100 to +100, default: 0). |
hsl.yellow.luminance | -100 to 100 | 0 | Luminance adjustment (range: -100 to +100, default: 0). |
hsl.green.hue | -180 to 180 | 0 | Hue shift in degrees (range: -180 to +180, default: 0). |
hsl.green.saturation | -100 to 100 | 0 | Saturation adjustment (range: -100 to +100, default: 0). |
hsl.green.luminance | -100 to 100 | 0 | Luminance adjustment (range: -100 to +100, default: 0). |
hsl.aqua.hue | -180 to 180 | 0 | Hue shift in degrees (range: -180 to +180, default: 0). |
hsl.aqua.saturation | -100 to 100 | 0 | Saturation adjustment (range: -100 to +100, default: 0). |
hsl.aqua.luminance | -100 to 100 | 0 | Luminance adjustment (range: -100 to +100, default: 0). |
hsl.blue.hue | -180 to 180 | 0 | Hue shift in degrees (range: -180 to +180, default: 0). |
hsl.blue.saturation | -100 to 100 | 0 | Saturation adjustment (range: -100 to +100, default: 0). |
hsl.blue.luminance | -100 to 100 | 0 | Luminance adjustment (range: -100 to +100, default: 0). |
hsl.purple.hue | -180 to 180 | 0 | Hue shift in degrees (range: -180 to +180, default: 0). |
hsl.purple.saturation | -100 to 100 | 0 | Saturation adjustment (range: -100 to +100, default: 0). |
hsl.purple.luminance | -100 to 100 | 0 | Luminance adjustment (range: -100 to +100, default: 0). |
hsl.magenta.hue | -180 to 180 | 0 | Hue shift in degrees (range: -180 to +180, default: 0). |
hsl.magenta.saturation | -100 to 100 | 0 | Saturation adjustment (range: -100 to +100, default: 0). |
hsl.magenta.luminance | -100 to 100 | 0 | Luminance adjustment (range: -100 to +100, default: 0). |
vignette
Controls creative edge darkening or brightening.
| Field | Range / Values | Default | Note |
|---|---|---|---|
vignette.amount | -100 to 100 | 0 | Vignette darkening (negative) or brightening (positive) amount (range: -100 to +100, default: 0). |
vignette.shape | elliptical, circular | elliptical | Vignette falloff geometry. |
color_grading
Controls shadows, midtones, highlights, and global color wheels.
| Field | Range / Values | Default | Note |
|---|---|---|---|
color_grading.shadows.hue | 0 to 360 | 0 | Hue angle in degrees (0–360). |
color_grading.shadows.saturation | 0 to 100 | 0 | Saturation amount (0–100, default: 0). |
color_grading.shadows.luminance | -100 to 100 | 0 | Luminance shift (range: -100 to +100, default: 0). |
color_grading.midtones.hue | 0 to 360 | 0 | Hue angle in degrees (0–360). |
color_grading.midtones.saturation | 0 to 100 | 0 | Saturation amount (0–100, default: 0). |
color_grading.midtones.luminance | -100 to 100 | 0 | Luminance shift (range: -100 to +100, default: 0). |
color_grading.highlights.hue | 0 to 360 | 0 | Hue angle in degrees (0–360). |
color_grading.highlights.saturation | 0 to 100 | 0 | Saturation amount (0–100, default: 0). |
color_grading.highlights.luminance | -100 to 100 | 0 | Luminance shift (range: -100 to +100, default: 0). |
color_grading.global.hue | 0 to 360 | 0 | Hue angle in degrees (0–360). |
color_grading.global.saturation | 0 to 100 | 0 | Saturation amount (0–100, default: 0). |
color_grading.global.luminance | -100 to 100 | 0 | Luminance shift (range: -100 to +100, default: 0). |
color_grading.balance | -100 to 100 | 0 | Shadow/highlight balance point (range: -100 to +100, default: 0). |
tone_curve
Controls five independent tone curves for RGB, luma, and per-channel adjustments.
| Field | Range / Values | Default | Note |
|---|---|---|---|
tone_curve.rgb.points | array of [x, y] points, each 0 to 1 | [(0, 0), (1, 1)] | Control points as (input, output) pairs in [0.0, 1.0], sorted by input. |
tone_curve.luma.points | array of [x, y] points, each 0 to 1 | [(0, 0), (1, 1)] | Control points as (input, output) pairs in [0.0, 1.0], sorted by input. |
tone_curve.red.points | array of [x, y] points, each 0 to 1 | [(0, 0), (1, 1)] | Control points as (input, output) pairs in [0.0, 1.0], sorted by input. |
tone_curve.green.points | array of [x, y] points, each 0 to 1 | [(0, 0), (1, 1)] | Control points as (input, output) pairs in [0.0, 1.0], sorted by input. |
tone_curve.blue.points | array of [x, y] points, each 0 to 1 | [(0, 0), (1, 1)] | Control points as (input, output) pairs in [0.0, 1.0], sorted by input. |
detail
Controls sharpening, clarity, and texture adjustments.
| Field | Range / Values | Default | Note |
|---|---|---|---|
detail.sharpening.amount | 0 to 100 | 0 | Sharpening intensity, 0–100. |
detail.sharpening.radius | 0.5 to 3 | 1 | Gaussian blur radius in pixels. |
detail.sharpening.threshold | 0 to 100 | 25 | Minimum luminance delta (0–255 scale) below which sharpening is suppressed. |
detail.sharpening.masking | 0 to 100 | 0 | Edge-aware masking strength, 0–100. |
detail.clarity | -100 to 100 | 0 | Mid-frequency local contrast, -100 to +100. |
detail.texture | -100 to 100 | 0 | Fine-frequency detail, -100 to +100. |
dehaze
Controls atmospheric haze removal or addition.
| Field | Range / Values | Default | Note |
|---|---|---|---|
dehaze.amount | -100 to 100 | 0 | Dehaze strength from -100 (add fog) to +100 (remove haze). |
noise_reduction
Controls luminance and chroma noise reduction.
| Field | Range / Values | Default | Note |
|---|---|---|---|
noise_reduction.luminance | 0 to 100 | 0 | Luminance denoising strength, 0–100. |
noise_reduction.color | 0 to 100 | 0 | Chroma denoising strength, 0–100. |
noise_reduction.detail | 0 to 100 | 0 | Finest-scale detail preservation, 0–100. |
grain
Controls film grain simulation.
| Field | Range / Values | Default | Note |
|---|---|---|---|
grain.type | fine, silver, harsh | silver | Grain type controlling the internal character of the noise. |
grain.amount | 0 to 100 | 0 | Grain intensity, 0–100. |
grain.size | 0 to 100 | 50 | Grain particle size, 0 (fine) to 100 (coarse). |
grain.seed | integer or null | null | Optional fixed seed for deterministic grain. |
See Grain for details.