Pixazo APIImage ToolsMP4 to HEIC API

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

by Pixazo

The MP4 to HEIC API extracts a single still frame from an MP4 video and returns it as a HEIC image — the compact, high-efficiency format native to Apple's Photos and iOS ecosystem. Pick the frame with a position in seconds, or omit it to grab the last visible frame; the decoder seeks to that exact timestamp rather than the nearest keyframe. HEIC keeps files small while preserving detail, which makes it a natural fit for iOS apps and Apple-centric media libraries. 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 HEIC Converter.

Get API Key
MP4 to HEIC 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 HEIC 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 HEIC generate request

Grabbing a thumbnail or poster frame from a video usually means a desktop editor. The MP4 to HEIC API does it with one call: give it a video URL and a timestamp, and it decodes that frame and encodes it as HEIC. 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":"heic"}'

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"heic"Output image format for the extracted frame (heic).
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":"heic"}'

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.heic",
    "media_type": "HEIC"
  },
  "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 (HEIC).
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 HEIC 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
169,900last 30d
~5,663 per day
Success rate
98.2%
of completed generations
Generation time
1.4savg
p95 2.3s
Requests
Aug 3max 6,700Sep 1
MP4 to HEICAvg 5,663/day
Generation Time
Aug 3max 1.6sSep 1
MP4 to HEICAvg 1.4s
Error Rate
Aug 3max 5.0%Sep 1
MP4 to HEICAvg 1.8%

〰 Uptime

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

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