---
seo_title: PNG zu JPEG API: PNG per Code in JPG umwandeln | EnConvert
meta_desc: Konvertieren Sie PNG zu JPEG per REST API. POST /v1/convert/png-to-jpeg legt Transparenz auf weißen Hintergrund und liefert rohe Bytes oder eine Presigned-URL.
keywords: png in jpg umwandeln api, png zu jpeg api, png in jpeg konvertieren, png transparenz weißer hintergrund jpeg, png in jpg python, bild konvertierung rest api, png zu jpg converter api
---

# PNG-zu-JPEG-API

Konvertieren Sie PNG-Bilder programmatisch mit `POST /v1/convert/png-to-jpeg` zu JPEG. Der Endpunkt akzeptiert einen `.png`-Upload und legt transparente Bereiche auf einen weißen Hintergrund, da JPEG keine Transparenz unterstützt. Als Antwort erhalten Sie entweder rohe Bilddaten zum direkten Download oder JSON-Metadaten mit einer vorsignierten Download-URL.

---

## Endpunkt

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

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

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

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

---

## Authentifizierung

Erfordert entweder einen privaten API-Schlüssel oder ein JWT-Token aus 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 `.png`-Bilddatei. |
| `output_filename` | `string` | Nein | Eingabedateiname | Benutzerdefinierter Ausgabedateiname. Die Endung `.jpeg` wird automatisch angehängt. |
| `direct_download` | `boolean` | Nein | `true` | Bei `true` werden rohe Bilddaten zurückgegeben. Bei `false` werden JSON-Metadaten mit einer vorsignierten Download-URL zurückgegeben. |

---

## Konvertierungsdetails

- Verwendet **Pillow** für die direkte Formatkonvertierung
- Hat das PNG einen Alphakanal (RGBA), werden transparente Bereiche vor der Konvertierung auf einen **weißen Hintergrund** gelegt
- Andere Nicht-RGB-Farbmodi werden in RGB konvertiert
- Die Ausgabequalität ist auf das Maximum (100) gesetzt

<div class="alert alert-info">
<strong>Hinweis zur Transparenz:</strong> JPEG unterstützt keine Transparenz. Transparente oder halbtransparente Bereiche Ihres PNG erscheinen in der JPEG-Ausgabe weiß.
</div>

---

## Antwort

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

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

Gibt rohe Bilddaten zurück.

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

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

---

## Codebeispiele

### Python

```python
import requests

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

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

### Node.js

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

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

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

### PHP

```php
$ch = curl_init("https://api.enconvert.com/v1/convert/png-to-jpeg");
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.png")]
]);
$output = curl_exec($ch);
curl_close($ch);
file_put_contents("image_20260405_123456789.jpeg", $output);
```

### Go

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

req, _ := http.NewRequest("POST", "https://api.enconvert.com/v1/convert/png-to-jpeg", 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 `.png`-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 | Planabhängig (Founding: 5 MB) |
| Ausgabequalität | Maximal (nicht konfigurierbar) |
| Monatliche Konvertierungen | Planabhängig |

---

## Häufig gestellte Fragen

### Wie konvertiere ich ein PNG mit einer REST-API zu JPG?

Senden Sie einen `multipart/form-data`-POST-Request an `/v1/convert/png-to-jpeg` mit Ihrer `.png`-Datei im Feld `file`, authentifiziert über `X-API-Key` oder ein `Bearer`-JWT-Token. Standardmäßig antwortet die API mit den rohen JPEG-Bytes.

### Was passiert mit der PNG-Transparenz bei der Konvertierung zu JPEG?

JPEG unterstützt keine Transparenz, daher werden transparente oder halbtransparente Bereiche im PNG (RGBA-Alphakanal) auf einen weißen Hintergrund gelegt und erscheinen in der JPEG-Ausgabe weiß.

### Kann ich eine Download-URL statt roher Bilddaten erhalten?

Ja. Setzen Sie `direct_download=false`, und die API gibt JSON-Metadaten zurück, darunter `presigned_url`, `object_key`, `filename`, `file_size` und `conversion_time_seconds`.

### Kann ich die JPEG-Ausgabequalität steuern?

Nein. Die Ausgabequalität ist fest auf das Maximum (100) gesetzt und nicht konfigurierbar. Den Ausgabedateinamen können Sie über den Parameter `output_filename` anpassen; die Endung `.jpeg` wird automatisch angehängt.
