← Vissza a teszt eszközhöz

API leírás

A háttéreltávolító végpont a felület nélkül, közvetlenül is hívható. Egy hívás egy képet dolgoz fel.

Végpont

POST https://hub.douplademo.com/api/public/photoroom

Hitelesítés: X-Overlay-Key: <a kapott kulcs> fejléc. Kulcs nélkül a végpont csak a projekt saját tárhelyéről származó képet fogad el (ezt használja a beépített felület).

1. Kép URL küldése (JSON)

curl -X POST https://hub.douplademo.com/api/public/photoroom \
  -H "X-Overlay-Key: $OVERLAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "imageUrl": "https://pelda.hu/termek.jpg",
    "bgColor": "FFFFFF",
    "format": "png",
    "outputSize": "1600x1600"
  }' \
  --output eredmeny.png

2. Fájl közvetlen feltöltése (multipart)

curl -X POST https://hub.douplademo.com/api/public/photoroom \
  -H "X-Overlay-Key: $OVERLAY_API_KEY" \
  -F "imageFile=@termek.jpg" \
  -F "bgColor=FFFFFF" \
  -F "format=png" \
  -F "outputSize=1600x1600" \
  --output eredmeny.png

Mezők

MezőKötelezőLeírás
imageUrlJSON módban igenNyilvánosan elérhető HTTPS kép URL.
imageFilemultipart módban igenJPG / PNG / WEBP, legfeljebb 25 MB.
bgColornemHex szín # nélkül, alapértelmezés: FFFFFF.
formatnempng | jpeg | webp, alapértelmezés: png.
outputSizenemPéldául 1600x1600. Üresen az eredeti arányt tartja.

Válasz

Siker esetén a válasz maga a kész kép (bináris), a megfelelő Content-Typefejléccel. Diagnosztikai fejlécek: X-PR-Endpoint, X-PR-Upstream-Status, X-PR-Fallback, X-PR-Duration-Ms, és fallback esetén X-PR-Note.

Ha X-PR-Fallback: true, a fiók nem éri el a teljes szerkesztő végpontot: a válasz háttér nélküli PNG, a háttérszínt és a méretezést a hívó oldalnak kell ráraknia.

400  hibás bemenet (URL, formátum, méret)
401  hiányzó vagy hibás X-Overlay-Key
429  percenkénti hívásszám túllépve (60/perc)
500  hiányzó szerveroldali beállítás
502  a PhotoRoom vagy a kép letöltése hibázott (JSON hibaobjektum)

Batch (sok kép)

A végpont szándékosan egy képet dolgoz fel hívásonként — így nem fut időkorlátba. A ciklust a hívó oldal végzi, ajánlottan 3–5 párhuzamos hívással.

const KEY = process.env.OVERLAY_API_KEY;

async function process(imageUrl) {
  const res = await fetch("https://hub.douplademo.com/api/public/photoroom", {
    method: "POST",
    headers: { "X-Overlay-Key": KEY, "Content-Type": "application/json" },
    body: JSON.stringify({ imageUrl, bgColor: "FFFFFF", format: "png" }),
  });
  if (!res.ok) throw new Error(await res.text());
  return Buffer.from(await res.arrayBuffer());
}

// 4 párhuzamos szál
const queue = [...urls];
await Promise.all(
  Array.from({ length: 4 }, async () => {
    for (let url; (url = queue.shift()); ) {
      await process(url);
    }
  }),
);