PixMiller PixMiller
ホーム / API / remove.bg API 移行ガイド
移行ガイド

remove.bg API 移行ガイド

remove.bg のセルフサービス API は2026年12月1日にリクエストの受け付けを停止します。自分の HTTP コードから呼び出している場合、PixMiller への移行はたいてい base URL とキーの変更だけです——このページでは、そのまま使えるもの、挙動が違うもの、効果がないものを正確に示します。

互換エンドポイント
POST api.pixmiller.com/v1.0/removebg
GET api.pixmiller.com/v1.0/account
remove.bg と同じ X-Api-Key ヘッダーを使います。トラフィックを切り替える前に、下の差分に目を通してください。
1

まずここを読んでください

同じではない4つのこと。
  • size の既定値は remove.bg と同じく preview ですが、ここでの preview は最大 640 px の無料の透かし入り画像です(remove.bg:透かしなしの 0.25 メガピクセル)。size を一度も指定しない連携は透かし入りのプレビューを受け取ります。透かしのない結果が必要な場合は size=auto か有料ティアを指定してください。
  • SDK レベルの互換性をうたうつもりはありません。サードパーティ製のクライアント3つ——PyPI の removebg パッケージ、npm の公式 remove.bg パッケージ、removebg-cli——は2026年9月22日に当社のテストを通過しましたが、リリースごとの回帰テストは行っていません。私たちがサポートするのは、自分で書いた HTTP クライアントです。
  • shadow_type、shadow_opacity、add_shadow、semitransparency は受け付けて検証もしますが、出力が変わることはありません——車以外の被写体に対する remove.bg の挙動と同じです。車専用のモデルはありません。
  • 1回の呼び出しは1枚として、キーごとの上限(毎分40枚)に計上されます。remove.bg は毎分500枚です。429 は Retry-After に従って処理するか、上限の引き上げについてお問い合わせください。
2

移行前と移行後

同じリクエストを、それぞれのサービスに送った場合。
remove.bg
1curl -X POST "https://api.remove.bg/v1.0/removebg" \2  -H "X-Api-Key: REMOVEBG_KEY" \3  -F "[email protected]" \4  -F "size=auto" \5  -o out.png
PixMiller
1curl -X POST "https://api.pixmiller.com/v1.0/removebg" \2  -H "X-Api-Key: PIXMILLER_KEY" \3  -F "[email protected]" \4  -F "size=auto" \5  -o out.png6# 200 OK → image bytes, written straight to out.png7# X-Credits-Charged: 1   X-Width: 1200   X-Height: 1600   X-Type: product
3

パラメータの対応状況

パラメータ ステータス 説明
image_file 同じ Multipart アップロード。JPG / PNG / WebP、最大 20 MB(remove.bg:22 MB)。
image_url 同じ 公開されている画像の URL。当社側で取得し、同じく 20 MB の上限が適用されます。
image_file_b64 同じ リクエストボディに base64 エンコードした画像。remove.bg と同じです。
size 異なる 値も既定値(preview)もメガピクセルの上限も同じです——ただし preview は最大 640 px の無料の透かし入り画像で、透かしなしの 0.25 MP ではありません。medium / hd / 4k / full / 50MP は各1クレジット、auto はクレジットが残っていれば有料ティアを使います。
format 同じ auto / png / jpg / webp / zip——zip には remove.bg と同じく color.jpg と alpha.png が入ります。Accept: application/json なら base64 エンベロープを返します。PNG 出力は1000万ピクセルが上限です。
type, type_level 異なる 受け付けます。type は当社のモデルにマッピングされます。X-Type は粗い分類(person / product / animal / car / other)を返し、type_level=2 と latest も同じ粗い分類を返します。
crop, crop_margin 同じ 同じ margin の記法、同じ 50% / 500 px の上限で被写体に合わせて切り抜きます。
roi 同じ ピクセルまたはパーセントで指定する関心領域。remove.bg と同じです。
scale, position 同じ 被写体の拡大率(10%〜100% または original)と位置。remove.bg と同じです。
channels 同じ rgba(既定)、またはマスクのみの alpha。
bg_color 同じ 既定では透明です。# の有無にかかわらず 3 / 4 / 6 / 8 桁の hex、または色名を指定できます。
bg_image_file, bg_image_url 同じ 出力を覆うように拡大・縮小して中央に配置します。bg_color とは併用できません。
add_shadow, shadow_type, shadow_opacity 効果なし remove.bg の値で検証しますが、影が描画されることはありません。
semitransparency 効果なし 受け付けます。半透明の部分は常に自動で処理されます。
すべてのパラメータを remove.bg 自身の値の範囲で検証するため、不正な値は黙って無視されるのではなく 400 invalid_parameter になります——remove.bg の応答とまったく同じです。
4

挙動が違うところ

ステータスコード 200 OK とレスポンスボディの画像バイト列で、remove.bg と同じです——== 200 をアサートしているコードはそのまま動きます。(PixMiller 独自の /api/v1/remove エンドポイントは 201 と JSON を返しますが、この互換パスはあえてそうしていません。)
レスポンスボディ 画像のバイト列そのもので、remove.bg とまったく同じです。Accept: application/json を送れば remove.bg の base64 エンベロープになり、format=zip なら color.jpg と alpha.png が返ります。
Response headers X-Credits-Charged、X-Width、X-Height、X-Type、X-Foreground-Top / -Left / -Width / -Height、X-RateLimit-Limit / -Remaining / -Reset はいずれも返します。X-Type は remove.bg のより細かい語彙ではなく、粗い分類(person / product / animal / car / other)です。
エラー エラーは remove.bg の JSON:API の形をそのまま使います:{"errors":[{"title":"…","code":"…"}]}——配列なので、errors[0].title の読み方はこれまでと同じです。キーがない場合は 403 auth_failed、間違っている場合は 403 invalid_api_key、残高が空なら 402、スロットリングは 429 です。
クレジット preview は無料です。有料ティアはいずれも画像1枚につき1クレジットで、結果を取得できたあとにのみ課金されるため、失敗した呼び出しでクレジットが減ることはありません。毎月の無料枠はありません。
レート制限 キーあたり毎分40枚(remove.bg:500枚)。1回の呼び出しは1枚として数えられ、X-RateLimit-Limit / -Remaining / -Reset はこの画像単位の枠を示します。429 は Retry-After に従って処理してください。
5

残高の確認

account エンドポイントは data.attributes.credits にそのキーの残りクレジットを返すため、remove.bg 向けに書いた残高チェックは形を変えずに使えます。毎月の無料枠はないので、free_calls は常に 0 です。

GET /v1.0/account
1curl "https://api.pixmiller.com/v1.0/account" \2  -H "X-Api-Key: PIXMILLER_KEY"
6

エラー

400 invalid_parameter size / format / crop / scale などに remove.bg の範囲外の値が指定されたか、画像のソースがありません。どのパラメータかは title に書かれます。
400 file_too_large 入力画像が 20 MB を超えています。
400 unknown_foreground 画像から前景を検出できませんでした。
402 insufficient_credits 有料ティアが指定されましたが、残高がありません。課金は発生しません。
403 auth_failed / invalid_api_key X-Api-Key ヘッダーがない(auth_failed)か、間違っている(invalid_api_key)場合です——remove.bg と同じく 401 ではなく 403 を返します。
429 rate_limit_exceeded レート制限を超えました。Retry-After ヘッダーに従って再試行してください。
502 result_fetch_failed ストレージから結果を取得できませんでした。課金は発生していません——リクエストを再試行してください。
意味はステータスコードが持ち、code には remove.bg 自身の語彙を使っています——errors[0].code で分岐しているコードはそのまま動きます。
背景透過を PixMiller に移す APIキーを取得