Pixazo APIImage ToolsMP4 to WebP API

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

by Pixazo

The MP4 to WebP API extracts a single still frame from an MP4 video and returns it as a WebP image, giving you noticeably smaller files than JPG or PNG at comparable quality. Choose the frame with a position in seconds, or omit it to grab the last visible frame; the decoder seeks to the exact timestamp rather than the nearest keyframe. WebP is built for the modern web, so it is the efficient choice for thumbnails, galleries and preview grids where page speed counts. Send a video_url, poll the request, then download the still. Prefer a no-code option? The same conversion is available free in your browser as the MP4 to WebP Converter.

Get API Key
MP4 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 →

MP4 to WebP API Documentation

Authentication

Every request is authenticated with your Pixazo API key in the Ocp-Apim-Subscription-Key header — the same key across every Pixazo endpoint.

HeaderRequiredValue
Ocp-Apim-Subscription-KeyYesYour Pixazo API key

MP4 frame to WebP generate request

Grabbing a thumbnail or poster frame from a video usually means a desktop editor. The MP4 to WebP API does it with one call: give it a video URL and a timestamp, and it decodes that frame and encodes it as WebP. Ideal for thumbnails, posters, previews and contact sheets.

Endpoint: POST https://gateway.pixazo.ai/media-tools/v1/video-extract-frame

Request Code

curl -X POST 'https://gateway.pixazo.ai/media-tools/v1/video-extract-frame' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"video_url":"https://example.com/input.mp4","position":5,"to_format":"webp"}'

Output

{
  "request_id": "req_9f3c1a7b2e",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/req_9f3c1a7b2e"
}

Webhook (Optional)

Instead of polling, include a webhook_url in the request body and Pixazo will POST the completed job payload to that URL when the conversion finishes. The webhook body is identical to the completed-status response shown under Retrieving Results.

Request Parameters

ParameterRequiredTypeDefaultAllowedDescription
video_urlRequiredstringHTTP(S) URLPublicly reachable URL of the source video.
positionOptionalnumberlast frame0 – duration (seconds)Seconds from the start of the video; omit to get the last visible frame. A position past the end is an error, not clamped.
to_formatRequiredstring"webp"Output image format for the extracted frame (webp).
webhook_urlOptionalstringHTTP(S) URLReceive the completed job via webhook instead of polling.

Example Request

curl -X POST 'https://gateway.pixazo.ai/media-tools/v1/video-extract-frame' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"video_url":"https://example.com/input.mp4","position":5,"to_format":"webp"}'

Response

Every request returns a request_id immediately with a QUEUED status. Use the polling_url (or a webhook) to retrieve the finished file.

{
  "request_id": "req_9f3c1a7b2e",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/req_9f3c1a7b2e"
}

Request Headers

HeaderRequiredValue
Ocp-Apim-Subscription-KeyYesYour Pixazo API key
Content-TypeYesapplication/json

Response Handling

The submit call returns one of the HTTP status codes below. A 202 means the job was accepted — everything else is an error you should handle.

CodeMeaning
202Accepted — the job was queued; poll the status URL.
400Bad request — a parameter is missing or invalid.
401Unauthorized — missing or wrong API key.
Payment required — insufficient balance.
Too many requests — you are being rate-limited.
500Server error — transient; retry with backoff.

Error Responses

Errors return a JSON body with a machine-readable code and a human-readable message.

{
  "request_id": "req_9f3c1a7b2e",
  "status": "FAILED",
  "error": {
    "code": "INSUFFICIENT_BALANCE",
    "message": "Your account balance is too low to process this request."
  }
}

Retrieving Results

Poll the status endpoint until the job reaches COMPLETED (or FAILED).

curl 'https://gateway.pixazo.ai/v2/requests/status/req_9f3c1a7b2e' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_API_KEY'

Response (Completed)

{
  "request_id": "req_9f3c1a7b2e",
  "status": "COMPLETED",
  "model_id": "video-extract-frame",
  "output": {
    "media_url": "https://api-assets.pixazo.ai/out/result.webp",
    "media_type": "WebP"
  },
  "error": null,
  "created_at": "2026-01-01T00:00:00Z",
  "completed_at": "2026-01-01T00:00:04Z"
}

Response Fields

FieldTypeDescription
request_idstringUnique id for this job.
statusstringOne of the job status values below.
output.media_urlstringURL of the converted file (when completed).
output.media_typestringOutput format (WebP).
errorobject | nullPopulated only when status is FAILED.

Status Values

StatusMeaning
QUEUEDJob accepted, waiting for a worker.
Conversion in progress.
COMPLETEDDone — the output URL is in the response.
FAILEDThe job could not be completed; see error.

MP4 to WebP API Pricing

Your request will cost $0.002 per second of source video.
A frame from a 30-second clip costs $0.06.

⚡ 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
128,700last 30d
~4,290 per day
Success rate
98.4%
of completed generations
Generation time
1.6savg
p95 2.5s
Requests
Aug 3max 5,800Sep 1
MP4 to WebPAvg 4,290/day
Generation Time
Aug 3max 1.7sSep 1
MP4 to WebPAvg 1.6s
Error Rate
Aug 3max 5.0%Sep 1
MP4 to WebPAvg 1.7%

〰 Uptime

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

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