Przejdź do treści głównej
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

Parametry

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.

Przykłady

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

Odpowiedź

Przy sukcesie (200): surowe bajty przekonwertowanego pliku, z ustawionymi dla niego nagłówkami Content-Type i Content-Disposition. Przy niepowodzeniu: treść JSON w postaci {"error": {"code": "...", "message": "..."}} wraz z odpowiednim kodem statusu HTTP — zobacz Błędy poniżej.

Header Value
Content-TypeRzeczywisty typ MIME przekonwertowanego pliku (np. image/png, application/pdf).
Content-Dispositionattachment; filename="..." — sugerowana nazwa pliku, tak jak przy każdym pobieraniu pliku.
Content-LengthRozmiar treści odpowiedzi w bajtach.
X-Original-SizeRozmiar przesłanego pliku w bajtach, przed kompresją.
X-Saved-PercentW przybliżeniu o ile mniejszy jest wynik od oryginału, jako pełna liczba procent (może wynosić 0).

Każdy błąd ma tę samą strukturę JSON, na przykład przekroczenie limitu:

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

Błędy

Każde niepowodzenie zwraca kopertę błędu JSON z polem „code”, po którym Twój kod może rozgałęziać logikę, oraz czytelnym dla człowieka polem „message”. Niektóre błędy zawierają dodatkowe pola (na przykład quota_exceeded zawiera „limit” i „used”).

Status & code When it happens
401 missing_keyNie wysłano nagłówka Authorization.
401 invalid_keyKlucz nie istnieje lub został unieważniony.
403 account_suspendedKonto, do którego należy ten klucz, zostało zawieszone.
403 plan_requiredKonto jest w planie Free — dostęp do API wymaga planu Basic, Lite, Pro lub Team.
400 invalid_categoryPole „category” nie miało wartości „image” ani „document”.
400 no_fileNie wysłano żadnego pliku albo przesyłanie się nie powiodło — pole musi nazywać się „file”.
413 file_too_largePlik przekracza maksymalny rozmiar przesyłania dla Twojego planu.
429 quota_exceededMiesięczny limit minut konwersji w tym planie został wyczerpany. Odnawia się na początku kolejnego miesiąca kalendarzowego.
429 concurrency_limitZbyt wiele konwersji uruchomionych jednocześnie dla tego konta (limit współdzielony ze stroną) — poczekaj, aż jedna się zakończy, i spróbuj ponownie.
422 conversion_failedSamego pliku nie udało się przekonwertować — powód wyjaśnia pole „message”. Kod statusu zależy od przyczyny: 400/415/422 oznaczają, że plik lub format docelowy nie zadziałają niezależnie od liczby prób; 500/503 oznaczają problem po stronie serwera, a 503 w szczególności warto krótko ponowić.

Supported formats

JPG, PNG, WEBP, GIF

Powiązane