This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

Smart Crop

Pemangkasan cerdas yang sadar-subjek, sadar-wajah, atau berbasis trim. Menggunakan strategi attention/entropy dari Sharp dan deteksi wajah AI untuk pembingkaian yang cerdas.

API Endpoint

POST /api/v1/tools/image/smart-crop

Processing: Asinkron (mengembalikan 202, poll /api/v1/jobs/{jobId}/progress untuk status melalui SSE)

Model bundle: face-detection (200-300 MB) - hanya diperlukan untuk mode face

Parameters

ParameterTypeRequiredDefaultDescription
filefileYes-File gambar (multipart)
modestringNo"subject"Mode pemangkasan: subject, face, trim. (Nilai lama attention dan content dipetakan ke subject dan trim)
strategystringNo"attention"Strategi untuk mode subject: attention atau entropy
widthintegerNo-Lebar target dalam piksel
heightintegerNo-Tinggi target dalam piksel
paddingintegerNo0Persentase padding di sekitar subjek (0-50)
facePresetstringNo"head-shoulders"Preset pembingkaian wajah: closeup, head-shoulders, upper-body, half-body
sensitivitynumberNo0.5Sensitivitas deteksi wajah (0-1)
thresholdintegerNo30Ambang mode trim untuk deteksi latar belakang (0-255)
padToSquarebooleanNofalseMelapisi hasil yang di-trim menjadi persegi
padColorstringNo"#ffffff"Warna latar belakang untuk padding
targetSizeintegerNo-Ukuran target untuk keluaran yang dipadding (piksel)
qualityintegerNo-Kualitas keluaran (1-100)

Example Request

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

Response

Initial Response (202 Accepted)

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "async": true
}

Progress (SSE at /api/v1/jobs/{jobId}/progress)

event: progress
data: {"phase":"processing","percent":50}

Final Result (via SSE)

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

Modes

Subject Mode

Menggunakan strategi attention atau entropy dari Sharp untuk menemukan area yang paling menarik secara visual dan memangkas di sekitarnya.

Face Mode

Mendeteksi wajah menggunakan AI, lalu membingkai pemangkasan di sekitar wajah yang terdeteksi menggunakan facePreset yang ditentukan. Kembali ke mode subject (strategi attention) jika tidak ada wajah yang terdeteksi.

Trim Mode

Menghapus tepi/latar belakang yang seragam dari gambar. Secara opsional melapisi hasil menjadi persegi dengan warna latar belakang dan ukuran target yang ditentukan.

Notes

  • Alat ini menggunakan factory createToolRoute dengan executionHint: "long", sehingga mengembalikan 202 dengan progres SSE.
  • Mode face memerlukan model bundle face-detection (200-300 MB).
  • Mode subject dan trim bekerja tanpa model bundle AI apa pun.
  • facePreset menentukan seberapa ketat pemangkasan membingkai wajah yang terdeteksi: closeup adalah yang paling ketat, half-body adalah yang paling luas.
  • Jika tidak ada width/height yang ditentukan, default ke 1080x1080.