CLI quickstart
Get started using PFC command-line tool
This guide walks you through correcting your first images using pfccmd. You'll learn basic usage, how to apply presets, and how to process multiple images at once.
Prerequisites
Before you begin, make that sure you have:
- The Perfectly Clear SDK package for your platform
- One or more test images in JPEG, PNG, or TIFF format
- For protected SDK builds, a valid
sdk_licensefolder
Basic usage
The simplest way to correct an image is to pass the filename directly to pfccmd.
This applies AI Scene Detection to automatically determine the best corrections for your image.
pfccmd input.jpgThis command creates a corrected file named input_perfectlyclear.jpg in the same directory as the input file.
The _perfectlyclear suffix is added automatically when no output path is specified.
Specify different output filename
To specify a different output filename, use the -o option:
pfccmd input.jpg -o output.jpgConvert different image formats
You can also convert between formats by specifying a different extension:
pfccmd input.png -o output.jpgApply preset
Presets are created and exported from Perfectly Clear Workbench, and can include either a single preset to apply to apply to all images, or multiple presets that enable AI Scene Detection with custom corrections for each scene type.
To apply a preset to an image:
pfccmd input.jpg -o output.jpg -p /path/to/custom.presetThe -p option accepts either a path to a .preset file or one of these keywords:
| Keyword | Description |
|---|---|
scene or auto | Enable AI Scene Detection with universal presets (default behavior) |
none | Apply no corrections (useful when resizing only) |
For example, to resize an image without applying any corrections:
pfccmd input.jpg -o output.jpg -p none -m long -v 1200This resizes the image to 1200 pixels on the long edge without applying color or exposure corrections.
Batch processing
To process multiple images at once, pass a directory path instead of a single file. The CLI processes all supported images found in that directory. This can be significantly faster than processing images one at a time.
pfccmd ./input -o ./outputThis command does the following:
- Scan the
./inputdirectory for supported image files. - Apply AI Scene Detection to each image.
- Save corrected images to the
./outputdirectory. - Name output files based on input filenames with
_perfectlyclearsuffix.
For example, if ./input contains photo1.jpg and photo2.png, the output directory will contain photo1_perfectlyclear.jpg and photo2_perfectlyclear.png.
All processing options (presets, resizing, etc.) can be used in batch mode as well.
Verify output
After processing, you can use the --json option to get detailed information about what was detected and applied. This is useful for debugging or logging:
pfccmd input.jpg -o output.jpg --jsonThis outputs a JSON report including:
- Detected scene type
- Face detection results (count, positions, confidence)
- Image dimensions
- Processing status
Here is an example JSON response:
{
"images": [
{
"ai-wb": "disabled",
"ai-wb-auto": "false",
"allFacesRect": {
"height": 0,
"left": 0,
"top": 0,
"width": 0
},
"exposure": 25,
"faces": [],
"facesCount": 0,
"format": 1,
"height": 853,
"input": "sample.jpg",
"message": "",
"noise": "unknown",
"output": "sample_perfectlyclear.jpg",
"red-eye": "disabled",
"scene": 51,
"skip": "none",
"status": "ok",
"tint-aggressive": "false",
"tint-coservative": "false",
"tint-default": "false",
"tint-strongest": "false",
"width": 1280
}
],
"message": "",
"status": "ok",
"warnings": []
}CLI Version 10.7.2.1269 built from 4fa849d8101945eea725a08dd0dae5101f090fa0 on 11-10-2025.
Copyright © 2026 EyeQ Imaging Inc. All rights reserved.