apyhub

Convert Video Format Job API

What it does

Video Format Converter turns an uploaded video into a new file format and returns a job ID you can use to track progress. Send a video file and choose one of the supported output formats: mp4, mkv, avi, mov, flv, 3gp, or webm.

Use the persistent flag when you want the generated file to be kept after processing. The conversion request returns a job_id, and you can poll the job status endpoint with that ID until the job is pending, successful, or failed.

When a job completes successfully, the status response includes a download url for the processed file along with the job_id, status, and an optional message. That makes it a fit for workflows that need to normalize uploads into a standard format before playback, storage, or downstream processing.

Use Video Format Converter when you need to accept mixed user uploads but store or serve only a specific video format. It gives you a simple async conversion flow without forcing you to manage the job lifecycle yourself.

▣ ENDPOINT 01 / 02
POST
Submit format conversion job (file upload)
https://api.eu.apyverse.com/apyhub/convert-video-formats/file-to-json

QUICKSTART

GUIDE

Quickstart

Convert a video file to a chosen output format and start a conversion job.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-video-formats/file-to-json" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "video": "video.mp4",
    "output_format": "mp4"
  }'

What you'll get back

Returns a JSON object with a job_id string field containing the UUID of the conversion job.

{
  "job_id": "550e8400-e29b-41d4-a716-446655440000"
}
TRY ITLIVE · 550 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
Video file to convert.
Whether the generated file should be persisted after processing.
Target output format.

About this endpoint

What it does

Submits a video file for format conversion and starts a job that runs asynchronously. The request uploads the source video plus the desired output format, and the response returns a job identifier you can use to track the conversion.

Request Body

ParameterTypeMandatoryDescription
videoStringYesVideo file to convert. Binary file upload.
persistentBooleanNoWhether the generated file should be persisted after processing. Default: false.
output_formatENUMYesTarget output format. Allowed values: mp4, mkv, avi, mov, flv, 3gp, webm.

Response

Returns a JSON object with a job_id string field formatted as a UUID. This is the identifier for the submitted conversion job.

ParameterTypeMandatoryDescription
job_idStringNoJob identifier for the submitted conversion task. Format: UUID.

Notes

This endpoint kicks off an async job and returns immediately with a job identifier; the actual work runs in the background. Pair this call with the corresponding job_check endpoint — poll that until the status reaches a terminal state to retrieve the result. Extract the job identifier from job_id.

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ ENDPOINT 02 / 02
GET
Check format conversion job status
https://api.eu.apyverse.com/apyhub/convert-video-formats/jobs/:job_id

QUICKSTART

GUIDE

Quickstart

Check the status of a video conversion job by its job ID.

curl -X GET "https://api.eu.apyverse.com/apyhub/convert-video-formats/jobs/:job_id" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with a data object. data may include job_id and status (pending, successful, or failed), and may also include url for the processed file or message with a status/error description.

{
  "data": {
    "job_id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "successful",
    "url": "https://example.com/converted-video.mp4",
    "message": "Job completed successfully."
  }
}
TRY ITLIVE · 1 ATOM
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Checks the status of a video format conversion job identified by its UUID. The response returns a JSON object with a data object containing the job’s status and related fields.

Path Parameter(s)

AttributeTypeMandatoryDescription
job_idStringYesThe conversion job identifier, in UUID format.

Response

Returns a JSON object with a data object field. Inside data, the response includes job_id as a UUID string, status as a string enum, and optional url and message string fields.

AttributeTypeMandatoryDescription
dataObjectNoContains the job status details.
data.urlStringNoDownload URL for the processed file when status is successful.
data.job_idStringNoThe conversion job identifier, in UUID format.
data.statusENUMNoJob status. Allowed values: pending, successful, failed.
data.messageStringNoStatus message or error description.

Path parameters

Name
Type
Description
job_idREQUIRED
string
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.