POST /api/uploads, then tus upload to the returned upload_url. Required only for imagick, esrgan, video_convert, audio_convert, archive, pandoc.
AMPX API
Automatisiere Dateikonvertierungen, Tool-Aufgaben und die Ergebnisverarbeitung mit einer übersichtlichen REST API.
API access is a paid add-on
Choose Starter, Basic or Pro, then add the API key to that same monthly Stripe subscription. The API uses the same account credit pool and rate limit as the web tools.
Conversion API workflow
URL downloads start at step 2. File converters first reserve and upload files with tus.
Send POST /api/convert with a service type and either a source URL or the allocated upload data.
Call GET /api/status?token=... until the state is finished, failed or cancelled. The token is scoped to the API key that created it.
Use the returned download_url or GET /d/{token}. Unit and text utilities return synchronously and skip status polling.
Starter
Basic
Pro
Available services and credit prices
Credits are charged only when an operation succeeds. Failed or cancelled jobs release their reservation. File operations add the shown size charge per started 10 MB of final output.
| Service | Type | Base credits | Final-size charge | Status |
|---|---|---|---|---|
| Video download Download video from YouTube, TikTok, Reddit, Instagram, Facebook, Twitch, X, Vimeo or another supported source. |
job | 12 | +1 / started 10 MB | Available |
| Audio download Extract audio from a supported media URL. |
job | 8 | +1 / started 10 MB | Available |
| Image converter and bulk editor Convert, resize, crop, rotate and edit one or more uploaded images. |
job | 5 | +1 / started 10 MB | Available |
| Audio converter Convert an uploaded audio file. |
job | 5 | +1 / started 10 MB | Available |
| Video converter Convert an uploaded video with an allowlisted FFmpeg preset for YouTube, Instagram Reels or TikTok Shorts. |
job | 12 | +1 / started 10 MB | Temporarily disabled |
| Archive converter Create or convert an uploaded archive. |
job | 5 | +1 / started 10 MB | Available |
| Document converter Convert a supported uploaded document with Pandoc. |
job | 5 | +1 / started 10 MB | Temporarily disabled |
| AI image upscaler Upscale an uploaded image with a supported ESRGAN model. |
job | 25 | +1 / started 10 MB | Available |
| Proxy checker Check a batch of HTTP, HTTPS or SOCKS proxies. |
job | 1 / 5 items | None | Available |
| Unit converter Synchronous Unit converter operation. |
utility | 1 | None | Available |
| Text utilities Synchronous Text utilities operation. |
utility | 1 | None | Available |
Authentication
Send the key as a Bearer token. It is shown only once when created or rotated.
Limits and charging
The key uses the same credits and operations/minute limit as the web account. A successful utility is charged immediately; an asynchronous job reserves credits and settles them after completion.
Machine-readable docs
Fetch the authenticated OpenAPI 3.1 document with the same Bearer header.
Service reference
All API operations and required fields are listed below. Add Idempotency-Key when retrying a request.
POST /api/uploads — allocate file uploads
For imagick, esrgan, video_convert, audio_convert, archive, pandoc, first allocate one or more filenames. Upload each file with tus to the returned upload_url, preserving the returned file metadata. Then submit the returned token, or files[].relative_path and worker for Pandoc, to /api/convert.
{
"ok": true,
"data": {
"token": "UPLOAD_TOKEN",
"worker": "worker1",
"files": [{"name": "input.png", "relative_path": "UPLOAD_TOKEN/input.png"}],
"upload_url": "https://worker.example/api/upload/tus",
"protocol": "tus"
}
}
Upload with tus 1.0: create the upload resource at upload_url. Both token and filename in Upload-Metadata are base64-encoded values. The response returns the resumable resource URL in its Location header.
Upload bytes to that Location. If a transfer resumes, obtain the current offset with a tus HEAD request and send that value as Upload-Offset.
POST /api/convert — Video download
Download video from YouTube, TikTok, Reddit, Instagram, Facebook, Twitch, X, Vimeo or another supported source. Base price: 12 credit(s), plus 1 credit(s) per started 10 MB of final output.
| Field | Type / requirement |
|---|---|
type | string|required |
url | string|required |
format | string|optional |
quality | string|optional |
fps | integer|optional |
playlist | boolean|optional |
source_service | string|optional |
A successful submission returns token, state, status_url, download_url and the reserved credit amount.
POST /api/convert — Audio download
Extract audio from a supported media URL. Base price: 8 credit(s), plus 1 credit(s) per started 10 MB of final output.
| Field | Type / requirement |
|---|---|
type | string|required |
url | string|required |
format | mp3|m4a|flac|aac |
quality | string|optional |
playlist | boolean|optional |
source_service | string|optional |
A successful submission returns token, state, status_url, download_url and the reserved credit amount.
POST /api/convert — Image converter and bulk editor
Convert, resize, crop, rotate and edit one or more uploaded images. Base price: 5 credit(s), plus 1 credit(s) per started 10 MB of final output.
| Field | Type / requirement |
|---|---|
type | string|required |
token | string|required (from POST /api/uploads) |
output_format | string|required |
operations | object|optional (auto_orient, trim, strip, quality, rotate, flip, flop, invert, resize, fit or pad) |
A successful submission returns token, state, status_url, download_url and the reserved credit amount.
POST /api/convert — Audio converter
Convert an uploaded audio file. Base price: 5 credit(s), plus 1 credit(s) per started 10 MB of final output.
| Field | Type / requirement |
|---|---|
type | string|required |
token | string|required (from POST /api/uploads) |
output_format | string|required |
A successful submission returns token, state, status_url, download_url and the reserved credit amount.
POST /api/convert — Video converter
Convert an uploaded video with an allowlisted FFmpeg preset for YouTube, Instagram Reels or TikTok Shorts. Base price: 12 credit(s), plus 1 credit(s) per started 10 MB of final output.
| Field | Type / requirement |
|---|---|
type | string|required |
token | string|required (from POST /api/uploads) |
output_format | mp4|webm|required |
preset | youtube|instagram_reels|tiktok_shorts|generic_mp4|generic_webm|optional |
A successful submission returns token, state, status_url, download_url and the reserved credit amount.
POST /api/convert — Archive converter
Create or convert an uploaded archive. Base price: 5 credit(s), plus 1 credit(s) per started 10 MB of final output.
| Field | Type / requirement |
|---|---|
type | string|required |
token | string|required (from POST /api/uploads) |
output_format | string|required |
max_output_bytes | integer|optional |
A successful submission returns token, state, status_url, download_url and the reserved credit amount.
POST /api/convert — Document converter
Convert a supported uploaded document with Pandoc. Base price: 5 credit(s), plus 1 credit(s) per started 10 MB of final output.
| Field | Type / requirement |
|---|---|
type | string|required |
input_path | string|required (files[].relative_path returned by POST /api/uploads) |
from_format | string|required |
to_format | string|required |
worker | string|required (from POST /api/uploads) |
A successful submission returns token, state, status_url, download_url and the reserved credit amount.
POST /api/convert — AI image upscaler
Upscale an uploaded image with a supported ESRGAN model. Base price: 25 credit(s), plus 1 credit(s) per started 10 MB of final output.
| Field | Type / requirement |
|---|---|
type | string|required |
token | string|required (from POST /api/uploads) |
model | string|optional |
scale | integer|optional (2-4) |
A successful submission returns token, state, status_url, download_url and the reserved credit amount.
POST /api/convert — Proxy checker
Check a batch of HTTP, HTTPS or SOCKS proxies. Base price: 1 credit(s).
| Field | Type / requirement |
|---|---|
type | string|required |
proxies | array|required |
default_protocol | string|optional |
timeout_sec | integer|optional |
connect_timeout_sec | integer|optional |
test_url | url|optional |
A successful submission returns token, state, status_url, download_url and the reserved credit amount.
POST /api/utilities/unit-convert — Unit converter
Synchronous Unit converter operation. Base price: 1 credit(s).
| Field | Type / requirement |
|---|---|
category | string|required |
from | string|required |
to | string|required |
value | number|required |
precision | integer|optional |
This utility responds synchronously with its result and charged usage.
POST /api/utilities/text — Text utilities
Synchronous Text utilities operation. Base price: 1 credit(s).
| Field | Type / requirement |
|---|---|
text | string|required |
operations | array|optional |
This utility responds synchronously with its result and charged usage.
Status and download example
Poll only the status_url returned for your job. When its state is finished and ready is true, follow download_url; failed and cancelled jobs release their reserved credits.
{
"ok": true,
"data": {
"token": "JOB_TOKEN",
"state": "finished",
"ready": true,
"download_url": "https://ampx.cc/d/JOB_TOKEN"
}
}
Error contract
Errors use {"ok":false,"error":{"code":"…","message":"…"}}. Access requires an effective paid plan plus the separate API add-on, or an administrator grant with API access enabled.
| Code | HTTP |
|---|---|
bearer_token_missing | 401 |
invalid_api_key | 403 |
paid_plan_required | 403 |
api_addon_required | 403 |
billing_not_active | 403 |
rate_limit_exceeded | 429 |
upload_too_large | 413 |
credits_exhausted | 429 |
idempotency_conflict | 409 |
invalid_request | 422 |
scope_not_allowed | 403 |
service_disabled | 503 |