Skip to content

Smart Crop

Smart subject-aware, face-aware, or trim-based cropping. Uses Sharp's attention/entropy strategies and AI face detection for intelligent framing.

API Endpoint

POST /api/v1/tools/smart-crop

Processing: Synchronous (uses createToolRoute factory, returns result directly)

Model bundle: face-detection (200-300 MB) -- required only for face mode

Parameters

ParameterTypeRequiredDefaultDescription
filefileYes-Image file (multipart)
modestringNo"subject"Crop mode: subject, face, trim. (Legacy values attention and content map to subject and trim)
strategystringNo"attention"Strategy for subject mode: attention or entropy
widthintegerNo-Target width in pixels
heightintegerNo-Target height in pixels
paddingintegerNo0Padding percentage around subject (0-50)
facePresetstringNo"head-shoulders"Face framing preset: closeup, head-shoulders, upper-body, half-body
sensitivitynumberNo0.5Face detection sensitivity (0-1)
thresholdintegerNo30Trim mode threshold for background detection (0-255)
padToSquarebooleanNofalsePad trimmed result to a square
padColorstringNo"#ffffff"Background color for padding
targetSizeintegerNo-Target size for padded output (pixels)
qualityintegerNo-Output quality (1-100)

Example Request

bash
curl -X POST http://localhost:13490/api/v1/tools/smart-crop \
  -F "[email protected]" \
  -F 'settings={"mode":"face","width":1080,"height":1080,"facePreset":"head-shoulders"}'

Response (200 OK)

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/{jobId}/portrait_smartcrop.jpg",
  "originalSize": 500000,
  "processedSize": 320000
}

Modes

Subject Mode

Uses Sharp's attention or entropy strategy to find the most visually interesting region and crops around it.

Face Mode

Detects faces using AI, then frames the crop around detected faces using the specified facePreset. Falls back to subject mode (attention strategy) if no faces are detected.

Trim Mode

Removes uniform borders/background from the image. Optionally pads the result to a square with a specified background color and target size.

Notes

  • This tool uses the synchronous createToolRoute factory, so it returns a standard response (not 202 async).
  • Face mode requires the face-detection model bundle (200-300 MB).
  • Subject and trim modes work without any AI model bundle.
  • The facePreset determines how tightly the crop frames detected faces: closeup is the tightest, half-body is the widest.
  • If no width/height are specified, defaults to 1080x1080.