Getting started

Quickstart

Removit API is an asynchronous image processing API for developers who need a clean upload image API, predictable job polling, and final asset delivery in ecommerce or media workflows.

Each upload request creates a tracked job. The API returns a job_id immediately, then the client or backend worker polls the job status API until processing is complete.

Quickstart example

First upload request

This example starts a params job from a remote image URL and prepares a final URL delivery.

curl -X POST https://api.removit.eu/api/v1/upload \
  -H "Content-Type: application/json" \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -d '{
    "file_url": "https://example.com/image.jpg",
    "mode": "params",
    "params": "Test-Api",
    "delivery_mode": "final_url",
    "output_format": "webp"
  }'
How it works

A short async workflow developers can scan quickly

The root page explains the end-to-end model in a few seconds so teams know where to go next in the documentation.

01

Create a job with /upload

Start the workflow by sending an image, a mode, and any optional parameters to the upload endpoint.

02

Store the returned job_id

A successful request does not return the final file. It returns a tracking payload for the new job.

03

Poll /status

Use the job_id to read status, state, progress, and the final URL fields until the job is done.

04

Consume the final result

Depending on delivery_mode, read final_url or final_urls and hand the result to your application.

Why teams use this API

Removit API helps developers automate background removal, clipping, parameterized render sets, and final asset delivery without embedding image logic directly in the frontend.

Asynchronous image processing API

Upload a source image, receive a job_id immediately, and decouple processing time from the user-facing request lifecycle.

Background removal and clipping

Choose background, clipping, or params mode depending on the output workflow you want to automate.

Final assets or intermediate variations

Return a single final_url for simple integrations or final_urls for more technical image pipelines.

How the workflow behaves

The integration flow is intentionally short and predictable, which makes it easy to wire into a backend job runner or a CMS, DAM, or PIM bridge.

01

Send an image to POST /api/v1/upload

Provide either a remote file_url in JSON or a direct file in multipart/form-data.

02

Receive a job_id and initial status

A successful upload returns immediately with a queued status, the requested mode, and the new job identifier.

03

Poll GET /api/v1/status

Use the returned job_id to query job progress every 2 to 5 seconds with progressive backoff.

04

Wait for state=done

The processing is complete only when the simplified client state is done.

05

Read final_url or final_urls

Use final_url for a single resolved output or final_urls for a set of generated variations.

Base URL and async contract

Every upload response is asynchronous. You should always keep the returned job_id and treat the upload step as a job creation request, not as a direct image delivery request.

Base URLhttps://api.removit.eu/api/v1

Use this base path for all Removit API requests.

Immediate responsejob_id + status + mode

Uploads return a tracking payload, not the final processed image.

Main endpoints

The documentation is organized around two core endpoints: upload for job creation and status for job tracking and result retrieval.

UploadPOST /api/v1/upload

Creates a new asynchronous image processing job.

StatusGET /api/v1/status

Returns the current processing state and the final URLs when the job is done.

Supported input formats

The upload endpoint accepts two request shapes depending on whether the source file is already reachable by URL.

  • application/json with file_url
  • multipart/form-data with file

Available processing modes

The mode parameter selects the image workflow to apply during processing.

  • background
  • clipping
  • params