認証
プログラムからのすべてのAPIリクエストには、認証用のAPI Keyが必要です。このページではリクエストの認証方法を説明します。
x-api-keyヘッダー
すべてのリクエストのx-api-key HTTPヘッダーにAPI Keyを含めてください。API Keyはfft_で始まる文字列です。
cURL
bash
curl -X POST https://freefiletools.io/api/image-compress \
-H "x-api-key: fft_your_api_key_here" \
-F "[email protected]" \
-F "quality=80" \
-o compressed.jpgJavaScript / fetch
javascript
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("quality", "80");
const response = await fetch("https://freefiletools.io/api/image-compress", {
method: "POST",
headers: {
"x-api-key": "fft_your_api_key_here",
},
body: formData,
});
const blob = await response.blob();Python
python
import requests
headers = {
"x-api-key": "fft_your_api_key_here"
}
files = {
"file": ("image.jpg", open("image.jpg", "rb"), "image/jpeg")
}
data = {
"quality": "80"
}
response = requests.post(
"https://freefiletools.io/api/image-compress",
headers=headers,
files=files,
data=data
)
with open("compressed.jpg", "wb") as f:
f.write(response.content)匿名アクセス
FreeFileToolsのウェブサイトは、ブラウザベースのファイル処理に同じAPIエンドポイントを内部的に使用しています。freefiletools.ioからのブラウザリクエストでは、匿名アクセス(API Keyなし)が可能です。
ただし、外部アプリケーションからのプログラムアクセスにはAPI Keyが必要です。ブラウザ外からの有効なAPI Keyのないリクエストは401 Unauthorizedレスポンスを受け取ります。
エラーレスポンス
API Keyが見つからないか無効です
json
{
"error": "Unauthorized",
"message": "Invalid or missing API key. Get your key at freefiletools.io/dashboard/api-keys"
}HTTPステータス: 401
レート制限を超過しました
json
{
"error": "Rate limit exceeded",
"message": "You have exceeded the rate limit. Please try again later."
}HTTPステータス: 429