EyeQ Docs

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_license folder

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.jpg

This 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.jpg

Convert different image formats

You can also convert between formats by specifying a different extension:

pfccmd input.png -o output.jpg

Apply 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.preset

The -p option accepts either a path to a .preset file or one of these keywords:

KeywordDescription
scene or autoEnable AI Scene Detection with universal presets (default behavior)
noneApply 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 1200

This 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 ./output

This command does the following:

  1. Scan the ./input directory for supported image files.
  2. Apply AI Scene Detection to each image.
  3. Save corrected images to the ./output directory.
  4. Name output files based on input filenames with _perfectlyclear suffix.

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 --json

This 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.

On this page