メインコンテンツへスキップ
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

パラメーター

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.

サンプルコード

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

レスポンス

成功時(200):変換後のファイルの生バイト列を、対応するContent-TypeおよびContent-Dispositionヘッダーとともに返します。失敗時:{"error": {"code": "...", "message": "..."}} という形のJSONボディを、対応するHTTPステータスコードとともに返します。詳細は下記の「エラー」を参照してください。

Header Value
Content-Type変換後のファイルの実際のMIMEタイプです(例:image/png、application/pdf)。
Content-Disposition通常のファイルダウンロードと同様、attachment; 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
  }
}

エラー

失敗時は必ず、プログラムで分岐に使える "code" と、人が読める "message" を含むJSONエラーが返されます。エラーによっては追加のフィールドを含むこともあります(例えば quota_exceeded には "limit" と "used" が含まれます)。

Status & code When it happens
401 missing_keyAuthorizationヘッダーが送信されませんでした。
401 invalid_keyキーが存在しないか、失効しています。
403 account_suspendedこのキーを所有するアカウントは停止されています。
403 plan_requiredアカウントがFreeプランです — 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 は、何度再試行してもそのファイルやtargetでは成功しないことを意味します。500/503 はサーバー側の問題であり、特に503は短い間隔での再試行を試す価値があります。

Supported formats

JPG, PNG, WEBP, GIF

関連情報