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

Ritaglio intelligente

Ritaglio intelligente basato su soggetto, volti o rifilatura. Usa le strategie attention/entropy di Sharp e il rilevamento dei volti con IA per un'inquadratura intelligente.

Endpoint API

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

Elaborazione: Asincrona (restituisce 202, interroga /api/v1/jobs/{jobId}/progress per lo stato tramite SSE)

Bundle del modello: face-detection (200-300 MB) - richiesto solo per la modalità face

Parametri

ParametroTipoObbligatorioPredefinitoDescrizione
filefile-File immagine (multipart)
modestringNo"subject"Modalità di ritaglio: subject, face, trim. (I valori legacy attention e content corrispondono a subject e trim)
strategystringNo"attention"Strategia per la modalità soggetto: attention o entropy
widthintegerNo-Larghezza target in pixel
heightintegerNo-Altezza target in pixel
paddingintegerNo0Percentuale di margine attorno al soggetto (0-50)
facePresetstringNo"head-shoulders"Preset di inquadratura del volto: closeup, head-shoulders, upper-body, half-body
sensitivitynumberNo0.5Sensibilità del rilevamento dei volti (0-1)
thresholdintegerNo30Soglia della modalità rifilatura per il rilevamento dello sfondo (0-255)
padToSquarebooleanNofalseAggiunge margine al risultato rifilato per renderlo quadrato
padColorstringNo"#ffffff"Colore di sfondo per il margine
targetSizeintegerNo-Dimensione target per l'output con margine (pixel)
qualityintegerNo-Qualità dell'output (1-100)

Esempio di richiesta

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"}'

Risposta

Risposta iniziale (202 Accepted)

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

Avanzamento (SSE su /api/v1/jobs/{jobId}/progress)

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

Risultato finale (tramite 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
  }
}

Modalità

Modalità soggetto

Usa la strategia attention o entropy di Sharp per individuare la regione visivamente più interessante e ritaglia attorno ad essa.

Modalità volto

Rileva i volti con l'IA, poi inquadra il ritaglio attorno ai volti rilevati usando il facePreset specificato. Se non viene rilevato alcun volto, ripiega sulla modalità soggetto (strategia attention).

Modalità rifilatura

Rimuove i bordi/lo sfondo uniformi dall'immagine. Facoltativamente aggiunge un margine al risultato per renderlo quadrato con un colore di sfondo e una dimensione target specificati.

Note

  • Questo strumento usa la factory createToolRoute con executionHint: "long", quindi restituisce 202 con avanzamento tramite SSE.
  • La modalità volto richiede il bundle del modello face-detection (200-300 MB).
  • Le modalità soggetto e rifilatura funzionano senza alcun bundle di modello IA.
  • Il facePreset determina quanto strettamente il ritaglio inquadra i volti rilevati: closeup è il più stretto, half-body è il più ampio.
  • Se non vengono specificate larghezza/altezza, il valore predefinito è 1080x1080.