API FÖR ATT TA BORT BAKGRUND · GUIDE

Så tar du bort bakgrunden från bilder med ett API

En utvecklarguide till API:er för att ta bort bakgrund: en förfrågan in, en transparent PNG ut. Fungerande kod i cURL, Python och JavaScript, plus batcher, omförsök, gränser och vad du gör nu när remove.bg:s självbetjänings-API läggs ner.

Uppdaterad 24 oktober 2026 · 14 min läsning

Att ta bort en bakgrund för hand tar några minuter per foto. Att göra det för varje produktuppladdning, profilbild eller miniatyrbild i din app kräver ett API för att ta bort bakgrund: en HTTP-förfrågan in, en färdig frilagd bild ut.

Den här guiden visar hur du integrerar ett på rätt sätt. Du får fungerande kod i cURL, Python och JavaScript, de utdataval som är värda att känna till, hur du hanterar långsamma bilder och bulkjobb, och hur du gör omförsök utan att betala två gånger. Exemplen använder removebackground.dev, vår systerprodukt, men mönstren gäller för alla leverantörer.

Så fungerar ett API för att ta bort bakgrund

Du skickar en bild, leverantören kör en segmenteringsmodell som skiljer motivet från bakgrunden, och du får tillbaka en ny bild. Kärnan i resultatet är en alfakanal: ett värde per pixel som anger hur mycket av varje pixel som hör till motivet. Helt täckande pixlar är motivet, helt transparenta pixlar är bakgrund, och värdena däremellan hanterar mjuka kanter som hår, päls och glas.

Utifrån den masken kan API:et returnera flera saker:

  • En transparent frilagd bild, oftast en PNG eller WebP utan bakgrund
  • Motivet mot en enfärgad bakgrund, utplattat till en JPG för marknadsplatser som kräver vit bakgrund
  • Själva masken, en gråskalebild som du kan använda i ditt eget kompositionsflöde
  • En beskuren eller skalad version, tajtad kring motivet och anpassad till en exakt storlek

Förfrågan är den enkla delen. En integration i produktion måste också hantera bilder som tar längre tid än vanligt, stora batcher, anropsgränser, omförsök och att hålla API-nyckeln borta från användarna.

Vad du ska titta efter i ett API för att ta bort bakgrund

Innan du skriver kod, kontrollera de här punkterna mot dina egna bilder och din egen trafik.

KriteriumVad du ska kontrolleraVarför det spelar roll
KantkvalitetHår, päls, transparenta föremål och röriga bakgrunder på 20 till 50 av dina egna bilderSkillnaden mellan leverantörer syns i de svåra fallen
IndatametoderFiluppladdning, publik URL, base64, råa bytesAvgör om du kan anropa det från en köarbetare utan att först ladda ner bilderna
UtdatavalFormat, bakgrundsfärg, beskärning, marginal, exakt storlek, maskutdataSparar dig ett andra bildbearbetningssteg
Långsamma bilderVad som händer när en bild tar längre tid än din HTTP-timeoutUtan ett jobb-id kan du betala två gånger när du försöker igen
BulkBatch-endpoint, batchstorlek, hur delvisa fel rapporterasStyr hur du hanterar katalogimporter
FaktureringDebitering per lyckad bild eller per förfrågan, prenumeration eller krediter, om krediter går utMisslyckade bilder och omförsök blir dyra i stor skala
GränserFilstorlek, upplösning, anropsgräns, lagringstid för resultatStyr designen av din kö och din lagring
IntegritetHur länge uppladdningar och resultat sparas, om bilderna tränar modellerOfta ett absolut krav från kunder

Steg 1: Skapa en API-nyckel

Registrera dig på removebackground.dev och skapa en nyckel på din kontosida. Nya konton får 50 gratis krediter, vilket räcker för att köra exemplen nedan och testa på dina egna bilder.

Spara nyckeln i en miljövariabel på din server:

export REMOVEBG_API_KEY="your_api_key"

Varje anrop skickar nyckeln i headern x-api-key, och varje anrop förbrukar det kontots krediter. Skapa en separat nyckel per app eller miljö så att du kan återkalla en utan att förstöra de andra.

Steg 2: Ta bort en bakgrund med cURL

Realtids-endpointen är POST https://removebackground.dev/v1/remove. Det snabbaste testet är en filuppladdning:

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

De flesta enskilda bilder kommer tillbaka färdiga i samma svar, oftast inom några sekunder, som en transparent PNG i full upplösning.

Endpointen tar emot bilden på fyra sätt. Skicka ett av dem:

IndataSå skickar du den
image_fileMultipart-formulärdata. JPG, PNG eller WebP, upp till 25 MB
image_urlEn publik http(s)-URL. API:et laddar ner den, följer upp till 3 omdirigeringar, med 15 sekunders timeout
image_file_b64Base64 i en JSON-body, med eller utan data:image-prefix, upp till 25 MB efter avkodning
Rå bodyBildens bytes med Content-Type image/jpeg, image/png, image/webp eller application/octet-stream

Om en förfrågan innehåller flera vinner image_file, sedan image_file_b64, sedan image_url och sist den råa bodyn. Alternativ kan skickas som formulärfält, JSON-nycklar eller query string-värden.

En sak att se upp med: -o sparar bodyn oavsett status. Om nyckeln är fel eller bilden ogiltig är din "PNG" i själva verket ett JSON-fel. Kontrollera statuskoden innan du litar på filen.

Steg 3: Hantera 200, 202 och fel i Python

Ett API för att ta bort bakgrund kan inte lova att varje bild blir klar inom en HTTP-förfrågan. När kön är ovanligt full och en bild tar längre tid än ungefär 55 sekunder svarar removebackground.dev 202 Accepted med ett jobb-id i stället för bilden. Jobbet fortsätter att köra, och du hämtar resultatet med id:t.

StatusBodyVad du gör
200Bilden (image/png, image/jpeg eller image/webp)Spara den. Använd Content-Type för att välja filändelse
202JSON med id, status, status_url och result_urlVänta ett par sekunder och hämta sedan resultatet med GET. Skicka inte bilden igen
4xx eller 5xxJSON: {"error": {"code", "message"}}Läs koden. Spara inte bodyn som en bild

Den viktigaste regeln: skicka aldrig bilden igen efter ett 202. Det startar ett andra jobb och kan kosta en andra kredit. Här är en komplett Python-version som skickar bilden en gång och bara upprepar de säkra anropen:

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: a retry with the same key returns the same job, never a second charge.
    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 is the image; anything else raises

    # 202: still processing. Wait for the same job.
    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 /v1/jobs/{job_id} later.")


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

Den kräver Python 3 och requests (pip install requests). Två detaljer är lätta att missa. För det första stoppar du inte jobbet genom att stoppa skriptet: det kan ändå bli klart och debiteras, och resultatet dyker upp i ditt kontos Studio. För det andra svarar GET /v1/jobs/:id/result med 409 not_ready medan jobbet körs, så behandla det som "vänta", inte som ett fel.

Samma flöde i JavaScript (Node.js)

Samma flöde i Node.js 18 eller senare, med inbyggda fetch, FormData och Blob, och en lokal filuppladdning:

import { readFile, writeFile } from "node:fs/promises"
import { randomUUID } from "node:crypto"

const API = "https://removebackground.dev"
const KEY = process.env.REMOVEBG_API_KEY // server side only
const EXT = { "image/png": ".png", "image/jpeg": ".jpg", "image/webp": ".webp" }
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms))

async function save(res, stem) {
  const mime = (res.headers.get("content-type") || "").split(";")[0]
  if (res.status !== 200 || !EXT[mime]) {
    throw new Error("HTTP " + res.status + ": " + (await res.text()).slice(0, 500))
  }
  const path = stem + EXT[mime]
  await writeFile(path, Buffer.from(await res.arrayBuffer()))
  return path
}

export async function removeBackground(filePath, stem = "result", maxWaitMs = 300000) {
  const form = new FormData()
  form.append("image_file", new Blob([await readFile(filePath)]), "upload")
  form.append("format", "png")

  const res = await fetch(API + "/v1/remove", {
    method: "POST",
    // Reuse the same Idempotency-Key if you retry this POST.
    headers: { "x-api-key": KEY, "Idempotency-Key": randomUUID() },
    body: form,
  })
  if (res.status !== 202) return save(res, stem)

  const { id } = await res.json()
  const deadline = Date.now() + maxWaitMs
  while (Date.now() < deadline) {
    await sleep(2000)
    const result = await fetch(API + "/v1/jobs/" + id + "/result", {
      headers: { "x-api-key": KEY },
    })
    if (result.status === 409) {
      const body = await result.json()
      if (body.error && body.error.code === "not_ready") continue
      throw new Error("Job " + id + ": " + body.error.code)
    }
    return save(result, stem)
  }
  throw new Error("Job " + id + " is still running. Check /v1/jobs/" + id + " later.")
}

console.log(await removeBackground("photo.jpg"))

API:et accepterar CORS-förfrågningar, vilket är praktiskt för verktyg och tester. Det gör det ändå inte säkert att anropa det från en webbsida med din nyckel i. Mer om det i säkerhetsavsnittet nedan.

Steg 4: Styr utdatan

De flesta appar vill inte ha en rå frilagd bild i full upplösning. De vill ha en kvadratisk produktbild på vitt, en liten förhandsvisning eller en mask. Att be API:et om den färdiga filen sparar dig ett andra bearbetningssteg. Det här är alternativen för /v1/remove:

ParameterVärdenVad den gör
formatpng, jpg, webpUtdataformat. Standard är png. JPG saknar transparens och plattas ut mot bg_color, eller vitt
bg_colorHex (ffffff, #fff), rgb(255, 255, 255) eller ett färgnamnFyller bakgrunden. Standard är transparent
sizepreview, medium, hd, fullTak i megapixlar med bibehållet bildförhållande, skalas aldrig upp: preview upp till 0,25 MP, medium 1,5 MP, hd 4 MP, full är originalet (upp till 25 MP)
croptrue, false eller ett förhållande som 1:1, 4:5, 16:9Beskär till motivet. Med ett förhållande utökas rutan till det förhållandet runt motivet
paddingPixlar, en bråkdel eller en procentsatsMarginal som läggs till runt motivet vid beskärning, upp till 500 px
channelsrgba, rgb, alphaTransparent frilagd bild (standard), ogenomskinlig bild eller en gråskalemask med motivet i vitt
width, height1 till 6000Exakt utdatastorlek i pixlar, tillämpas efter beskärning. Sträcks aldrig ut
fitcontain, cover, scale-downHur bilden anpassas när du anger både width och height
roix1 y1 x2 y2 i px eller %Bara motivet inom det här området behålls

Varje alternativ kostar samma 1 kredit, och okända parametrar ignoreras tyst, så ett stavfel ger inget fel. En kvadratisk bild för en marknadsplats med produkten centrerad och 10 % marginal ser ut så här:

curl -X POST https://removebackground.dev/v1/remove \
  -H "x-api-key: $REMOVEBG_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

Ett lyckat svar innehåller också användbara headers. X-Credits-Remaining visar ditt saldo efter bilden. X-Matte-Confidence (0 till 1) anger hur tydlig masken är, och X-Matte-Ambiguous-Ratio anger andelen mjuka pixlar som hår, glas eller rörelseoskärpa. Om du loggar de två kan du flagga frilagda bilder med låg säkerhet för manuell granskning i stället för att kontrollera varje bild.

Steg 5: Bearbeta bilder i bulk

För katalogimporter och efterbearbetning ska du inte skicka hundratals enskilda förfrågningar. POST /v1/batch köar upp till 100 publika bild-URL:er som ett jobb, med samma alternativ som /v1/remove, och svarar 202 direkt:

import os
import time
import uuid
import requests

API = "https://removebackground.dev"
s = requests.Session()
s.headers["x-api-key"] = os.environ["REMOVEBG_API_KEY"]

urls = ["https://example.com/front.jpg", "https://example.com/back.jpg"]

job = s.post(f"{API}/v1/batch",
             json={"image_urls": urls, "format": "png", "size": "hd"},
             headers={"Idempotency-Key": str(uuid.uuid4())}, timeout=30)
job.raise_for_status()
job_id = job.json()["id"]  # save it: it's how you resume after a restart

while True:
    time.sleep(3)
    status = s.get(f"{API}/v1/jobs/{job_id}", timeout=30).json()
    if status["done"]:
        break

print(status["status"], "credits charged:", status["credits_charged"])
for item in status["items"]:
    if item["status"] != "succeeded":
        print("failed:", item["input"], item.get("error"))
        continue
    img = s.get(item["result_url"], timeout=60)
    with open(f"out-{item['position']}.{item['format']}", "wb") as f:
        f.write(img.content)

Några regler från dokumentationen att bygga runt:

  • Jobbets status slutar som succeeded, partial (vissa bilder misslyckades) eller failed. Varje objekt i items har sin egen status och, vid fel, en felkod.
  • Poster som inte är http(s)-URL:er och upprepade URL:er tas bort och debiteras aldrig. När någon av de siffrorna är över 0, matcha resultaten via input i stället för position.
  • Du kan ha högst 3 öppna batchjobb per konto. En batch slutar räknas när done är true.
  • Om krediterna tar slut mitt i en batch förblir färdiga bilder betalda och resten markeras som överhoppade med out_of_credits, utan kostnad.
  • API:et har ingen avbryt-endpoint, inga webhooks och ingen ZIP-nedladdning, så polling är mönstret. Att läsa ett jobb är gratis och omfattas inte av anropsgränsen.

Föredrar du ett skript som du kan köra som det är? Guiden om batchbearbetning med Python går igenom ett komplett flöde från mapp till mapp.

Steg 6: Gör säkra omförsök och håll faktureringen förutsägbar

Nätverkstimeouter är orsaken till dubbeldebiteringar. Din klient ger upp, försöker igen, och nu finns det två jobb för en bild. Lösningen är en Idempotency-Key-header: valfri unik sträng på upp till 255 tecken, till exempel ett UUID, en per bild eller batch. Om du skickar samma förfrågan igen med samma nyckel får du jobbet som den första skapade, med headern Idempotent-Replayed: true, och ingen ny debitering. Att återanvända en nyckel för en annan bild ger svaret 409 idempotency_key_reused.

SvarVad du gör
Nätverksfel, timeout eller 500 på POSTSkicka samma förfrågan igen med samma Idempotency-Key
429 rate_limitedVänta de sekunder som anges i Retry-After och skicka sedan igen med samma nyckel
429 too_many_batchesVänta tills en av dina 3 öppna batcher är klar
400, 413 eller 422Rätta förfrågan eller bilden. Att skicka den oförändrad ger samma svar
401 eller 402Rätta nyckeln eller fyll på. Loopa inte
409 not_ready på ett resultatVänta 2 sekunder och fråga igen. Skicka inte in bilden igen
410 result_unavailableDet lagrade resultatet har raderats. Att bearbeta igen är ett nytt jobb och kostar 1 kredit
502 på POSTDet jobbet misslyckades och debiterades inte. Ett omförsök är ett nytt jobb

Faktureringen följer en enkel regel: 1 kredit när en bild lyckas, ingenting när den misslyckas. Förfrågningar som avvisas före bearbetning, oläsbara bilder och fel efter leverantörens egna omförsök är gratis, och att ladda ner ett färdigt resultat igen är gratis så länge det finns lagrat.

Gränser att designa runt

GränsVärde
Bildfil25 MB, JPG, PNG eller WebP, identifieras utifrån filens bytes
IndataupplösningBilder över 25 MP skalas ner till 25 MP före bearbetning
UtdatastorlekBredd och höjd vardera 1 till 6000 px
Nedladdning via image_urlEndast http(s), 15 sekunders timeout, upp till 3 omdirigeringar. Privata adresser och loopback-adresser nekas
Väntetid i POST /v1/removeUngefär 55 sekunder, sedan 202 med ett jobb-id
Batchstorlek100 bild-URL:er per förfrågan
Öppna batcher3 per konto
Anropstakt60 förfrågningar per minut och konto för alla POST-endpoints tillsammans. En batch räknas en gång, oavsett storlek
Lagring av resultat48 timmar, sedan raderas de

Om du behöver mer än 60 bilder i minuten är batch-endpointen lösningen: en förfrågan täcker upp till 100 bilder. Spara resultaten i din egen bucket så fort du laddat ner dem, eftersom resultatlänkarna svarar 410 efter 48 timmar. Enligt leverantörens dokumentation används uppladdade bilder inte för att träna modeller.

Byta från remove.bg:s API

remove.bg:s fristående webbplats och självbetjänings-API upphör den 1 december 2026 kl. 09:00 CET. API:et flyttar till Leonardo.Ai, vilket kräver att du ändrar din integration. Om du hellre vill slippa skriva om något har removebackground.dev en remove.bg-kompatibel endpoint, och bytet är en rad:

FöreEfter
https://api.remove.bg/v1.0/removebghttps://removebackground.dev/v1.0/removebg

Du behåller samma X-Api-Key-header (med en removebackground.dev-nyckel), samma parameternamn, samma svarsheaders och samma felformat:

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

Känn till skillnaderna innan du byter:

  • Inget 202. Den kompatibla endpointen väntar upp till 110 sekunder och returnerar sedan en 503-timeout. Jobbet fortsätter att köra och debiteras om det lyckas, så att blint försöka igen startar ett andra jobb.
  • Inga idempotensnycklar på den här endpointen. Om du behöver säkra omförsök, gå över till /v1/remove med tiden.
  • Vissa alternativ accepteras men ignoreras: type och type_level (motivet identifieras automatiskt), semitransparency och skuggalternativen (inga skuggor läggs till).
  • Storlek kostar alltid 1 kredit, även full upplösning.

Migreringsguiden har kod före och efter för cURL, Python, Node och PHP, plus steg för Zapier, Make och n8n.

Håll din API-nyckel borta från klienten

Det här är misstaget som kostar riktiga pengar. Om din nyckel finns i en webbsida, en mobilapp, ett publikt repo eller en URL kan vem som helst läsa den och spendera dina krediter.

  • Om dina egna användare ska kunna ta bort bakgrunder, skicka deras bilder via din backend och anropa API:et därifrån.
  • Lägg till egen inloggning och utgiftsgränser per användare i den backenden.
  • Använd en nyckel per app eller miljö.
  • Om en nyckel läcker, återkalla den på kontosidan. Den slutar fungera direkt. Leverantören sparar bara en hash av varje nyckel, så skapa en ny i stället för att försöka återställa den gamla.

Exempel: frilagda bilder för YouTube-miniatyrer

Om du bygger verktyg för kreatörer är miniatyrbilder en självklar användning. En miniatyr ses oftast i litet format, så den frilagda bilden måste bära den: ett ansikte eller en produkt, stort, med tydlig kant mot en enkel bakgrund. YouTube rekommenderar 3840 x 2160 px i 16:9 med en minsta bredd på 640 px, och accepterar JPG eller PNG upp till 50 MB från en dator, men bara 2 MB från mobilappen.

På API-sidan är det ett enda anrop som returnerar en transparent PNG beskuren kring motivet, redo att läggas på en 16:9-yta:

curl -X POST https://removebackground.dev/v1/remove \
  -H "x-api-key: $REMOVEBG_API_KEY" \
  -F 'image_file=@me.jpg' \
  -F 'crop=true' -F 'padding=5%' \
  -o me-cutout.png

Ta ett riktigt stillfoto för frilägningen i stället för att ta en bildruta från videon, eftersom bildrutor ofta har rörelseoskärpa, och håll nedre högra hörnet fritt eftersom YouTube visar videons längd där. Sidan om YouTube-miniatyrer täcker designdelen, och vår guide till dina första 1 000 prenumeranter förklarar varför miniatyrer betyder så mycket.

Ta bort bakgrunder från ChatGPT, Claude eller Cursor

Alla jobb kräver inte kod. removebackground.dev kör också en MCP-server på https://removebackground.dev/mcp, så du kan ladda upp ett foto i ChatGPT, Claude, Cursor, VS Code eller n8n och be om att få bakgrunden borttagen. I Claude Code är det ett kommando:

claude mcp add --transport http removebackground https://removebackground.dev/mcp

Skriv sedan /mcp i Claude Code för att logga in. Servern erbjuder tre verktyg: remove_background, get_job för borttagningar som tar längre än några sekunder, och check_credits. Varje bild kostar 1 kredit, samma som via API:et.

Vad det kostar

removebackground.dev är betala per användning utan prenumeration. Krediterna går aldrig ut, misslyckade bilder är gratis och nya konton får 50 gratis krediter. Via API:et motsvarar 1 kredit en lyckad bakgrundsborttagning i full upplösning.

PaketKrediterPrisPer bild
Starter4 00017 $0,0043 $
Pro15 00049 $0,0033 $
Scale40 00099 $0,0025 $

Priserna är i USD, och oanvända krediter kan återbetalas inom 30 dagar. Volympriser över Scale finns på begäran. Se prissidan för aktuella detaljer.

Sammanfattning

En stabil integration för att ta bort bakgrund handlar om några vanor: håll nyckeln på din server, kontrollera statusen innan du sparar bodyn, vänta på jobbet i stället för att skicka igen efter ett 202, skicka en Idempotency-Key med varje POST och använd batch-endpointen för bulkarbete.

Den fullständiga referensen, inklusive OpenAPI 3.1-specifikationen, finns i API-dokumentationen. Om du arbetar med video lika väl som bilder använder vår jämförelse av API:er för YouTube-transkript och vår guide till tal till text-integration samma produktionsmönster för text.

Vanliga frågor

Vad är ett API för att ta bort bakgrund?+

Det är en HTTP-endpoint som tar emot en bild och returnerar samma bild utan bakgrund, oftast som PNG med transparent bakgrund. Du skickar en fil, en URL eller base64, och leverantören kör segmenteringsmodellen åt dig.

Hur tar jag bort bakgrunden från en bild i Python?+

Använd biblioteket requests för att skicka bilden med POST till API:et med din nyckel i en header, och spara svarets body till en fil när statusen är 200. Om API:et kan svara 202 för långsamma bilder frågar du jobbets resultat-URL i stället för att skicka bilden igen. Python-exemplet i den här guiden hanterar båda fallen.

Vad kostar ett API för att ta bort bakgrund?+

Det beror på leverantören. removebackground.dev tar 1 kredit per lyckad bild, med kreditpaket från 17 $ för 4 000 krediter (0,0043 $ per bild) till 99 $ för 40 000 krediter (0,0025 $ per bild). Det finns ingen prenumeration, krediterna går aldrig ut, misslyckade bilder är gratis och nya konton får 50 gratis krediter.

Kan jag fortsätta använda min remove.bg-kod när remove.bg:s API stängs?+

remove.bg:s självbetjänings-API upphör den 1 december 2026 kl. 09:00 CET. removebackground.dev har en remove.bg-kompatibel endpoint, så du byter URL från https://api.remove.bg/v1.0/removebg till https://removebackground.dev/v1.0/removebg och använder en removebackground.dev-nyckel i samma X-Api-Key-header.

Kan jag anropa ett API för att ta bort bakgrund direkt från webbläsaren?+

Det bör du inte. Vem som helst kan läsa en API-nyckel som skickas med i en webbsida eller app. Skicka bilderna via din egen backend, förvara nyckeln där och lägg till egen inloggning och egna utgiftsgränser för dina användare.

Hur får jag en transparent PNG i stället för vit bakgrund?+

Begär PNG- eller WebP-utdata och lämna bakgrundsfärgen tom. JPG kan inte lagra transparens, så ett JPG-resultat plattas alltid ut mot en enfärgad bakgrund.

Läs vidare

立即开始免费提取文本

Konvertera YouTube-videor till text på några sekunder. Inget kreditkort krävs.

Prova YOUTUBETRANSCRIPT.DEV →
Ta bort bakgrund från bilder med ett API: guide med kod