画像をアップロードすると、AIが背景を除去し透明PNGを返します。同期処理 — 通常数秒。
認証とリクエスト
X-Api-Key: YOUR_API_KEYにシークレットキーを送信。アカウントページでキーを作成・管理。
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
image_file
|
file | 必須* | 処理対象画像、マルチパートアップロード。JPG / PNG / WebP、最大20MB |
image_url
|
string | 必須* | または公開画像URL(image_file / image_urlのいずれかを指定) |
size
|
string | 任意 | preview(無料、透かし付き)/ full(HD、1クレジット)/ auto。デフォルトpreview |
format
|
string | 任意 | auto(透過ありならPNG、それ以外JPG——デフォルト)/ png / jpg |
bg_color
|
string | 任意 | 結果背景:transparent(デフォルト)/ white / 任意の #RRGGBB |
コードサンプル
言語を選んでコピー — そのまま実行可能。1curl -X POST "https://api.pixmiller.com/v1/remove" \2 -H "X-Api-Key: YOUR_API_KEY" \3 -F "[email protected]" \4 -F "size=full"
1import requests23resp = requests.post(4 "https://api.pixmiller.com/v1/remove",5 headers={"X-Api-Key": "YOUR_API_KEY"},6 files={"image_file": open("product.jpg", "rb")},7 data={"size": "full"},8)9print(resp.json()["url"])
1import fs from "node:fs";23const form = new FormData();4form.append("image_file", new Blob([fs.readFileSync("product.jpg")]), "product.jpg");5form.append("size", "full");6const resp = await fetch("https://api.pixmiller.com/v1/remove", {7 method: "POST",8 headers: { "X-Api-Key": "YOUR_API_KEY" },9 body: form,10});11console.log((await resp.json()).url);
レスポンス
1{2 "url": "https://cdn.pixmiller.com/result/8Kd2pQ.png"3}
url
処理済み画像の一時URL(元画像は3日後に自動削除されます)。
エラー
エラーは対応するステータスコードと以下の形式のJSONボディを返します {"errors":{"code":"…","message":"…"}}.
validation error
image_fileが未指定・無効、ファイルサイズ超過、または画像ソースの競合。
authentication_failed
X-Api-Keyヘッダーが未指定または無効です。
not_enough_credit
size=fullがリクエストされましたが、アカウントのHDクレジットが残っていません。
invalid_image
画像を処理できませんでした——小さすぎるか、非対応、またはデコードに失敗しました。
throttled
レート制限を超過しました。Retry-Afterヘッダー後にリトライしてください。