---
seo_title: API da JPEG a WebP: Ottimizza le Immagini con WebP | EnConvert
meta_desc: Converti JPEG in WebP con POST /v1/convert/jpeg-to-webp. File WebP fino al 35% più piccoli del JPEG a parità di qualità, come byte o URL prefirmato.
keywords: api da jpeg a webp, api da jpg a webp, convertire jpeg in webp via api, api ottimizzazione immagini webp, api conversione webp rest, ridurre dimensione immagini api, convertitore jpg webp api
---

# API da JPEG a WebP

Converti immagini JPEG in WebP in modo programmatico con `POST /v1/convert/jpeg-to-webp`. L'endpoint accetta un file `.jpeg` o `.jpg` caricato e produce un WebP di alta qualità con una dimensione file inferiore rispetto al JPEG equivalente. È un semplice passaggio di ottimizzazione immagini per le pipeline di distribuzione web. Le risposte restituiscono byte immagine grezzi per il download diretto oppure metadati JSON con un URL di download prefirmato.

---

## Endpoint

```
POST /v1/convert/jpeg-to-webp
```

**Content-Type:** `multipart/form-data`

**Input accettato:** file `.jpeg or .jpg`

**Formato di output:** `.webp` (`image/webp`)

---

## Autenticazione

Richiede una chiave API privata oppure un token JWT da chiave pubblica.

```
X-API-Key: sk_your_private_key
```

Oppure:

```
Authorization: Bearer <jwt_token>
```

---

## Parametri della richiesta

| Parametro | Tipo | Obbligatorio | Predefinito | Descrizione |
|-----------|------|----------|---------|-------------|
| `file` | file | Sì | -- | Il file immagine `.jpeg or .jpg` da convertire. |
| `output_filename` | `string` | No | Nome file di input | Nome file di output personalizzato. L'estensione `.webp` viene aggiunta automaticamente. |
| `direct_download` | `boolean` | No | `true` | Se `true`, restituisce i byte immagine grezzi. Se `false`, restituisce metadati JSON con un URL di download prefirmato. |

---

## Dettagli della conversione

- Usa **Pillow** per la conversione diretta del formato
- I dati colore RGB del JPEG vengono mantenuti nell'output WebP
- La qualità di output è impostata al massimo (100)
- WebP raggiunge tipicamente dimensioni file inferiori del 25-35% rispetto a JPEG a parità di qualità visiva


---

## Risposta

### Download diretto (`direct_download=true`, predefinito)

```
HTTP 200 OK
Content-Type: image/webp
Content-Disposition: inline; filename="photo_20260405_123456789.webp"
```

Restituisce i byte immagine grezzi.

### Risposta con metadati (`direct_download=false`)

```json
{
    "presigned_url": "https://spaces.example.com/...",
    "object_key": "env/files/{project_id}/jpeg-to-webp/photo_20260405_123456789.webp",
    "filename": "photo_20260405_123456789.webp",
    "file_size": 45678,
    "conversion_time_seconds": 0.5
}
```

---

## Esempi di codice

### Python

```python
import requests

with open("photo.jpg", "rb") as f:
    response = requests.post(
        "https://api.enconvert.com/v1/convert/jpeg-to-webp",
        headers={"X-API-Key": "sk_your_private_key"},
        files={"file": ("photo.jpg", f)}
    )

with open("photo_20260405_123456789.webp", "wb") as out:
    out.write(response.content)
```

### Node.js

```javascript
const form = new FormData();
form.append("file", fs.createReadStream("photo.jpg"));

const response = await fetch("https://api.enconvert.com/v1/convert/jpeg-to-webp", {
    method: "POST",
    headers: { "X-API-Key": "sk_your_private_key" },
    body: form
});

fs.writeFileSync("photo_20260405_123456789.webp", Buffer.from(await response.arrayBuffer()));
```

### PHP

```php
$ch = curl_init("https://api.enconvert.com/v1/convert/jpeg-to-webp");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["X-API-Key: sk_your_private_key"],
    CURLOPT_POSTFIELDS => ["file" => new CURLFile("photo.jpg")]
]);
$output = curl_exec($ch);
curl_close($ch);
file_put_contents("photo_20260405_123456789.webp", $output);
```

### Go

```go
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
part, _ := writer.CreateFormFile("file", "photo.jpg")
file, _ := os.Open("photo.jpg")
io.Copy(part, file)
writer.Close()

req, _ := http.NewRequest("POST", "https://api.enconvert.com/v1/convert/jpeg-to-webp", body)
req.Header.Set("Content-Type", writer.FormDataContentType())
req.Header.Set("X-API-Key", "sk_your_private_key")
resp, _ := http.DefaultClient.Do(req)
```

---

## Risposte di errore

| Stato | Condizione |
|--------|-----------|
| `400 Bad Request` | Il file non è un file `.jpeg or .jpg` |
| `400 Bad Request` | Conversione immagine non riuscita (file corrotto o non supportato) |
| `401 Unauthorized` | Chiave API / token JWT mancante o non valido |
| `402 Payment Required` | Quota mensile di ops esaurita |
| `402 Payment Required` | Limite di storage raggiunto |
| `413 Payload Too Large` | Il file supera la dimensione massima consentita dal piano |

---

## Limiti

| Limite | Valore |
|-------|-------|
| Dimensione massima file | Dipende dal piano (Founding: 5 MB) |
| Qualità di output | Massima (non configurabile) |
| Conversioni mensili | Dipende dal piano |

---

## Domande frequenti

### Come converto un JPG in WebP con una REST API?

Invia una richiesta POST `multipart/form-data` a `/v1/convert/jpeg-to-webp` con il tuo file `.jpeg` o `.jpg` nel campo `file`, autenticandoti tramite `X-API-Key` o un token JWT `Bearer`. Per impostazione predefinita l'API risponde con i byte WebP grezzi.

### Quanto è più piccolo WebP rispetto a JPEG?

WebP raggiunge tipicamente dimensioni file inferiori del 25-35% rispetto a JPEG a parità di qualità visiva. Questo endpoint converte con Pillow alla qualità massima (100), mantenendo i dati colore RGB del JPEG.

### Posso ottenere un URL di download invece dei byte immagine grezzi?

Sì. Imposta `direct_download=false` e l'API restituisce metadati JSON che includono `presigned_url`, `object_key`, `filename`, `file_size` e `conversion_time_seconds`.

### Posso impostare la qualità di output WebP o il nome del file?

La qualità di output è fissata al massimo (100) e non è configurabile. Puoi impostare un nome file di output personalizzato con il parametro `output_filename`; l'estensione `.webp` viene aggiunta automaticamente.
