Lewati ke konten utama
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

Parameter

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.

Contoh

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

Jika berhasil (200): byte mentah file hasil konversi, dengan header Content-Type dan Content-Disposition yang sesuai. Jika gagal: isi JSON berbentuk {"error": {"code": "...", "message": "..."}} dengan kode status HTTP yang sesuai — lihat bagian Kesalahan di bawah.

Header Value
Content-TypeTipe MIME sebenarnya dari file hasil konversi (mis. image/png, application/pdf).
Content-Dispositionattachment; filename="..." — nama file yang disarankan, sama seperti unduhan file pada umumnya.
Content-LengthUkuran isi respons dalam byte.
X-Original-SizeUkuran file yang diunggah dalam byte, sebelum kompresi.
X-Saved-PercentPerkiraan seberapa lebih kecil hasilnya dibandingkan file asli, dalam persentase bilangan bulat (bisa 0).

Setiap kesalahan mengikuti bentuk JSON yang sama, misalnya ketika kuota terlampaui:

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

Kesalahan

Setiap kegagalan mengembalikan bungkus kesalahan JSON berisi "code" yang dapat digunakan kode Anda untuk pencabangan logika, ditambah "message" yang mudah dibaca manusia. Beberapa kesalahan menyertakan kolom tambahan (misalnya, quota_exceeded menyertakan "limit" dan "used").

Status & code When it happens
401 missing_keyHeader Authorization tidak dikirim.
401 invalid_keyKunci tidak ada, atau sudah dicabut.
403 account_suspendedAkun pemilik kunci ini telah ditangguhkan.
403 plan_requiredAkun berada di paket Gratis — akses API memerlukan paket Basic, Lite, Pro, atau Tim.
400 invalid_category"category" bukan "image" atau "document".
400 no_fileTidak ada file yang dikirim, atau unggahan gagal — kolom harus diberi nama "file".
413 file_too_largeUkuran file melebihi batas unggah maksimum paket Anda.
429 quota_exceededJatah menit konversi bulanan paket Anda telah habis. Akan diatur ulang di awal bulan kalender berikutnya.
429 concurrency_limitTerlalu banyak konversi yang berjalan bersamaan untuk akun ini (dibagi dengan situs web) — tunggu salah satunya selesai lalu coba lagi.
422 conversion_failedFile itu sendiri tidak dapat dikonversi — "message" menjelaskan alasannya. Kode status bervariasi tergantung alasannya: 400/415/422 berarti file atau target tidak akan pernah berhasil sebanyak apa pun Anda mencoba ulang; 500/503 berarti ada masalah di sisi server, dan khusus 503 layak dicoba ulang sebentar lagi.

Supported formats

PDF

Terkait