---
seo_title: API WebP vers HEIC : Convertir des images en HEIC | EnConvert
meta_desc: Convertissez du WebP en HEIC via POST /v1/convert/webp-to-heic. Téléversement multipart, encodage pillow-heif en qualité 100, octets HEIC bruts ou URL présignée.
keywords: convertir webp en heic, api webp vers heic, convertisseur webp heic en ligne, webp vers heic api rest, transformer webp en heic, image webp en heic api, convertir webp heic par programmation
---

# API WebP vers HEIC

Convertissez du WebP en HEIC avec l'endpoint `POST /v1/convert/webp-to-heic`, qui convertit une image WebP au format HEIC (High Efficiency Image Container) à la qualité maximale. Les zones transparentes sont compositées sur un fond blanc, car le HEIC ne prend pas en charge la transparence. Les réponses renvoient des octets HEIC bruts par défaut, ou des métadonnées JSON avec une URL de téléchargement présignée lorsque `direct_download=false`.

---

## Endpoint

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

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

**Entrée acceptée :** fichiers `.webp`

**Format de sortie :** `.heic` (`image/heic`)

---

## Authentification

Nécessite soit une clé API privée, soit un jeton JWT provenant d'une clé publique.

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

Ou :

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

---

## Paramètres de la requête

| Paramètre | Type | Obligatoire | Valeur par défaut | Description |
|-----------|------|----------|---------|-------------|
| `file` | file | Oui | -- | Le fichier image `.webp` à convertir. |
| `output_filename` | `string` | Non | Nom du fichier d'entrée | Nom de fichier de sortie personnalisé. L'extension `.heic` est ajoutée automatiquement. |
| `direct_download` | `boolean` | Non | `true` | Si `true`, renvoie les octets bruts de l'image. Si `false`, renvoie des métadonnées JSON avec une URL de téléchargement présignée. |

---

## Détails de la conversion

- Utilise **Pillow** avec **pillow-heif** pour l'encodage HEIC
- Si le WebP possède un canal alpha (RGBA), les zones transparentes sont compositées sur un **fond blanc**
- La qualité de sortie est réglée au maximum (100)

<div class="alert alert-info">
<strong>Remarque sur la transparence :</strong> le HEIC ne prend pas en charge la transparence. Toute zone transparente de votre WebP apparaîtra en blanc dans le HEIC de sortie.
</div>

---

## Réponse

### Téléchargement direct (`direct_download=true`, par défaut)

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

Renvoie les octets bruts de l'image.

### Réponse avec métadonnées (`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
}
```

---

## Exemples de code

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

---

## Réponses d'erreur

| Statut | Condition |
|--------|-----------|
| `400 Bad Request` | Le fichier n'est pas un fichier `.webp` |
| `400 Bad Request` | Échec de la conversion de l'image (fichier corrompu ou non pris en charge) |
| `401 Unauthorized` | Clé API / jeton JWT manquant ou invalide |
| `402 Payment Required` | Quota mensuel d'ops épuisé |
| `402 Payment Required` | Limite de stockage atteinte |
| `413 Payload Too Large` | Le fichier dépasse la taille maximale autorisée par le forfait |

---

## Limites

| Limite | Valeur |
|-------|-------|
| Taille de fichier maximale | Selon le forfait (Founding : 5 MB) |
| Qualité de sortie | Maximale (non configurable) |
| Conversions mensuelles | Selon le forfait |

---

## Questions fréquentes

### Comment convertir une image WebP en HEIC avec une API REST ?

Envoyez une requête POST `multipart/form-data` à `/v1/convert/webp-to-heic` avec le fichier `.webp` dans le champ `file`, authentifiée via `X-API-Key` ou un Bearer JWT. La réponse renvoie des octets HEIC bruts par défaut, ou définissez `direct_download=false` pour recevoir du JSON avec une URL de téléchargement présignée.

### Que devient la transparence lors de la conversion de WebP en HEIC ?

Le HEIC ne prend pas en charge la transparence. Si le WebP possède un canal alpha (RGBA), les zones transparentes sont compositées sur un fond blanc dans le HEIC de sortie.

### Puis-je choisir la qualité de sortie du HEIC ?

Non. La qualité de sortie est fixée au maximum (100) et n'est pas configurable. L'encodage utilise Pillow avec pillow-heif.

### Pourquoi l'endpoint WebP vers HEIC renvoie-t-il une erreur 413 ?

`413 Payload Too Large` est renvoyé lorsque le fichier envoyé dépasse la taille maximale autorisée par votre forfait (5 MB sur le forfait Founding).
