Pular para o conteúdo principal
TransConvert

Image Compression API

Shrink JPG, PNG, WEBP, and GIF files with one POST request — same format in, same format out, aimed at a target percentage of the original size.

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

Parâmetros

Field Description
AuthorizationRequired. "Bearer tc_live_...".
categorySet to "image-compress".
target_percentOptional, 1–100 (default 60). Target size as a rough percentage of the original — smaller compresses harder.
fileRequired. JPG, PNG, WEBP, or GIF.

Exemplos

TransConvert
curl -X POST \
  https://transconvert.com/api/v1/convert.php \
  -H "Authorization: Bearer tc_live_your_key_here" \
  -F "category=image-compress" \
  -F "target_percent=50" \
  -F "file=@photo.jpg" \
  -o output.jpg

Resposta

Em caso de sucesso (200): os bytes brutos do arquivo convertido, com os cabeçalhos Content-Type e Content-Disposition definidos para ele. Em caso de falha: um corpo JSON no formato {"error": {"code": "...", "message": "..."}} com um código de status HTTP correspondente — veja Erros abaixo.

Header Value
Content-TypeO tipo MIME real do arquivo convertido (ex.: image/png, application/pdf).
Content-Dispositionattachment; filename="..." — um nome de arquivo sugerido, como em qualquer download de arquivo.
Content-LengthTamanho do corpo da resposta em bytes.
X-Original-SizeO tamanho do arquivo enviado em bytes, antes da compressão.
X-Saved-PercentAproximadamente o quanto o resultado é menor que o original, como uma porcentagem inteira (pode ser 0).

Todo erro segue o mesmo formato JSON, por exemplo quando uma cota é excedida:

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

Erros

Toda falha retorna um envelope de erro JSON com um "code" no qual seu código pode se basear, além de uma "message" legível por humanos. Alguns erros incluem campos extras (quota_exceeded inclui "limit" e "used", por exemplo).

Status & code When it happens
401 missing_keyNenhum cabeçalho Authorization foi enviado.
401 invalid_keyA chave não existe, ou foi revogada.
403 account_suspendedA conta dona dessa chave está suspensa.
403 plan_requiredA conta está no plano Gratuito — o acesso à API exige Basic, Lite, Pro ou Equipe.
400 invalid_category"category" não era "image" nem "document".
400 no_fileNenhum arquivo foi enviado, ou o upload falhou — o campo precisa se chamar "file".
413 file_too_largeO arquivo excede o tamanho máximo de upload do seu plano.
429 quota_exceededA cota mensal de minutos de conversão do plano já foi usada. Reinicia no começo do próximo mês do calendário.
429 concurrency_limitJá há conversões demais rodando ao mesmo tempo para essa conta (compartilhado com o site) — espere uma terminar e tente de novo.
422 conversion_failedO próprio arquivo não pôde ser convertido — "message" explica o motivo. O código de status varia conforme o motivo: 400/415/422 significam que o arquivo ou o target não vão funcionar não importa quantas vezes você tente de novo; 500/503 significam um problema do lado do servidor, e 503 especificamente vale a pena tentar de novo em pouco tempo.

Supported formats

JPG, PNG, WEBP, GIF

Relacionados