Pixazo API→Video Tools→JPG to MP4 API

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

by Pixazo

The JPG to MP4 API wraps a still JPG in a standards-compliant MP4 container. It is deterministic, not generative: the photo is held on screen, unchanged, for as long as you ask, and the result is a silent H.264 video. That is exactly what you want when something downstream will only accept a video file — a social feed that rejects images, a timeline that needs a hold, a signage player whose playlist is video-only. Send an image_url and a duration, poll the job, download the MP4. Prefer a no-code option? The same conversion is available free in your browser as the JPG to MP4 Converter.

Get API Key
JPG to MP4 API

Models Version

Welcome Bonus

Get 10% Cashback on Your First Payment (up to $500)

Add funds and get 10% cashback on your first payment (up to $500).

Claim Your Cashback →

JPG to MP4 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

JPG to MP4 generate request

Plenty of systems will not take a still. Ad slots, story formats, broadcast timelines and signage players all want a video file, and the usual answer is to open an editor and export a five-second hold by hand. The JPG to MP4 API does that one step over HTTP: it decodes your JPG, holds it for the duration you choose, and encodes a silent H.264/yuv420p MP4 with even dimensions and correct headers, downscaled to fit within 1920x1920 if the source is larger and never upscaled if it is smaller. Nothing is added and nothing moves — no motion, no prompt, no model. It is a container change, priced like one at a flat $0.002 per clip.

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

Request Code

curl -X POST 'https://gateway.pixazo.ai/media-tools/v1/image-to-video' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"image_url":"https://example.com/input.jpg","duration_seconds":5}'

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_urlRequiredstring—HTTP(S) URLPublicly reachable URL of the source still. jpg, png, webp, avif, heic, tiff, bmp, gif and SVG are accepted; the source must be under 50 megapixels.
duration_secondsOptionalnumber51 – 60How long the still is held on screen, in seconds. Does not affect the price.
webhook_urlOptionalstring—HTTP(S) URLReceive the completed job via webhook instead of polling.

Example Request

curl -X POST 'https://gateway.pixazo.ai/media-tools/v1/image-to-video' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"image_url":"https://example.com/input.jpg","duration_seconds":5}'

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-to-video",
  "output": {
    "media_url": "https://api-assets.pixazo.ai/out/result.mp4",
    "media_type": "MP4"
  },
  "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 (MP4).
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.

JPG to MP4 API Pricing

Your request will cost $0.002 per clip.
Flat $0.002 per clip whatever the duration — a 60-second hold costs the same as a 1-second one. Output is downscaled to fit a 1920x1920 box and never upscaled.

⚡ 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
110,000last 30d
~3,667 per day
Success rate
98.9%
of completed generations
Generation time
1.5savg
p95 2.3s
Requests
Sep 17max 5,500Oct 16
JPG to MP4Avg 3,667/day
Generation Time
Sep 17max 1.6sOct 16
JPG to MP4Avg 1.5s
Error Rate
Sep 17max 5.0%Oct 16
JPG to MP4Avg 1.1%

〰 Uptime

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

Avg. Success Rate (30d)
98.91%
across all generations of this model family
Uptime
Sep 17max 100%Oct 16
SuccessfulAvg 98.88%