RemoveBG

背景削除APIのリファレンス

リクエストパラメータ、レスポンス形式、remove.bg APIとの差分を確認できます。ファイル・URL・Base64の使用例と各入力の制限を参照してください。

POST https://removebgtool.net/v1.0/removebg
curl --fail-with-body --max-time 180 \
  -H 'X-API-Key: YOUR_API_KEY' \
  -F 'image_file=@image.jpg' \
  -F 'size=auto' \
  'https://removebgtool.net/v1.0/removebg' -o no-bg.png

リクエスト

X-API-Keyを送信します。image_fileはmultipart/form-data、image_urlまたはimage_file_b64はJSONかURLエンコードの本文で指定できます。画像ソースは必ず1つだけです。cropはfalse、formatはautoが既定値で、透明ならPNG、不透明ならJPGになります。bg_colorはCSS色名または3/4/6/8桁の16進数に対応。JPGでは透明部分が白に合成されます。

機能対応状況
入力画像JPG・PNG・WebP · ファイル、HTTPS URL、base64
解像度preview / small / regular · medium · hd · full / 4k · auto · 50MP
出力PNG・JPG・WebP · auto · バイナリまたはJSON
画像オプションcrop, bg_color, type=auto, type_level=none, channels=rgba
未対応ZIP、影、ROI、背景画像、前景分類、crop_margin、scale、position、アルファのみの出力、半透明の制御、OAuth

リクエストパラメータ

リクエスト項目既定値と指定可能な値
image_file / image_url / image_file_b64画像ソースは1つだけ指定します。ファイルはmultipart/form-data、image_urlはHTTPS、image_file_b64はパディング付きの通常のbase64文字列です。
size既定値はpreview。上限はpreview/small/regularが0.25 MP、mediumが1.5 MP、hdが4 MP、full/4k/autoが25 MP、50MPが50 MPです。PNGは最大10 MPで、画像の拡大は行いません。
format既定値はauto。指定可能な値はauto、png、jpg、webpです。JPGは透明度を保持できません。
crop既定値はfalse。trueで空白の余白をトリミングします。crop_marginはありません。
bg_color背景色は任意です。透過対応形式で透明を保つ場合は指定しないでください。

URL・Base64入力

例のURLをご自身のHTTPS画像URLに置き換えてください。base64はdata-URL接頭辞なしの、パディング付き文字列を送ります。入力フィールドを複数同時に指定しないでください。

curl --fail-with-body --max-time 180 \
  -H 'X-API-Key: YOUR_API_KEY' \
  -F 'image_url=https://example.com/photo.jpg' \
  -F 'format=png' \
  'https://removebgtool.net/v1.0/removebg' -o result.png

# JSON input and JSON output
curl --fail-with-body --max-time 180 \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  --data '{"image_file_b64":"YOUR_PADDED_BASE64","format":"png"}' \
  'https://removebgtool.net/v1.0/removebg'

言語別のコード例

これらはHTTPクライアントの例で、公式SDKではありません。キーはサーバー側の設定で管理してください。

Python
import requests

with open('image.jpg', 'rb') as image:
    response = requests.post(
        'https://removebgtool.net/v1.0/removebg',
        headers={'X-API-Key': 'YOUR_API_KEY'},
        files={'image_file': image},
        data={'size': 'auto'},
        timeout=180,
    )
response.raise_for_status()
with open('no-bg.png', 'wb') as output:
    output.write(response.content)
Node.js
import { readFile, writeFile } from 'node:fs/promises';

const form = new FormData();
form.append('image_file', new Blob([await readFile('image.jpg')]), 'image.jpg');
form.append('size', 'auto');
const response = await fetch('https://removebgtool.net/v1.0/removebg', {
  method: 'POST',
  headers: { 'X-API-Key': 'YOUR_API_KEY' },
  body: form,
  signal: AbortSignal.timeout(180000),
});
if (!response.ok) throw new Error(await response.text());
await writeFile('no-bg.png', Buffer.from(await response.arrayBuffer()));

レスポンス

HTTP 200で画像バイト列を返します。Accept: application/jsonを指定するとdata.result_b64と画像サイズを返します。ヘッダーはX-Width、X-Height、X-Credits-Charged、X-Foreground-Top/Left/Width/Height、X-Request-IDです。前景の座標は正規化後の入力キャンバス基準で、分類とX-Typeは提供しません。GET /v1.0/accountはdata.attributes.creditsとapi.free_calls(0)を返します。

{
  "data": {
    "result_b64": "...",
    "result_width": 625,
    "result_height": 400,
    "credits_charged": 1
  }
}

制限と差分

入力は22 MB以下、50 MP以下、縦横それぞれ33〜9999ピクセルの単一フレームJPG/PNG/WebPです。HTTPS URLは公開の直リンクかつポート443が必要で、リダイレクトとプライベートネットワークは拒否します。sizeの既定値はpreview(0.25 MP)。medium=1.5 MP、hd=4 MP、full/4k/auto=25 MP、50MP=50 MPで、PNGとautoは10 MPが上限です。拡大処理は行わず、remove.bgと異なりautoは残高によるサイズ選択をしません。

API呼び出しはアカウントの既存クレジットを使用します。現在の1画像あたりの消費量はダッシュボードとX-Credits-Chargedで確認できます。プレビューとフル解像度は同じ料金で、月ごとの無料API枠は含まれません。

エラーと再試行

400:入力・パラメーター不正、402:クレジット不足、403:キー・プラン不正、409:冪等性の競合・処理中・期限切れ、415:未対応のエンコード、429:レート制限、502/503:上流障害・混雑、504:タイムアウト。429/503ではRetry-Afterに従い、一時的な5xxは指数バックオフで再試行してください。キーはサーバー側で管理します。

{
  "errors": [
    {
      "title": "Insufficient credits.",
      "code": "insufficient_credits"
    }
  ]
}

任意のIdempotency-Keyを指定できます。同じキー・画像・パラメーターなら、成功結果を10分間は追加課金なしで再取得できます。再取得では元のX-Credits-Chargedを返し、X-Idempotent-Replayed: trueが付きます。処理中は409です。失敗・期限切れのキーも予約状態のままなので、新たな課金対象リクエストには別のキーを使ってください。未指定なら各リクエストは独立します。クライアントのタイムアウトは180秒を確保してください。

移行チェックリスト

1. API対応プランでキーを作成。2. /v1.0/removebgを残してドメインを変更。3. 入力制限と未対応パラメーターを確認。4. 普段の画像、エラー処理、課金をテスト。5. 本番を切り替えます。本サービスはremove.bgとは独立しています。移行ガイドを見る

インターフェースの互換性は、AIの処理結果が同じことを意味しません。移行前にご自身の画像でテストしてください。