Direct naar de inhoud
TransConvert

PDF Compression API

Shrink PDF files with one POST request via Ghostscript's own recompression — pick a quality level, optionally convert to grayscale, and never get back a file bigger than what you uploaded.

POST https://transconvert.com/api/v1/convert.php

Parameters

Field Description
AuthorizationRequired. "Bearer tc_live_...".
categorySet to "document-compress".
levelOptional: "low", "medium" (default), "high", or "none".
grayscaleOptional. "1" to also convert to grayscale; omit for full color.
fileRequired. A PDF that is not open/password-protected.

Voorbeelden

TransConvert
curl -X POST \
  https://transconvert.com/api/v1/convert.php \
  -H "Authorization: Bearer tc_live_your_key_here" \
  -F "category=document-compress" \
  -F "level=high" \
  -F "file=@report.pdf" \
  -o output.pdf

Respons

Bij succes (200): de ruwe bytes van het geconverteerde bestand, met bijbehorende Content-Type- en Content-Disposition-headers. Bij een fout: een JSON-body in de vorm {"error": {"code": "...", "message": "..."}} met een passende HTTP-statuscode — zie Fouten hieronder.

Header Value
Content-TypeHet werkelijke MIME-type van het geconverteerde bestand (bijv. image/png, application/pdf).
Content-Dispositionattachment; filename="..." — een voorgestelde bestandsnaam, net als bij elke bestandsdownload.
Content-LengthGrootte van de response body in bytes.
X-Original-SizeDe grootte van het geüploade bestand in bytes, vóór compressie.
X-Saved-PercentRuwe schatting van hoeveel kleiner het resultaat is dan het origineel, als geheel percentage (kan 0 zijn).

Elke fout volgt dezelfde JSON-structuur, bijvoorbeeld wanneer een quotum wordt overschreden:

429 Too Many Requests
{
  "error": {
    "code": "quota_exceeded",
    "message": "Monthly API allowance of 5000 conversion-minutes reached.",
    "limit": 5000,
    "used": 5000
  }
}

Fouten

Elke fout retourneert een JSON-foutobject met een "code" waarop je code kan vertakken, plus een leesbaar "message". Sommige fouten bevatten extra velden (quota_exceeded bevat bijvoorbeeld "limit" en "used").

Status & code When it happens
401 missing_keyEr is geen Authorization-header meegestuurd.
401 invalid_keyDe sleutel bestaat niet, of is ingetrokken.
403 account_suspendedHet account waartoe deze sleutel behoort, is geschorst.
403 plan_requiredHet account heeft het gratis abonnement — voor API-toegang is Basic, Lite, Pro of Team vereist.
400 invalid_category"category" was niet "image" of "document".
400 no_fileEr is geen bestand verzonden, of de upload is mislukt — het veld moet "file" heten.
413 file_too_largeHet bestand overschrijdt de maximale uploadgrootte van je abonnement.
429 quota_exceededDe maandelijkse toewijzing conversieminuten van het abonnement is op. Wordt gereset aan het begin van de volgende kalendermaand.
429 concurrency_limitEr lopen al te veel conversies tegelijk voor dit account (gedeeld met de website) — wacht tot er één klaar is en probeer het opnieuw.
422 conversion_failedHet bestand zelf kon niet worden geconverteerd — "message" legt uit waarom. De statuscode varieert met de reden: 400/415/422 betekenen dat het bestand of target nooit zal werken, hoe vaak je het ook probeert; 500/503 duiden op een probleem aan de serverkant, en bij 503 is een korte nieuwe poging de moeite waard.

Supported formats

PDF

Gerelateerd