---
seo_title: HEIC zu SVG API: HEIC-Bilder in SVG einbetten | EnConvert
meta_desc: Wandle HEIC per POST /v1/convert/heic-to-svg in SVG um. Dekodiert zu PNG, bettet es in SVG-Wrapper ein, ohne Vektorisierung. Rohdaten oder presigned URL.
keywords: heic in svg umwandeln api, heic zu svg konverter, heic svg einbetten api, heif zu svg api, heic bild in svg wrapper, heic svg rest api, heic in svg programmatisch konvertieren
---

# HEIC zu SVG API

Konvertiere HEIC mit dem Endpoint `POST /v1/convert/heic-to-svg` in SVG. Dieser bettet ein HEIC-/HEIF-Bild in einen SVG-Wrapper ein. Das HEIC wird zunächst zu PNG dekodiert, dann base64-kodiert und als Daten-URI innerhalb eines SVG-`<image>`-Elements platziert. Dies ist keine Vektorisierung. Antworten liefern standardmäßig die rohen SVG-Daten, oder JSON-Metadaten mit einer presigned Download-URL, wenn `direct_download=false` gesetzt ist.

---

## Endpoint

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

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

**Akzeptierte Eingabe:** `.heic or .heif`-Dateien

**Ausgabeformat:** `.svg` (`image/svg+xml`)

---

## Authentifizierung

Erfordert entweder einen privaten API-Schlüssel oder ein JWT-Token von einem öffentlichen Schlüssel.

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

Oder:

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

---

## Request-Parameter

| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|-----------|------|----------|---------|-------------|
| `file` | file | Ja | -- | Die zu konvertierende `.heic or .heif`-Bilddatei. |
| `output_filename` | `string` | Nein | Eingabedateiname | Benutzerdefinierter Ausgabedateiname. Die Endung `.svg` wird automatisch hinzugefügt. |
| `direct_download` | `boolean` | Nein | `true` | Bei `true` werden rohe Bilddaten zurückgegeben. Bei `false` werden JSON-Metadaten mit einer presigned Download-URL zurückgegeben. |

---

## Details zur Konvertierung

- Das HEIC wird zunächst mit **pillow-heif** zu PNG dekodiert, dann **base64-kodiert und eingebettet** in ein SVG-`<image>`-Element
- Die SVG-Abmessungen und die viewBox entsprechen den Pixel-Abmessungen des Originalbilds
- **Dies ist KEINE Vektorisierung** -- der Output enthält die vollständigen Rasterbilddaten, keine Vektorpfade

<div class="alert alert-warning">
<strong>Keine Vektorisierung:</strong> Dieser Endpoint bettet das dekodierte Rasterbild in einen SVG-Container ein. Er zeichnet das Bild nicht nach und wandelt es nicht in Vektorpfade um.
</div>

---

## Antwort

### Direkter Download (`direct_download=true`, Standard)

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

Gibt rohe Bilddaten zurück.

### Metadaten-Antwort (`direct_download=false`)

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

---

## Codebeispiele

### Python

```python
import requests

with open("photo.heic", "rb") as f:
    response = requests.post(
        "https://api.enconvert.com/v1/convert/heic-to-svg",
        headers={"X-API-Key": "sk_your_private_key"},
        files={"file": ("photo.heic", 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.heic"));

const response = await fetch("https://api.enconvert.com/v1/convert/heic-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/heic-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.heic")]
]);
$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.heic")
file, _ := os.Open("photo.heic")
io.Copy(part, file)
writer.Close()

req, _ := http.NewRequest("POST", "https://api.enconvert.com/v1/convert/heic-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)
```

---

## Fehlerantworten

| Status | Bedingung |
|--------|-----------|
| `400 Bad Request` | Datei ist keine `.heic or .heif`-Datei |
| `400 Bad Request` | Bildkonvertierung fehlgeschlagen (beschädigte oder nicht unterstützte Datei) |
| `401 Unauthorized` | Fehlender oder ungültiger API-Schlüssel / JWT-Token |
| `402 Payment Required` | Monatliches Ops-Kontingent aufgebraucht |
| `402 Payment Required` | Speicherlimit erreicht |
| `413 Payload Too Large` | Datei überschreitet die maximale Dateigröße des Plans |

---

## Limits

| Limit | Wert |
|-------|-------|
| Maximale Dateigröße | Abhängig vom Plan (Founding: 5 MB) |
| Ausgabequalität | Maximum (nicht konfigurierbar) |
| Monatliche Konvertierungen | Abhängig vom Plan |

---

## Häufig gestellte Fragen

### Wie konvertiere ich ein HEIC-Bild mit einer REST API in SVG?

Sende eine `multipart/form-data`-POST-Anfrage an `/v1/convert/heic-to-svg` mit der `.heic`- oder `.heif`-Datei im Feld `file`, authentifiziert über `X-API-Key` oder ein Bearer-JWT. Du erhältst die SVG-Daten direkt zurück, oder setze `direct_download=false` für JSON mit einer presigned Download-URL.

### Vektorisiert die HEIC-zu-SVG-Konvertierung das Bild?

Nein. Der Endpoint dekodiert das HEIC mit pillow-heif zu PNG und base64-kodiert es anschließend als Daten-URI innerhalb eines SVG-`<image>`-Elements. Der Output enthält die vollständigen Rasterbilddaten, keine nachgezeichneten Vektorpfade.

### Welche Abmessungen hat das Ausgabe-SVG?

Die SVG-Abmessungen und die viewBox entsprechen den Pixel-Abmessungen des ursprünglichen HEIC-Bilds.

### Warum gibt der HEIC-zu-SVG-Endpoint einen 400-Fehler zurück?

`400 Bad Request` wird zurückgegeben, wenn die hochgeladene Datei keine `.heic`- oder `.heif`-Datei ist, oder wenn die Konvertierung fehlschlägt, weil die Datei beschädigt oder nicht unterstützt wird.
