mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
Renames 18 ambiguous or hard-to-search tool names so image tools self-qualify like the other modalities ("Compress" becomes "Compress Image"), and cleans up a few awkward names. Propagated across search (constants.ts), display (en.ts + 20 locales), the OpenAPI base spec + 20 locale specs, and the docs tool-page headings in 21 languages. Removes the duplicate "Normalize Audio" summary shared by the video and audio endpoints. Tool ids and routes are unchanged, so no API paths or bookmarks break.
2.2 KiB
2.2 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Ritaglia immagini specificando una regione con posizione e dimensioni. | 556f37893553 | human | 7f9ff6b77a1f |
Ritaglia Immagine
Ritaglia immagini definendo una regione rettangolare usando posizione e dimensione. Supporta unità sia in pixel che in percentuale.
Endpoint API
POST /api/v1/tools/image/crop
Accetta dati di form multipart con un file immagine e un campo JSON settings.
Parametri
| Parametro | Tipo | Obbligatorio | Predefinito | Descrizione |
|---|---|---|---|---|
| left | number | Sì | - | Offset X della regione di ritaglio (dal bordo sinistro) |
| top | number | Sì | - | Offset Y della regione di ritaglio (dal bordo superiore) |
| width | number | Sì | - | Larghezza della regione di ritaglio |
| height | number | Sì | - | Altezza della regione di ritaglio |
| unit | string | No | "px" |
Unità per i valori: px o percent |
Esempio di richiesta
curl -X POST http://localhost:1349/api/v1/tools/image/crop \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"left": 100, "top": 50, "width": 800, "height": 600}'
Ritaglia usando valori percentuali:
curl -X POST http://localhost:1349/api/v1/tools/image/crop \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"left": 10, "top": 10, "width": 80, "height": 80, "unit": "percent"}'
Esempio di risposta
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 1200000
}
Note
- La regione di ritaglio deve rientrare nei confini dell'immagine. Se la regione si estende oltre l'immagine, la richiesta fallirà.
- Quando si usa l'unità
percent, i valori rappresentano percentuali delle dimensioni dell'immagine (es.left: 10significa 10% dal bordo sinistro). - Il formato di output corrisponde al formato di input.
- L'orientamento EXIF viene applicato automaticamente prima del ritaglio, quindi le coordinate corrispondono all'orientamento visivamente corretto.