reframe.1stnode.net

API Reference
v3.0 ← Torna alla Preview

Processa immagine da URL

GET /api/process?url={imageUrl}&w=&h=&format=&fit=&q=

Scarica un'immagine da un URL esterno, applica le trasformazioni richieste e restituisce l'immagine elaborata. Se non viene specificata nessuna trasformazione, restituisce l'immagine originale.

ParametroTipoObbligatorioDescrizione
urlstring✦ sìURL completo dell'immagine sorgente (http o https)
wintegernoLarghezza target in pixel
hintegernoAltezza target in pixel
formatstringnojpeg · png · webp · avif
fitstringnoModalità di resize (default: inside). Vedi tabella fit.
qintegernoQualità 1–100 (default: 80). Ignorato per PNG.
Nota: i metadati EXIF/GPS vengono sempre rimossi dall'output.

Esempi

# Converti in WebP 800px di larghezza (proporzionale)
GET /api/process?url=https://example.com/photo.jpg&w=800&format=webp

# Crop fisso 940×1358, qualità 85
GET /api/process?url=https://example.com/photo.jpg&w=940&h=1358&fit=cover&format=webp&q=85

# Solo conversione formato, nessun resize
GET /api/process?url=https://example.com/photo.jpg&format=avif&q=70

# Immagine originale senza trasformazioni
GET /api/process?url=https://example.com/photo.jpg

Serve immagine locale

GET /api/images/{filename}?w=&h=&format=&fit=&q=

Serve un'immagine dalla cartella images/ del server applicando le trasformazioni richieste. Stessi parametri di /api/process, senza il parametro url.

ParametroTipoObbligatorioDescrizione
filename (path)string✦ sìNome del file in images/, es. product.jpg
wintegernoLarghezza target in pixel
hintegernoAltezza target in pixel
formatstringnojpeg · png · webp · avif
fitstringnoModalità di resize (default: inside)
qintegernoQualità 1–100 (default: 80)

Esempi

# Thumbnail 240×347, crop, WebP
GET /api/images/product.jpg?w=240&h=347&fit=cover&format=webp

# Breakpoint srcset 768px, proporzionale
GET /api/images/product.jpg?w=768&format=webp

# Originale senza trasformazioni
GET /api/images/product.jpg

Lista immagini disponibili

GET /api/images/list

Restituisce un array JSON con i nomi dei file presenti nella cartella images/. Formati supportati: jpg, jpeg, png, webp, avif. I file nascosti (.name) sono esclusi.

Response

["product_01.jpg", "hero_banner.png", "thumbnail.webp"]

Processa immagine da upload

POST /api/processImage

Riceve un'immagine nel body (multipart o JSON/base64) e applica l'operazione richiesta. Restituisce il buffer dell'immagine elaborata.

CampoTipoObbligatorioDescrizione
imagefile / base64✦ sìImmagine sorgente (multipart: file binario; JSON: stringa base64)
operationstring✦ sìresizeFixed · resizeProportional · convertFormat · stripMetadata
widthintegernoLarghezza target
heightintegernoAltezza target
formatstringnojpeg · png · webp · avif
fitstringnoModalità resize (default: cover)
qualityintegernoQualità 1–100 (default: 80)
stripMetabooleannoRimuovi metadati EXIF/GPS (default: true)

Esempio — multipart/form-data (curl)

curl -X POST http://46.62.134.81:7071/api/processImage \
  -F "image=@photo.jpg" \
  -F "operation=resizeFixed" \
  -F "width=800" \
  -F "height=600" \
  -F "fit=cover" \
  -F "format=webp" \
  -o output.webp

Esempio — application/json (base64)

curl -X POST http://46.62.134.81:7071/api/processImage \
  -H "Content-Type: application/json" \
  -d '{
    "image": "'$(base64 -i photo.jpg)'",
    "operation": "convertFormat",
    "format": "avif",
    "quality": 70
  }' \
  --output output.avif

Parametro fit — riferimento

Controlla come l'immagine viene adattata alle dimensioni target quando vengono specificati sia w che h.

ValoreComportamentoRitaglia?Deforma?
coverRiempie esattamente w×h, può tagliare i bordi✓ sìno
containScala dentro w×h mantenendo le proporzioni, aggiunge bandenono
insideScala dentro w×h senza mai ingrandire né ritagliare (default)nono
fillDeforma l'immagine per riempire esattamente w×hno✓ sì
outsideScala finché almeno una dimensione raggiunge w×h (può eccedere)nono
Suggerimento e-commerce: usa cover per thumbnail prodotto a dimensioni fisse (es. PDP, PLP), inside per srcset responsive dove non vuoi ritagliare.