Photo Tone Curves & Profile Processor
Apply levels, RGB curves and white balance, or reuse a Lumina photo profile.
Try an example: Gentle contrast curve
How it works
Develop a photo with black and white points, gamma, five-point master and RGB curves, and linear-light white-balance gains. Download a transparent PNG and reusable settings profile, or paste a profile saved from Lumina.
- Auto-oriented, display-referred 8-bit sRGB analysis. Fully transparent pixels are excluded; other pixels count equally.
- Luma is rounded 0.2126 R + 0.7152 G + 0.0722 B. Clipping counts any channel at or below 2, or at or above 253. This does not measure sensor exposure or recover clipped RAW data.
- A supplied Lumina profile overrides all manual fields. Otherwise apply linear-light RGB gains, existing Develop exposure/contrast/saturation, encoded-sRGB levels and gamma, master curve, then channel curves. Five fixed inputs are interpolated with straight segments; outputs may be non-monotonic.
- Gamma uses normalizedInput^(1/gamma). PNG retains the source alpha and omits source metadata. Profiles contain only adjustments and tone settings; camera PP3, RAW and ICC profiles are not supported.
Sources
- RawTherapee: photo development workflow inspiration (RawTherapee)
- RawPedia: exposure, levels and tone curves (RawTherapee)
For scripts and AI agents
- JSON API:
POST https://luminatoneprocessor.usefulweb.site/api/v1/calculate(same calculation as this page) - Interface description: OpenAPI 3.1 · AI guide: llms.txt
- MCP server (Streamable HTTP):
https://luminatoneprocessor.usefulweb.site/mcp· tool namelumina_tone_processor
Example request
curl -s -X POST https://luminatoneprocessor.usefulweb.site/api/v1/calculate \
-H 'content-type: application/json' \
-d '{"image":{"filename":"sample.png","contentType":"image/png","contentBase64":"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAABlBMVEX/////AADrWueTAAAAEklEQVQI12NgIBb8/09dgjgAAPcnH+GApkH4AAAAAElFTkSuQmCC"},"master":"0,50,128,206,255"}'