Pixazo APIImage Tools APIPNG to WebP API

PNG to WebP API - Convert PNG to WebP API: Pricing, Documentation

by Pixazo

Convert PNG to WebP in a single call. EXIF orientation is applied before metadata is stripped, so phone photos come back upright rather than sideways, and transparency flattens onto white rather than black. Billed at a flat $0.002 per image — a 12-megapixel photo and a 200-pixel thumbnail cost exactly the same. Just converting one file? The same conversion runs free in your browser via the PNG to WebP Converter — no code needed.

Get API Key
PNG to WebP API

Models Version

Welcome Bonus

Get $5 Free Credit on First Payment

No strings attached — add funds and get $5 bonus instantly

Claim Your $5 →

PNG to WebP API Documentation

Authentication

All requests require an API key passed via header.

Pricing: Billed at $0.002 per image — a flat rate per call. A 12-megapixel photo and a 200-pixel thumbnail cost exactly the same.

Retries: this is an asynchronous job on shared encoding capacity, so a request can occasionally come back processing_failed or take longer than usual. These are transient and succeed on a retry, and a failed job is never charged — the wallet hold is released.

HeaderTypeRequiredDescription
Ocp-Apim-Subscription-KeystringYesYour API subscription key

PNG to WebP generate request

Request Code

POST https://gateway.pixazo.ai/media-tools/v1/image-convert
Content-Type: application/json
Cache-Control: no-cache
Ocp-Apim-Subscription-Key: YOUR_API_KEY

{
  "image_url": "https://api-assets.pixazo.ai/media-api-test/t.png",
  "to_format": "webp",
  "quality": 90
}

Output

{
  "request_id": "media-convert-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/media-convert-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Webhook (Optional)

Add the X-Webhook-URL header to your generate request to receive a POST callback instead of polling.

X-Webhook-URL: https://your-server.com/webhook/callback

Request Parameters - PNG to WebP generate request

ParameterRequiredTypeDefaultAllowed values / rangeDescription
image_urlYesstringHTTP(S) URL to an imageThe image to convert. HEIC, WebP, PNG, JPG, BMP, TIFF, AVIF and GIF are all accepted as input.
to_formatYesstringjpg, jpeg, png, webp, gif, bmp, tiff, avif, heicTarget format. Required — there is no default, and any other value is rejected before you are charged. This page documents "webp".
qualityNonumber921 – 100Encoder quality. Ignored by formats that are always lossless, such as PNG and BMP.
keep_metadataNobooleanfalsetrue, falseKeep EXIF, including GPS coordinates. Off by default, so location data is stripped unless you ask for it.

EXIF orientation: the Orientation tag is applied before metadata is stripped — the reverse order deletes the rotation instead of applying it, which is why a portrait phone shot so often arrives sideways elsewhere.

Transparency is flattened onto white when the target format has no alpha channel (JPG, BMP). A black flatten is what turns a transparent logo into a dark rectangle. If the source holds several frames and the target holds one, you get frame 0.

Example Request

{
  "image_url": "https://api-assets.pixazo.ai/media-api-test/t.png",
  "to_format": "webp",
  "quality": 90
}

Response

{
  "request_id": "media-convert-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/media-convert-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Request Headers

HeaderValue
Content-Typeapplication/json
Cache-Controlno-cache
Ocp-Apim-Subscription-KeyYOUR_API_KEY

Response Handling

Common status codes.

CodeMeaning
202Accepted — Request queued
400Bad Request
401Unauthorized
Insufficient Balance
403Forbidden
Too Many Requests
500Internal Server Error

Error Responses

Queue system errors and model validation errors.

Queue System Errors

// 402 — Insufficient balance
{
  "error": "Insufficient Balance",
  "message": "Your wallet does not have enough balance."
}

// 400 — Model not found
{
  "error": "Model not found",
  "message": "Model 'media-convert-image' not found or is disabled"
}

Error via Status/Webhook

{
  "request_id": "media-convert-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "ERROR",
  "model_id": "media-convert-image",
  "error": "Description of the error",
  "output": null
}

Retrieving Results

Poll the universal status endpoint to check progress and retrieve results.

Endpoint

GET https://gateway.pixazo.ai/v2/requests/status/{request_id}
Ocp-Apim-Subscription-Key: YOUR_API_KEY

cURL Example

curl -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
  "https://gateway.pixazo.ai/v2/requests/status/media-convert-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Response (Completed)

{
  "request_id": "media-convert-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "media-convert-image",
  "error": null,
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/media-convert-image_019dxxxx/output.webp"
    ],
    "media_type": "image/webp"
  },
  "created_at": "2026-03-31T10:00:00.000Z",
  "updated_at": "2026-03-31T10:00:15.000Z",
  "completed_at": "2026-03-31T10:00:15.000Z"
}

Response Fields

FieldTypeDescription
request_idstringUnique request identifier
statusstringQUEUED, PROCESSING, COMPLETED, FAILED, or ERROR
model_idstringModel that processed the request
errorstring|nullError message if failed
output.media_urlarrayURLs to generated media (R2 CDN)
output.media_typestringMIME type of the output
created_atstringWhen request was created
completed_atstringWhen request completed
polling_urlstringStatus URL (initial response only)

Status Values

StatusDescription
QUEUEDRequest accepted, waiting to be processed
Being processed by the model
COMPLETEDDone — output contains the result
FAILEDFailed — check error field
ERRORSystem error — not charged

Status Flow

QUEUED → PROCESSING → COMPLETED
                    → FAILED
                    → ERROR

Typical Workflow

  1. Send a generate request to the API endpoint
  2. Save the request_id from the response
  3. Poll every 5–10 seconds: GET /v2/requests/status/{request_id}
  4. When status is COMPLETED, download from output.media_url

Tip: Use the X-Webhook-URL header to get a callback instead of polling.

PNG to WebP API Pricing

Your request will cost $0.002 per image.
A flat rate per call — a 12-megapixel photo and a 200-pixel thumbnail cost exactly the same.

⚡ Performance

Live usage measured on Pixazo's gateway, split by model version. Generation time is how long a generation takes end-to-end (lower is better). Success rate is the percent of generations that complete (higher is better).

Show data for the last
Generations
178,000last 30d
~5,933 per day
Success rate
98.3%
of completed generations
Generation time
657msavg
p95 1.2s
Requests
Aug 3max 7,700Sep 1
PNG to WebPAvg 5,933/day
Generation Time
Aug 3max 712msSep 1
PNG to WebPAvg 660ms
Error Rate
Aug 3max 5.0%Sep 1
PNG to WebPAvg 1.8%

〰 Uptime

Percent of generations that succeeded over the selected period, per model version.

Avg. Success Rate (30d)
98.26%
across all generations of this model family
Uptime
Aug 3max 100%Sep 1
SuccessfulAvg 98.24%