Skip to main content
POST
Remove an image's background (transparent PNG)
Rimuovi lo sfondo da una image sorgente, producendo un PNG trasparente. La chiamata restituisce 202 Accepted con un id del job; interroga GET /images/background-removals/{id} per il risultato. L’image prende esattamente uno tra image_id, url o base64 + mime_type. Non c’è alcun parametro di modello — v1 usa il modello di rimozione dello sfondo predefinito. Richiede lo scope images.transform.

Esempio: una sorgente per modalità

Il percorso normale (addebitato) restituisce un job pending:
202 Accepted
Costo = 1 credit su un miss; 0 su un cache hit. Quando la sorgente è un image_id che possiedi e per esso esiste già un risultato con lo sfondo rimosso, l’invio restituisce immediatamente 202 con status: "completed" e estimated_credits: 0 — nessun nuovo job viene messo in coda e il limite di concorrenza della tua organizzazione non viene consumato. Ogni altro caso (una sorgente https url/base64 o un image_id posseduto senza risultato pronto) è il normale percorso addebitato sopra.
202 Accepted (cache hit)

Errori

Autorizzazioni

Authorization
string
header
obbligatorio

Organization API key as a bearer token: Authorization: Bearer samsa_sk_....

Corpo

application/json

POST /images/background-removals body (SAM-820 / S8.8 — ADR §7, §8, §10).

Remove the background from ONE source image, producing a transparent PNG. The source is exactly one of image_id (an image in your organization's context), an https url, or base64+mime_type. There is NO model parameter — v1 uses the default background-removal model.

Cost = 1 credit on a miss; 0 on a cache HIT. When the source is an image_id you own and a background-removed result already exists for it, the submit returns 202 with status: "completed" and estimated_credits: 0 immediately (no new job is queued and the org's concurrency cap is not consumed). Every other case (an https url/base64 source, or an owned image_id with no ready result) is the normal charged path: 202 with status: "pending" and estimated_credits: 1.

image
PublicImageEditSource · object
obbligatorio

The source image: exactly one of image_id, an https url, or base64+mime_type.

webhook_url
string | null

Optional https webhook notified once on terminal status (signed per the webhook signature scheme; see the webhooks docs). On a cache hit the completed event fires immediately.

Esempio:

"https://example.com/webhooks/samsa"

Risposta

Successful Response

Shared 202 body for the transform-op submits (SAM-813 / S8 wave).

Every POST /images/<op> returns the async job handle {id, status, estimated_credits}. The initial status is pending (the job is queued), with ONE exception: background-removals and vectorizations answer an owned-image_id cache hit (a ready result already exists for that image) with status: "completed" and estimated_credits: 0 — no new job is queued, the completed webhook event is emitted immediately for a supplied webhook_url, and the result is already available from the op's GET .../{id} endpoint. The other transform ops (img2img, variations, resizes, upscales) always start pending.

id
string<uuid>
obbligatorio

The job id — poll the op's GET .../{id} endpoint.

status
enum<string>
obbligatorio

Initial status: pending (job queued — enter the polling flow), or completed with estimated_credits: 0 when background-removals / vectorizations serve an owned-image cache hit (the result is immediately available).

Opzioni disponibili:
pending,
processing,
completed,
failed,
cancelled
Esempio:

"pending"

estimated_credits
integer
obbligatorio

Credits this job is expected to cost — 0 on a cache-hit completed response.

Esempio:

5