即時 API

去背 API:一次請求,回傳完成的 PNG。

上傳檔案、傳送公開的圖片 URL,或提供 base64。大多數單張圖片會在同一 HTTP 響應中返回處理結果,通常只需幾秒。如果某張圖片耗時較長,你會收到一個任務 id,用它獲取結果即可,無需重新發送圖片。批次處理由批次端點完成。

每張成功的圖片 1 點數 · 失敗的圖片免費 · 在帳戶中獲取金鑰

$ curl -X POST https://removebackground.dev/v1/remove \
    -H "x-api-key: $REMOVEBG_API_KEY" \
    -F 'image_file=@dog.jpg' -o dog.png

← 200 OK · image/png · 通常只需幾秒
  已儲存 dog.png(透明,全解析度)
1 你的圖片2 一個 HTTP 請求3 響應中的 PNG

快速開始

複製、貼上,替換 YOUR_API_KEY。每個示例都會把結果直接儲存為檔案,JavaScript 和 Python 示例還會處理 202 並等待結果。

curl -X POST https://removebackground.dev/v1/remove \
  -H 'x-api-key: YOUR_API_KEY' \
  -F 'image_file=@photo.jpg' \
  -o photo-no-bg.png

傳送圖片

POST /v1/remove 支援四種方式傳入圖片。任選其一發送;如果一個請求包含多種,優先使用 image_file,其次是 image_file_b64,然後是 image_url,最後是原始請求體。這些示例從 REMOVEBG_API_KEY 環境變數讀取金鑰(用 export REMOVEBG_API_KEY=… 設定);注意要使用雙引號,這樣 shell 才會替換變數。

curl -X POST https://removebackground.dev/v1/remove \
  -H "x-api-key: $REMOVEBG_API_KEY" \
  -F 'image_file=@photo.jpg' \
  -o photo-no-bg.png

Multipart 表單資料,欄位為 image_file。JPG、PNG 或 WebP,最大 25 MB。

每個示例都會把響應體儲存為檔案。只有狀態碼為 200 時,該檔案才是圖片;參見處理響應。

處理響應

大多數單張圖片會在同一響應中返回處理結果。當佇列異常繁忙、某張圖片耗時超過約 55 秒時,你會收到 202 Accepted 和一個任務 id。任務會繼續執行:用該 id 獲取結果。重新發送圖片會建立第二個任務,並可能多消耗一個點數。

狀態碼響應體如何處理
200圖片(image/png、image/jpeg 或 image/webp)儲存它。根據 Content-Type 選擇副檔名。
202JSON:{ id, status, status_url, result_url }不是圖片。等待幾秒,然後對 result_url 發起 GET 請求。不要重新發送圖片。
4xx / 5xxJSON:{ "error": { "code", "message" } }不是圖片。讀取錯誤碼(參見“錯誤”),不要把響應體儲存為圖片。

完整示例

處理已完成的圖片、202、失敗的任務以及本地超時。圖片只發送一次,只對安全的狀態查詢進行重試。

import os
import time
import uuid

import requests

API = "https://removebackground.dev"
KEY = os.environ["REMOVEBG_API_KEY"]  # keep the key on your server
EXT = {"image/png": ".png", "image/jpeg": ".jpg", "image/webp": ".webp"}


def save(res, stem):
    """Save an image response with the right extension; raise on anything else."""
    mime = res.headers.get("Content-Type", "").split(";")[0]
    if res.status_code != 200 or mime not in EXT:
        raise RuntimeError(f"HTTP {res.status_code}: {res.text[:500]}")
    path = stem + EXT[mime]
    with open(path, "wb") as f:
        f.write(res.content)
    return path


def remove_background(image_url, stem="result", max_wait=300):
    s = requests.Session()
    s.headers["x-api-key"] = KEY

    # One key per image: resending with the same key returns the same job, never a second
    # charge, so this POST is safe to retry after a timeout or a dropped connection.
    idem = {"Idempotency-Key": str(uuid.uuid4())}
    for attempt in range(3):
        try:
            res = s.post(f"{API}/v1/remove", data={"image_url": image_url}, headers=idem, timeout=(10, 120))
            break
        except requests.ConnectionError:
            if attempt == 2:
                raise
            time.sleep(2)
    if res.status_code != 202:
        return save(res, stem)  # 200 = the image; anything else raises

    # 202: still processing. Wait for the same job; never send the image again.
    job_id = res.json()["id"]
    deadline = time.monotonic() + max_wait
    while time.monotonic() < deadline:
        time.sleep(2)  # the API sends Retry-After: 2
        res = s.get(f"{API}/v1/jobs/{job_id}/result", timeout=30)
        if res.status_code == 409 and res.json()["error"]["code"] == "not_ready":
            continue
        return save(res, stem)  # the image, or the job's own error
    raise TimeoutError(f"Job {job_id} is still running. Check it later at /v1/jobs/{job_id}.")


print(remove_background("https://example.com/photo.jpg"))

需要 Python 3 和 requests(pip install requests)。

  • 停止你的指令碼並不會停止任務;任務仍可能完成並被扣費。其結果會出現在你的作品庫中。
  • 超時時間由你自行決定,並非我們的承諾;大多數圖片幾秒內即可完成。
  • 相容 remove.bg 的端點行為不同:它從不返回 202(見下文)。

身份驗證

在 x-api-key 請求頭中傳送你的 API 金鑰。在你的帳戶頁面建立和撤銷金鑰;每次呼叫都會消耗該帳戶的點數。所有端點都位於 https://removebackground.dev 下,並接受 CORS 請求,但 CORS 並不意味著可以把金鑰放在網頁中:請將其儲存在你的伺服器上(參見安全)。錯誤以 JSON 返回:{ "error": { "code": "…", "message": "…" } }。

完整的介面約定以 OpenAPI 3.1 (openapi.json) 釋出,可用於客戶端生成器、Postman 或測試;AI 程式設計助手可以從 llms.txt 開始。

POST /v1/remove

即時。去除一張圖片的背景。通常處理好的圖片就是響應體(image/png、image/jpeg 或 image/webp),一般只需幾秒。引數可以是表單欄位、JSON 鍵或查詢字串引數;你也可以直接 POST 原始圖片位元組,並設定 Content-Type: image/jpeg、image/png、image/webp 或 application/octet-stream。最大 25 MB。各輸入方式詳見傳送圖片。

引數型別說明
image_filefile圖片(JPG、PNG 或 WebP),以 multipart 表單資料傳送。
image_file_b64stringbase64 格式的圖片,可帶或不帶 data:image/…;base64, 字首(解碼後最大 25 MB)。適合在 JSON 中使用。
image_urlstring圖片的公開 http(s) URL。我們會下載它(最多 3 次重定向,15 s)。如果同時傳送多個,優先使用 image_file,其次是 image_file_b64,然後是 image_url,最後是原始請求體。
formatpng | jpg | webp輸出格式。預設為 png。JPG 不支援透明:會以 bg_color 或白色作為底色合成。
bg_color顏色填充背景:十六進位制(ffffff、#fff)、rgb(255, 255, 255),或 white、black、red、green、blue、yellow、gray / grey。transparent(預設)保持透明。
sizepreview | medium | hd | full畫素上限(百萬畫素),保持寬高比,絕不放大:preview ≤ 0.25 MP,medium ≤ 1.5 MP,hd ≤ 4 MP,full(預設)為原始解析度(最高 25 MP)。設定了 width 或 height 時忽略。
croptrue | false | W:H裁剪到主體的邊界框。指定寬高比(1:1、4:5、4:3、16:9…)時,邊界框會圍繞主體擴充套件(絕不縮小)到該比例;超出原圖的區域為透明(或 bg_color)。預設為 false。
paddingpx | 小數 | %配合 crop 使用:每邊增加的邊距。0.1 或 10% = 主體寬度(左/右)和高度(上/下)的十分之一;"10%,7.5%" 分別設定水平和垂直邊距;24px(或大於 1 的純整數)表示畫素,最大 500。預設為 0。
channelsrgba | rgb | alphargba(預設):透明去背。rgb:不透明,以 bg_color 或白色作為底色合成。alpha:灰度 PNG 蒙版(白色 = 主體),尺寸和裁剪與去背相同。type=mask 仍可作為 alpha 的別名使用。
width / height1–6000精確的輸出尺寸(畫素),在裁剪之後應用(覆蓋 size)。只設置其中一個時,另一個按寬高比自動計算。絕不拉伸。
roix1 y1 x2 y2感興趣區域,單位為 px 或 %(例如 0% 0% 50% 100%)。僅保留區域內的主體;區域外的一切都會成為背景。座標基於原始圖片。預設:整張圖片。
fitcontain | cover | scale-down配合 width 和 height 使用。contain(預設):完整放入並居中,其餘部分透明(或 bg_color)。cover:填滿整個框,圍繞主體裁掉溢位部分。scale-down:類似 contain,但絕不放大。

選項按以下順序應用:roi,size(或之後的 width/height),crop + padding + 寬高比,width/height + fit,然後是 channels 或背景顏色,最後是 format。所有選項都只消耗同樣的 1 點數。未知引數會被忽略。

示例:白底高畫質 JPG,裁剪到主體並留 40 px 邊距

curl -X POST https://removebackground.dev/v1/remove \
  -H 'x-api-key: YOUR_API_KEY' \
  -F 'image_file=@product.jpg' \
  -F 'bg_color=ffffff' \
  -F 'format=jpg' \
  -F 'size=hd' \
  -F 'crop=true' \
  -F 'padding=40' \
  -o product-no-bg.jpg

示例:電商平臺方形主圖,主體居中並留 10% 邊距

curl -X POST https://removebackground.dev/v1/remove \
  -H 'x-api-key: YOUR_API_KEY' \
  -F 'image_file=@product.jpg' \
  -F 'crop=1:1' -F 'padding=10%' \
  -F 'width=1000' -F 'height=1000' \
  -F 'format=jpg' -F 'bg_color=white' \
  -o product-square.jpg

示例:輸入 base64,輸出 Alpha 蒙版

printf '{"image_file_b64":"%s","channels":"alpha"}' "$(base64 < portrait.jpg | tr -d '\n')" > request.json

curl -X POST https://removebackground.dev/v1/remove \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data-binary @request.json \
  -o portrait-mask.png

200 OK

圖片位元組,並附帶以下響應頭:

響應頭含義
X-Image-Width / X-Image-Height結果的尺寸(畫素)(也會以 X-Width / X-Height 傳送)。
X-Request-ID你傳送的 X-Request-ID(如有),否則為生成的 id。聯絡支援時請提供該值。
X-Processing-Time-Ms處理請求所花的時間(也會以 X-Processing-Ms 傳送)。
X-Matte-Confidence0–1:蒙版的確定程度(所有畫素 |2a − 1| 的平均值,a = alpha)。接近 1 表示去背乾淨;數值越低,表示柔和或不確定的邊緣越多。
X-Matte-Ambiguous-Ratioalpha 嚴格介於 0.1 和 0.9 之間的畫素佔比(頭髮、玻璃、運動模糊)。可用於標記需要人工檢查的圖片。
X-Credits-Remaining處理此圖片後的餘額。
X-Removal-Id已儲存結果的 id。
X-Job-Id該請求對應任務的 id(可用於 /v1/jobs/:id)。

202 Accepted(佇列較長時的後備方案)

如果圖片在約 55 秒內未完成(例如佇列異常繁忙時),你會收到 202 和 JSON { id, status, status_url, result_url }(以及 Location 和 Retry-After: 2)。輪詢 status_url 直到 done 為 true,然後下載 result_url。只有圖片處理成功時才扣費一次。沒有 Idempotency-Key 時不要重新發送圖片:那會建立第二個任務。完整示例參見處理響應。

GET /v1/jobs/:id

由 /v1/remove 或 /v1/batch 建立的任務的狀態。使用同一個金鑰;你只能看到自己的任務。

欄位含義
statusqueued、processing、succeeded、partial、failed 或 canceled
done沒有待處理內容時為 true
total, succeeded, failed, skipped圖片數量統計
credits_charged該任務消耗的點數(每張成功的圖片 1 點數)
status_url, result_url輪詢地址和下載地址
items[]每張圖片:position、input、status、error { code, message },成功時還包括 removal_id、width、height、format、result_url

GET /v1/jobs/:id/result

已完成任務的圖片位元組,響應頭與 /v1/remove 相同。?item=N 用於選擇批次任務中的某張圖片(預設為 0)。任務仍在執行時返回 409 not_ready 和 Retry-After: 2;如果圖片失敗,則返回該圖片自身的錯誤。

POST /v1/batch

將最多 100 個圖片 URL 作為一個任務排隊:JSON { "image_urls": ["https://…", …], "format": "jpg", "bg_color": "ffffff", "size": "hd", "crop": "1:1", "padding": "10%" },支援與 /v1/remove 相同的選項(包括 channels、width、height 和 fit)。立即返回 202 和 { id, status, total, invalid, duplicates, status_url }。輪詢任務,然後獲取每個條目的 result_url。每張成功的圖片 1 點數;每個帳戶最多同時有 3 個未完成的批次任務。包含示例響應的完整演練見批次完整流程。

相容 remove.bg 的端點

remove.bg 的自助 API 將於 1 December 2026, 09:00 CET 停止服務(公告)。現有的 remove.bg 整合只需修改一行即可在這裡使用:https://api.remove.bg/v1.0/removebg → https://removebackground.dev/v1.0/removebg,並在同一個 X-Api-Key 請求頭中使用 removebackground.dev 金鑰。與 /v1/remove 使用相同的佇列、相同的每張成功圖片 1 點數、相同的輸出品質。遷移指南。

POST /v1.0/removebg

使用 remove.bg 引數名的 multipart、urlencoded 或 JSON 請求體。返回圖片位元組和 remove.bg 的響應頭;傳送 Accept: application/json 時返回 { "data": { "result_b64", "foreground_top", "foreground_left", "foreground_width", "foreground_height" } }。錯誤採用 remove.bg 的格式:{ "errors": [{ "title", "code", "detail" }] }。與 /v1/remove 不同,它從不返回 202:它最多等待 110 秒,然後返回 503 超時。任務會繼續執行,成功時扣費,因此重試該請求會建立第二個任務。

引數狀態碼說明
image_file / image_file_b64 / image_url支援支援 multipart、urlencoded 或 JSON 請求體。JPG、PNG 或 WebP,最大 25 MB。
size支援auto、full、4k 和 50MP 返回原始解析度(最高 25 MP);preview、small 和 regular 約 0.25 MP;medium 1.5 MP;hd 4 MP。始終消耗 1 點數。
format支援auto(有透明區域時為 PNG,否則為 JPG)、png、jpg、webp 和 zip(color.jpg + alpha.png)。
crop / crop_margin支援以 px 或主體的 % 表示,1–4 個 CSS 風格的值("10% 20%" = 垂直、水平);每邊最多 500px 或 50%。
roi支援"x1 y1 x2 y2",單位為 px 或 %:僅保留區域內的主體。
scale / position支援scale 為 10%–100% 或 original;position 為 center、original 或 "x% y%"。
channels支援rgba(去背)或 alpha(灰度蒙版)。
bg_color支援十六進位制顏色,帶或不帶 #(81d4fa),或顏色名稱。8 位十六進位制值會保留顏色並丟棄其 alpha。
bg_image_url / bg_image_file支援去背會疊加在你的背景圖片上,背景圖片以 cover 方式適配輸出尺寸。
Accept: application/json支援返回 { data: { result_b64, foreground_top, foreground_left, foreground_width, foreground_height } }。
type / type_level接受但忽略主體會被自動識別;X-Type 始終為 "other"。
semitransparency接受但忽略柔和邊緣和半透明區域直接來自模型生成的蒙版。
shadow_type / shadow_opacity / add_shadow接受但忽略不新增陰影。
長時間執行的請求有差異我們最多等待 110 秒;如果屆時圖片仍未就緒,你會收到可重試的 503(除非處理完成,否則不扣費)。

示例

curl -H "X-Api-Key: $REMOVEBG_API_KEY" \
  -F 'image_file=@photo.jpg' -F 'size=auto' \
  -F 'crop=true' -F 'crop_margin=10%' -F 'bg_color=ffffff' \
  -o no-bg.jpg https://removebackground.dev/v1.0/removebg

響應頭

響應頭含義
X-Width / X-Height結果的尺寸(畫素)。
X-Credits-Charged該圖片消耗的點數:始終為 1(失敗的圖片為 0)。
X-Type始終為 "other"(主體自動識別)。
X-Foreground-Top / -Left / -Width / -Height結果中主體的邊界框,單位為畫素。
X-Request-ID回傳你的 X-Request-ID,或一個生成的 id。額外提供。
X-Matte-Confidence / X-Matte-Ambiguous-Ratio蒙版的乾淨程度(0–1),以及柔和畫素的佔比。額外提供:可用於標記需要人工檢查的圖片。

錯誤

狀態碼含義
400引數或圖片無效(錯誤碼如 invalid_size、invalid_crop_margin、missing_source、file_too_large、unknown_foreground)。
402insufficient_credits:請在價格頁面充值。
403auth_failed:X-Api-Key 缺失或無效。
429rate_limit_exceeded。
500 / 503處理失敗、超時或服務暫時不可用。請重試;失敗的圖片免費。

GET /v1.0/account

以 remove.bg 帳戶格式返回的餘額:{ "data": { "attributes": { "credits": { "total", "subscription": 0, "payg", "enterprise": 0 }, "api": { "free_calls": 0, "sizes": "all" } } } }。所有點數都是按需充值且永不過期,因此 total 等於 payg。使用你的 X-Api-Key 呼叫 GET https://removebackground.dev/v1.0/account。

錯誤(/v1 端點)

失敗的圖片從不扣費。

狀態碼錯誤碼含義
400missing_image, invalid_url, invalid_body, invalid_json, invalid_image_b64, invalid_format, invalid_bg_color, invalid_size, invalid_crop, invalid_padding, invalid_type, invalid_channels, invalid_width, invalid_height, invalid_fit, invalid_roi, fetch_failed, fetch_timeout, rejected, too_many_images, invalid_images請求或圖片 URL 無法使用。
401unauthorizedx-api-key 缺失、錯誤或已撤銷。
402insufficient_credits, out_of_credits你的餘額為零。請在價格頁面充值。
404not_found沒有該任務(或該任務不屬於你)。
409not_ready, canceled, idempotency_key_reused任務仍在執行時呼叫了 GET …/result(2 s 後重試)、任務已被取消,或 Idempotency-Key 被用於不同的請求。
410result_unavailable結果已被刪除或已過期。
413too_large圖片超過 25 MB。
422processing_failed, invalid_image, missing_upload該檔案不是可讀取的圖片。不扣費。
429rate_limited, too_many_batches超出每個帳戶的請求頻率限制(等待 Retry-After),或你已有 3 個批次任務正在執行。
502model_unavailable, upstream_error, …多次重試後仍無法處理該圖片。不扣費。
503server_paused, unavailableAPI 已暫停(上線前)或暫時不可用。請稍後重試。

批次完整流程

1. 提交

curl -X POST https://removebackground.dev/v1/batch \
  -H "x-api-key: $REMOVEBG_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{ "image_urls": ["https://example.com/front.jpg", "https://example.com/back.jpg"], "format": "png", "size": "hd" }'

最多 100 個公開圖片 URL,以及任意 /v1/remove 選項。上面的兩個佔位 URL 如果是真實圖片,最多會消耗 2 點數。響應會立即返回:

202 Accepted
{
  "id": "3f6c2a9e-8d1b-4c7a-9e2f-5b8d0a1c4e77",
  "status": "queued",
  "total": 2,
  "invalid": 0,
  "duplicates": 0,
  "status_url": "https://removebackground.dev/v1/jobs/3f6c2a9e-8d1b-4c7a-9e2f-5b8d0a1c4e77"
}

invalid 統計不是 http(s) URL 的條目,duplicates 統計重複項;兩者都會被丟棄,且不會扣費。請儲存 id:重啟後要靠它重新獲取任務。

2. 輪詢任務

每隔幾秒呼叫 GET /v1/jobs/:id,直到 done 為 true。status 從 queued 變為 processing,最終為 succeeded、partial(部分圖片失敗)或 failed。正在重試的條目顯示為 retrying。

{
  "id": "3f6c2a9e-…",
  "status": "partial",
  "done": true,
  "total": 2, "succeeded": 1, "failed": 1, "skipped": 0,
  "credits_charged": 1,
  "items": [
    { "position": 0, "input": "https://example.com/front.jpg", "status": "succeeded",
      "removal_id": "…", "width": 1600, "height": 1200, "format": "png",
      "result_url": "https://removebackground.dev/v1/jobs/3f6c2a9e-…/result?item=0" },
    { "position": 1, "input": "https://example.com/back.jpg", "status": "failed",
      "error": { "code": "fetch_failed", "message": "…" } }
  ]
}

3. 下載每個結果

對每個成功的條目呼叫 GET /v1/jobs/:id/result?item=N(或使用其 result_url)。item 是從零開始的 position。位置按你的列表在移除無效和重複 URL 之後排列,因此當任一計數大於 0 時,請按 input 而不是按索引匹配結果。

  • 一旦 done 為 true,該批次就不再計入 3 個未完成批次的限制。
  • API 沒有取消端點、webhook 或 ZIP 下載。在批次處理頁面啟動的批次可以在該頁面取消或下載為 ZIP。

重試、重複與計費

傳送 Idempotency-Key,重試就不會重複扣費。在 POST /v1/remove 或 POST /v1/batch 中新增 Idempotency-Key 請求頭(任意唯一字串,最長 255 個字元,例如 UUID),每張圖片或每個批次一個鍵。如果你用相同的鍵再次傳送相同的請求,會得到第一次請求建立的任務,並帶有 Idempotent-Replayed: true:不會建立新任務,也不會再次扣費,即使第一次請求仍在執行。相同的鍵配合不同的圖片或選項會返回 409 idempotency_key_reused。鍵歸屬於你的帳戶,不會過期。

不帶鍵時,每個 POST 都會建立一個新任務,每個成功的任務消耗 1 點數(相容 remove.bg 的 POST /v1.0/removebg 不支援鍵)。讀取任務(GET /v1/jobs/…)始終免費,可以放心重複呼叫。

IDEMPOTENCY_KEY=$(uuidgen)   # one per image; send the same one on every retry

curl -X POST https://removebackground.dev/v1/remove \
  -H "x-api-key: $REMOVEBG_API_KEY" \
  -H "Idempotency-Key: $IDEMPOTENCY_KEY" \
  -F 'image_file=@photo.jpg' \
  -o photo-no-bg.png

哪些情況消耗點數

情況費用
請求在處理前被拒絕(金鑰錯誤、選項錯誤、檔案過大、點數不足)免費。
圖片無法處理(422 圖片無效,或我們重試後仍返回 502)免費。
圖片處理成功1 點數,成功時扣一次。我們內部的重試不會額外扣費。
你收到 202暫不扣費。任務繼續執行,只有成功時才扣 1 點數。
你的客戶端在等待時超時或斷開連線任務繼續執行,成功時扣費。結果會出現在你的作品庫中。
你用相同的 Idempotency-Key 傳送了兩次相同的請求只有一個任務,最多 1 點數。重複請求會得到同一個任務(響應頭 Idempotent-Replayed: true)。
你在不帶鍵的情況下發送了兩次相同的圖片兩個獨立任務;每個成功的任務消耗 1 點數。
你再次下載已完成的結果免費,在儲存期間可隨意下載。
批次部分成功每張成功的圖片 1 點數;任務中的 credits_charged 顯示總計。
批次中同一個 URL 出現兩次同一批次內的重複項會在排隊前被丟棄,不會扣費。不同批次中的相同 URL 是獨立的任務。
批次處理過程中點數用完已完成的圖片照常計費;其餘圖片標記為已跳過(out_of_credits),不扣費。購買點數後,把剩餘的 URL 作為新批次傳送。

何時重試

發生了什麼如何處理
GET /v1/jobs/:id 或 …/result 失敗(網路錯誤、5xx)可以放心重試:讀取任務不會建立新工作,也不會扣費。重試之間稍作退避。
GET …/result 返回 409 not_ready等待 Retry-After(2 s)後再次請求。不要重新提交圖片。
GET …/result 返回 410 result_unavailable儲存的結果已被刪除。重新處理圖片會建立新任務,並消耗 1 點數。
POST 返回 400、413 或 422先修正請求或圖片;原樣重新發送會得到相同的結果。
POST 返回 401 或 402修正金鑰或充值。不要迴圈重試。
POST 返回 429 rate_limited等待 Retry-After 中的秒數後再次傳送(使用相同的 Idempotency-Key)。每分鐘超過 60 張圖片?請使用 POST /v1/batch:一個請求最多 100 張。
POST /v1/batch 返回 429 too_many_batches等待你的 3 個未完成批次之一完成(輪詢它),然後再提交。
POST /v1/… 返回 503(unavailable、server_paused)未建立任務。稍等片刻後重試。(相容 remove.bg 的端點不同:它的 503 超時表示任務仍在執行。)
POST /v1/remove 返回 502該任務失敗,未扣費。重試會建立一個新任務。
POST 超時、連線斷開或收到 500如帶有 Idempotency-Key:用相同的鍵重新發送相同的請求,會得到原任務。如沒有鍵,任務可能已經存在並可能被扣費:請先檢視你的作品庫。
POST 返回 409 idempotency_key_reused該鍵已用於不同的圖片或選項。每張新圖片請使用新的鍵。

限制與儲存

限制項值超出時的錯誤
圖片檔案25 MB(25 × 1024 × 1024 位元組);JPG、PNG 或 WebP,根據檔案位元組識別413 too_large · 422 processing_failed
Base64 / JSON 請求體解碼後 25 MB(請求體可能大約多出三分之一)413 too_large
輸入解析度超過 25 MP 的圖片在處理前會縮小到 25 MP—
輸出尺寸寬度和高度均為 1–6000 px400 invalid_width / invalid_height
image_url 下載僅限 http(s),15 s 超時,最多 3 次重定向;私有地址、迴環地址和鏈路本地地址在每次重定向時都會被拒絕400 invalid_url · fetch_failed · fetch_timeout
在 POST /v1/remove 中等待約 55 s,之後返回 202 和任務 id202
批次大小每個 POST /v1/batch 最多 100 個圖片 URL400 too_many_images
未完成批次每個帳戶最多 3 個未完成的多圖任務(單張圖片不計入)429 too_many_batches
請求頻率每個帳戶每分鐘 60 個請求,POST /v1/remove、/v1/batch 和 /v1.0/removebg 合併計算。一個批次無論大小隻計一次。讀取任務不受限制429 rate_limited(帶 Retry-After)

結果保留多久

每個結果在生成後都會私密儲存在你的帳戶中 48 小時,之後刪除。在此之前,你可以通過 GET /v1/jobs/:id/result 或在作品庫中免費再次下載。 此後,結果連結會返回 410 result_unavailable;重新處理圖片會建立新任務。圖片刪除後,任務狀態記錄仍可讀取。上傳檔案的處理方式請參閱隱私政策;我們不會使用你的圖片訓練模型。

安全

請將 API 金鑰儲存在你自己控制的伺服器上。不要把它放進瀏覽器程式碼、移動應用、公開程式碼倉庫或 URL 中。如需讓你的使用者去除背景,請通過你的後端轉發他們的圖片,並在後端新增你自己的登入驗證和消費限額。

  • API 允許 CORS,以便在各類工具和伺服器端程式碼中使用。但這並不意味著可以把金鑰放在網頁中:任何人都能在網頁裡讀取它。
  • 同一帳戶下的所有金鑰共用同一點數餘額。請在帳戶頁面為每個應用或環境分別建立金鑰,這樣撤銷其中一個時不會影響其他金鑰。
  • 如果金鑰洩露,請立即在帳戶頁面撤銷它(會立即失效),然後建立一個新金鑰。我們只儲存每個金鑰的雜湊值,因此無法再次向你顯示金鑰。

故障排查

現象原因
我的 PNG 打不開響應體是 JSON(202 任務或錯誤),而不是圖片。儲存前請檢查 HTTP 狀態碼和 Content-Type。
我的指令碼超時了,但圖片出現在作品庫中你停止等待後任務仍在繼續執行。請用任務 id 獲取結果,而不是重新發送。
一張圖片被扣了兩次費它在沒有 Idempotency-Key 的情況下被髮送了兩次(通常是超時後的自動重試)。每張圖片使用一個鍵,並在重試時複用。
URL 在我的瀏覽器中能開啟,但 API 無法獲取該主機可能需要 Cookie 或登入、遮蔽伺服器訪問、重定向超過 3 次、耗時超過 15 s,或簽名 URL 已過期。請改為上傳檔案。
我的批次中途停止了檢視任務中的 items[]:失敗的條目帶有錯誤碼;帶 out_of_credits 的已跳過條目表示餘額已用完。
某個選項似乎不起作用未知的引數名會被靜默忽略。請對照參數列檢查拼寫。在 /v1.0/removebg 上,部分 remove.bg 選項會被接受但忽略(參見該表)。
背景不是透明的JPG 不支援透明。請使用 format=png 或 webp,並且不要設定 bg_color。
結果連結返回 410儲存的結果已被刪除。重新處理需消耗 1 點數。