Pixazo APIImage ToolsMP4 to SVG API

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

by Pixazo

Getting SVG paths out of an MP4 takes two Pixazo calls, and this page documents both. First POST the video to /media-tools/v1/video-extract-frame to pull out a single still; then POST that still's URL to /media-tools/v1/image-vectorize, which traces it into scalable vector paths. Each call is a separate job with its own request_id and its own poll, and each costs $0.002 — $0.004 for the pair. The tracer is built for high-contrast frames such as logos, title cards and graphic overlays, not for photographic footage. Prefer a no-code option? The same conversion is available free in your browser as the MP4 to SVG Converter.

Get API Key
MP4 to SVG 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 SVG 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 SVG (step 2 of 2) generate request

There is no single endpoint that takes an MP4 and returns an SVG, and any documentation claiming otherwise is wrong: image-vectorize is a raster tracer built on potrace, and handing it a video URL simply fails. The supported route is the two-step above — extract a frame, then trace that frame — which is also the more useful shape in practice, because you choose exactly which frame gets vectorized rather than accepting whatever a hidden default picked. Step one returns a PNG still by default and lets you name a position in seconds. Step two thresholds that still to black and white and traces the shapes, so results are strongest on flat, high-contrast frames (logos, lower-thirds, title cards) and weakest on continuous-tone footage. Two calls, two polls, $0.004 in total.

Endpoint: POST https://gateway.pixazo.ai/media-tools/v1/image-vectorize

Request Code

curl -X POST 'https://gateway.pixazo.ai/media-tools/v1/image-vectorize' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"image_url":"https://example.com/frame.png","threshold":50}'

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
image_urlRequiredstringHTTP(S) URLURL of the still image to trace — NOT the MP4. Extract a frame first with POST /media-tools/v1/video-extract-frame and pass that output URL here.
thresholdOptionalnumber500 – 100Where the black/white cut falls, as a percentage. Lower keeps only the darkest pixels; higher pulls more midtones into the traced shape.
webhook_urlOptionalstringHTTP(S) URLReceive the completed job via webhook instead of polling.

Example Request

curl -X POST 'https://gateway.pixazo.ai/media-tools/v1/image-vectorize' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"image_url":"https://example.com/frame.png","threshold":50}'

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": "image-vectorize",
  "output": {
    "media_url": "https://api-assets.pixazo.ai/out/result.svg",
    "media_type": "SVG"
  },
  "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 (SVG).
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 SVG API Pricing

Your request will cost $0.002 per image.
Flat $0.002 for this trace, plus $0.002 for the frame extraction that feeds it — $0.004 for the pair.

⚡ 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
151,700last 30d
~5,057 per day
Success rate
98.6%
of completed generations
Generation time
1.2savg
p95 2.1s
Requests
Aug 23max 7,400Sep 21
MP4 to SVGAvg 5,057/day
Generation Time
Aug 23max 1.5sSep 21
MP4 to SVGAvg 1.2s
Error Rate
Aug 23max 5.0%Sep 21
MP4 to SVGAvg 1.4%

〰 Uptime

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

Avg. Success Rate (30d)
98.62%
across all generations of this model family
Uptime
Aug 23max 100%Sep 21
SuccessfulAvg 98.62%