---
seo_title: API da JPEG a SVG: Incorpora JPG in SVG | EnConvert
meta_desc: Racchiudi un JPEG in un SVG con POST /v1/convert/jpeg-to-svg. L'API incorpora l'immagine in base64 in un elemento image SVG: è un wrapper raster, non una vettorizzazione.
keywords: jpeg to svg api, convertire jpg in svg via api, incorporare jpeg in svg, jpg to svg converter api, immagine base64 in svg api, wrapper raster svg per jpeg, convertire jpeg in svg programmaticamente, api per creare svg da jpg
---

# API da JPEG a SVG

Converti un JPEG nel formato SVG con `POST /v1/convert/jpeg-to-svg`, che codifica il JPEG in base64 e lo incorpora come data URI all'interno di un elemento SVG `<image>`. Questa non è vettorizzazione: l'output è l'immagine raster completa racchiusa in un contenitore SVG, utile per i flussi di lavoro che richiedono SVG ma accettano contenuti raster incorporati. Le risposte restituiscono byte grezzi per il download diretto oppure metadati JSON con un URL di download prefirmato.

---

## Endpoint

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

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

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

**Formato di output:** `.svg` (`image/svg+xml`)

---

## Autenticazione

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

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

Oppure:

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

---

## Parametri della richiesta

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `file` | file | Sì | -- | Il file immagine `.jpeg or .jpg` da convertire. |
| `output_filename` | `string` | No | Nome del file di input | Nome file di output personalizzato. L'estensione `.svg` viene aggiunta automaticamente. |
| `direct_download` | `boolean` | No | `true` | Quando `true`, restituisce i byte grezzi dell'immagine. Quando `false`, restituisce metadati JSON con un URL di download prefirmato. |

---

## Dettagli della conversione

- Il JPEG viene **codificato in base64 e incorporato** all'interno di un elemento SVG `<image>` come data URI
- Le dimensioni e il viewBox dell'SVG corrispondono alle dimensioni in pixel dell'immagine originale
- **Questa NON è vettorizzazione** -- l'output contiene i dati raster completi dell'immagine, non tracciati vettoriali
- Utile per i flussi di lavoro che richiedono il formato SVG ma accettano contenuti raster incorporati

<div class="alert alert-warning">
<strong>Non è vettorizzazione:</strong> Questo endpoint incorpora l'immagine raster all'interno di un contenitore SVG. Non traccia né converte l'immagine in tracciati vettoriali. Il file di output sarà più grande dell'input a causa della codifica base64 (~33% di overhead).
</div>

---

## Risposta

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

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

Restituisce i byte grezzi dell'immagine.

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

```json
{
    "presigned_url": "https://spaces.example.com/...",
    "object_key": "env/files/{project_id}/jpeg-to-svg/photo_20260405_123456789.svg",
    "filename": "photo_20260405_123456789.svg",
    "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-svg",
        headers={"X-API-Key": "sk_your_private_key"},
        files={"file": ("photo.jpg", f)}
    )

with open("photo_20260405_123456789.svg", "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-svg", {
    method: "POST",
    headers: { "X-API-Key": "sk_your_private_key" },
    body: form
});

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

### PHP

```php
$ch = curl_init("https://api.enconvert.com/v1/convert/jpeg-to-svg");
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.svg", $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-svg", 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

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

---

## Limiti

| Limit | Value |
|-------|-------|
| Dimensione massima del 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 SVG con una REST API?

Invia una richiesta POST `multipart/form-data` a `/v1/convert/jpeg-to-svg` con il tuo file `.jpeg` o `.jpg` nel campo `file`, autenticata tramite `X-API-Key` o un token JWT `Bearer`. L'API restituisce un SVG con la tua immagine incorporata in base64 in un elemento `<image>`.

### L'API da JPEG a SVG vettorizza la mia immagine?

No. Questo endpoint non traccia né converte l'immagine in tracciati vettoriali: incorpora il JPEG raster all'interno di un contenitore SVG come data URI in base64. Le dimensioni e il viewBox dell'SVG corrispondono alle dimensioni in pixel dell'immagine originale.

### Perché l'output SVG è più grande del mio input JPEG?

La codifica base64 aggiunge circa il 33% di overhead, quindi il file di output è più grande dell'input poiché contiene i dati raster completi dell'immagine codificati come testo.

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

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