Integration GuideUpdated 2026

Automate DMS Inventory Photos With a Background Removal API

A blueprint for connecting your DMS, IMS, or inventory feed to the car background removal API so every new vehicle gets clean, consistent studio photos automatically — no manual editing.

12 min read

This guide is part of the AutoBackgrounding API documentation series. See live endpoints, rate limits, and per-image pricing from on the API pricing & docs page.

View API Pricing & Docs

The single biggest time sink in dealership photography is not taking photos — it is editing them. This guide shows how to eliminate that step entirely by connecting your DMS or inventory management system to the car background removal API, so every new vehicle that hits your lot automatically gets clean, consistent studio-quality photos without anyone touching an editor.

The manual inventory photo problem

A typical used-car operation adds vehicles daily. Each one needs 20 to 40 photos, and each photo traditionally needs manual background cleanup to look professional on your VDP, third-party marketplaces, and Facebook. That is thousands of manual edits a month. An inventory photo API replaces that labor with a pipeline that runs on its own.

The automation architecture

The end-to-end flow has four stages, and each maps cleanly to a piece of the automotive photo API:

  1. Detect — notice that a new vehicle (or new photos) entered your DMS.
  2. Submit — send each raw lot photo to the background removal API with the VIN attached.
  3. Receive — get the cleaned image back via webhook when processing completes.
  4. Publish — write the clean photo back to your DMS and syndicate it out.

Detecting new vehicles

How you trigger the image processing API depends on what your DMS exposes. Three common patterns cover almost every system:

  • Scheduled feed pull — fetch your inventory feed every 15 minutes and diff it.
  • Inventory webhook — the DMS calls you when a vehicle is added.
  • VIN diffing — compare the current VIN set against the last processed set.

Here is a simple scheduled diff that finds newly added vehicles from an inventory feed:

javascript
import { getProcessedVins, markProcessed } from "./store.js"
import { processVehicle } from "./pipeline.js"

"tok-comment">// Runs on a schedule (cron, queue, or serverless timer)
export async function syncInventory(feedUrl) {
  const feed = await fetch(feedUrl).then((r) => r.json())
  const known = await getProcessedVins()

  const newVehicles = feed.vehicles.filter((v) => !known.has(v.vin))
  console.log("Found", newVehicles.length, "new vehicles to process")

  for (const vehicle of newVehicles) {
    await processVehicle(vehicle)
    await markProcessed(vehicle.vin)
  }
}

Mapping photos to VINs

The key to a reliable pipeline is never losing track of which cleaned photo belongs to which vehicle. Attach the VIN and a photo index to every job via the metadata field. The background removal API echoes it back on the webhook, so matching is trivial.

The processing pipeline in code

This pipeline submits every photo for a new vehicle to the automotive photo API, tagging each with the VIN and slot so the results can be reassembled in order:

javascript
import { autobgFetch } from "./client.js"

export async function processVehicle(vehicle) {
  const { vin, photos } = vehicle "tok-comment">// photos: array of lot photo URLs

  const jobs = await Promise.all(
    photos.map((url, index) =>
      autobgFetch("/images/process", {
        method: "POST",
        body: JSON.stringify({
          image_url: url,
          background: "white_studio",
          remove_other_vehicles: true,
          webhook_url: "https:">//yourapp.com/webhooks/autobg",
          metadata: { vin, slot: index }, "tok-comment">// echoed back on completion
        }),
      }),
    ),
  )

  console.log("Submitted", jobs.length, "photos for VIN", vin)
  return jobs
}

When each job finishes, your webhook handler receives the cleaned output_url along with the vin and slot you set. See the webhooks and async processing guide for the complete, signature-verified handler.

Pushing clean photos back out

Once you have the processed image, write it back to your DMS photo record and let your existing syndication push it to your website, AutoTrader, Cars.com, CarGurus, and Facebook Marketplace. Because every vehicle now goes through the same inventory photo API, your entire lot has a consistent, branded look with zero manual editing.

javascript
"tok-comment">// Called from your verified webhook handler on image.completed
async function onImageCompleted(event) {
  const { vin, slot } = event.metadata

  "tok-comment">// Save the clean studio photo back to the vehicle record
  await dms.updateVehiclePhoto({
    vin,
    slot,
    url: event.output_url,
  })

  "tok-comment">// Your existing feed handles syndication to marketplaces
  console.log("Updated VIN", vin, "photo slot", slot)
}

That is a complete, hands-off inventory photo pipeline built on the car background removal API: detect new vehicles, process every photo automatically, and publish clean results back to your DMS. To wire it into your stack, grab an API key and review endpoints and per-image pricing on the API pricing & docs page.

Frequently Asked Questions

Which DMS and inventory systems can connect to the background removal API?

Any system that can expose vehicle records and photo URLs — via API, data feed, FTP, or webhook — can be connected. Common examples include vAuto, DealerCenter, Frazer, HomeNet, and custom inventory management systems. The API is system-agnostic; you only need a way to read new vehicle photos and write the cleaned results back.

How does the automation know when a new vehicle is added?

You trigger processing from whatever signal your DMS provides: a scheduled feed pull, a new-inventory webhook, or a periodic diff against the last known VIN list. The article covers all three trigger patterns.

How are processed photos matched back to the right vehicle?

Pass the VIN (and your internal photo ID) in the job metadata when you submit each image. The API echoes that metadata back on completion, so you always know which vehicle and which photo slot a cleaned image belongs to.

How much does automated inventory processing cost?

Billing is per processed image, starting at 5 cents on higher-volume plans. Because automation processes each photo once, costs are predictable and scale linearly with inventory turnover. See the API pricing and docs page for details.

Start Building With the Car Background Removal API

Automotive-trained background removal from just 5¢ per image. Get an API key and process your first vehicle photo in minutes.

Continue the Series