Перейти к основному содержимому
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

Параметры

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.

Примеры

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

Ответ

При успехе (200): необработанные байты конвертированного файла с соответствующими заголовками Content-Type и Content-Disposition. При ошибке: JSON-тело вида {"error": {"code": "...", "message": "..."}} с соответствующим HTTP-статусом — см. раздел «Ошибки» ниже.

Header Value
Content-TypeНастоящий MIME-тип конвертированного файла (например, image/png, application/pdf).
Content-Dispositionattachment; filename="..." — предполагаемое имя файла, как при любой загрузке файла.
Content-LengthРазмер тела ответа в байтах.
X-Original-SizeРазмер загруженного файла в байтах до сжатия.
X-Saved-PercentПримерно, насколько результат меньше оригинала, в виде целого процента (может быть 0).

Каждая ошибка имеет одинаковую структуру JSON, например при превышении квоты:

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

Ошибки

Каждая ошибка возвращает JSON с полем «code», по которому можно ветвить логику в коде, и человекочитаемым «message». Некоторые ошибки содержат дополнительные поля (например, quota_exceeded включает «limit» и «used»).

Status & code When it happens
401 missing_keyЗаголовок Authorization не был передан.
401 invalid_keyТакого ключа не существует или он отозван.
403 account_suspendedАккаунт, которому принадлежит этот ключ, заблокирован.
403 plan_requiredАккаунт на бесплатном тарифе — для доступа к API нужен Basic, Lite, Pro или Team.
400 invalid_category«category» не равно «image» или «document».
400 no_fileФайл не был передан или загрузка не удалась — поле должно называться «file».
413 file_too_largeФайл превышает максимальный размер загрузки для вашего тарифа.
429 quota_exceededМесячная квота минут конвертации по тарифу исчерпана. Обновляется в начале следующего календарного месяца.
429 concurrency_limitДля этого аккаунта уже выполняется слишком много конвертаций одновременно (общий лимит с сайтом) — дождитесь завершения одной из них и повторите запрос.
422 conversion_failedСам файл не удалось конвертировать — причина указана в «message». Код статуса зависит от причины: 400/415/422 означают, что файл или формат назначения не сработают, сколько бы вы ни повторяли попытку; 500/503 означают проблему на стороне сервера, а 503 — тот случай, когда стоит выполнить короткую повторную попытку.

Supported formats

PDF

По теме