---
seo_title: WebP zu HEIC API: WebP-Bilder in HEIC umwandeln | EnConvert
meta_desc: WebP zu HEIC konvertieren mit POST /v1/convert/webp-to-heic. Multipart-Upload, pillow-heif-Kodierung mit Qualität 100, rohe HEIC-Bytes oder presigned Download-URL.
keywords: webp in heic umwandeln api, webp zu heic converter, webp heic konvertierung api, webp bild in heic umwandeln, webp to heic rest api, bilder von webp in heic konvertieren, heic konverter api
---

# WebP zu HEIC API

Wandle WebP mit dem Endpunkt `POST /v1/convert/webp-to-heic` in HEIC um: Er konvertiert ein WebP-Bild in maximaler Qualität in das HEIC-Format (High Efficiency Image Container). Transparente Bereiche werden vor einem weißen Hintergrund zusammengesetzt, da HEIC keine Transparenz unterstützt. Die Antwort liefert standardmäßig rohe HEIC-Bytes oder, wenn `direct_download=false` gesetzt ist, JSON-Metadaten mit einer presigned Download-URL.

---

## Endpunkt

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

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

**Akzeptierte Eingabe:** `.webp`-Dateien

**Ausgabeformat:** `.heic` (`image/heic`)

---

## 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>
```

---

## Anfrageparameter

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

---

## Details zur Konvertierung

- Verwendet **Pillow** mit **pillow-heif** zur HEIC-Kodierung
- Wenn das WebP einen Alphakanal (RGBA) hat, werden transparente Bereiche vor einem **weißen Hintergrund** zusammengesetzt
- Die Ausgabequalität ist auf Maximum (100) eingestellt

<div class="alert alert-info">
<strong>Hinweis zur Transparenz:</strong> HEIC unterstützt keine Transparenz. Transparente Bereiche in deinem WebP erscheinen in der HEIC-Ausgabe weiß.
</div>

---

## Antwort

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

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

Gibt rohe Bild-Bytes zurück.

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

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

---

## Codebeispiele

### Python

```python
import requests

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

with open("image_20260405_123456789.heic", "wb") as out:
    out.write(response.content)
```

### Node.js

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

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

fs.writeFileSync("image_20260405_123456789.heic", Buffer.from(await response.arrayBuffer()));
```

### PHP

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

### Go

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

req, _ := http.NewRequest("POST", "https://api.enconvert.com/v1/convert/webp-to-heic", 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 `.webp`-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 WebP-Bild mit einer REST-API in HEIC?

Sende eine `multipart/form-data`-POST-Anfrage an `/v1/convert/webp-to-heic` mit der `.webp`-Datei im Feld `file`, authentifiziert über `X-API-Key` oder ein Bearer-JWT. Die Antwort liefert standardmäßig rohe HEIC-Bytes, oder setze `direct_download=false`, um JSON mit einer presigned Download-URL zu erhalten.

### Was passiert mit der Transparenz bei der Konvertierung von WebP zu HEIC?

HEIC unterstützt keine Transparenz. Wenn das WebP einen Alphakanal (RGBA) hat, werden transparente Bereiche in der HEIC-Ausgabe vor einem weißen Hintergrund zusammengesetzt.

### Kann ich die HEIC-Ausgabequalität wählen?

Nein. Die Ausgabequalität ist fest auf Maximum (100) eingestellt und nicht konfigurierbar. Die Kodierung erfolgt mit Pillow und pillow-heif.

### Warum liefert der WebP-zu-HEIC-Endpunkt einen 413-Fehler?

`413 Payload Too Large` wird zurückgegeben, wenn die hochgeladene Datei die maximale Dateigröße deines Plans überschreitet (5 MB im Founding-Plan).
