API RemovalForge dostęp założycielski
Wszystko, co robi darmowe narzędzie, dostępne z Twoich własnych skryptów, arkuszy i pipeline’ów wystawiania ofert. Jeden endpoint, wyniki gotowe pod marketplace, stała miesięczna cena zamiast tokenów za każde zdjęcie. Poniższa specyfikacja jest ostateczna; publiczny endpoint rusza wkrótce. Chcesz klucz pierwszego dnia? Napisz na bestmarketdealer@gmail.com z tematem "API".
Jedna uczciwa uwaga, zanim cokolwiek zintegrujesz. Narzędzie w przeglądarce nie potrzebuje żadnego API i nigdy nie będzie: sieć neuronowa działa na Twoim urządzeniu, za darmo, bez limitów, do 100 zdjęć na partię. API istnieje do innego zadania, którego przeglądarka nie wykona: automatyzacji bez człowieka. Nocne pipeline’y ofert, skrypty w arkuszach, własne aplikacje.
Starter
1500 zdjęć miesięcznie, wszystkie presety, pełna rozdzielczość, bez znaku wodnego.
Zamów klucz StarterForge
6000 zdjęć miesięcznie, szybsza kolejka, własne rozmiary i tła, wsparcie mailowe od twórców.
Zamów klucz ForgeScale
25000 zdjęć miesięcznie, najwyższe limity, pomoc we wdrożeniu, faktury.
Zamów klucz ScaleZamówienie to jeden mail, klucz i dane do płatności wracają tego samego dnia, klucz aktywuje się do 24 godzin. Przyjmujemy kartę, PayPal, Revolut i Wise. Rezygnujesz w dowolnym miesiącu. API to jedyna płatna rzecz tutaj, bo serwer to jedyna rzecz, która nas kosztuje; narzędzie w przeglądarce zostaje darmowe na zawsze.
Endpoint
POST https://api.removalforge.com/v1/remove Header: X-API-Key: twoj_klucz Body: multipart/form-data
| Pole | Typ | Znaczenie |
|---|---|---|
| file | binarny, wymagany | JPEG, PNG lub WebP do 40 MB |
| preset | string | allegro_2560, allegro_1600, allegro_grey_2560, amazon_2000, ebay_1600, etsy_2000, instagram_1080, facebook_1200, youtube_1280, transparent_png. Domyślnie allegro_2560 |
| width, height | liczba | Własny rozmiar 100 do 4000 px, nadpisuje preset |
| background | string | Kolor hex np. FFFFFF, albo "transparent" |
| padding | liczba | 0 do 0.2, margines wokół produktu. Domyślnie 0.07 |
| format | string | jpeg lub png. Domyślnie wg presetu |
Odpowiedź to gotowy obraz, binarnie, z typem image/jpeg lub image/png. Bez koperty JSON, bez drugiego zapytania o pobranie. Błędy wracają jako JSON z wyjaśnieniem: 401 zły klucz, 413 plik za duży, 422 nieczytelny obraz, 429 limit zapytań, 500 błąd przetwarzania.
curl
curl -X POST https://api.removalforge.com/v1/remove \ -H "X-API-Key: twoj_klucz" \ -F "file=@produkt.jpg" \ -F "preset=allegro_2560" \ -o produkt_biale.jpg
JavaScript
const form = new FormData();
form.append("file", fileBlob, "produkt.jpg");
form.append("preset", "allegro_2560");
const res = await fetch("https://api.removalforge.com/v1/remove", {
method: "POST",
headers: { "X-API-Key": "twoj_klucz" },
body: form
});
if (!res.ok) throw new Error(await res.text());
const czysteZdjecie = await res.blob();
Python
import requests
with open("produkt.jpg", "rb") as f:
r = requests.post(
"https://api.removalforge.com/v1/remove",
headers={"X-API-Key": "twoj_klucz"},
files={"file": f},
data={"preset": "allegro_2560"},
timeout=60,
)
r.raise_for_status()
with open("produkt_biale.jpg", "wb") as out:
out.write(r.content)
Google Apps Script
function usunTlo(fileBlob) {
var res = UrlFetchApp.fetch("https://api.removalforge.com/v1/remove", {
method: "post",
headers: { "X-API-Key": "twoj_klucz" },
payload: { file: fileBlob, preset: "allegro_2560" },
muteHttpExceptions: true
});
if (res.getResponseCode() !== 200) throw new Error(res.getContentText());
return res.getBlob();
}
Drugi endpoint: odczyt napisów na zdjęciu nowość
Zdjęcia od dostawców przychodzą pokryte tekstem: obcymi napisami reklamowymi, stemplami z rozmiarem, znakami wodnymi. Zanim zdjęcie trafi do oferty, chcesz wiedzieć, które obrazy zawierają napisy, żeby je odrzucić albo wyczyścić. Ten endpoint odczytuje zdjęcie i odpowiada zwykłym JSON-em. Działa na tym samym serwerze co usuwanie tła i jest wliczony w każdy klucz. Wyślij mu link do obrazu albo bajty w base64.
POST https://api.removalforge.com/v1/detect_writing Header: X-API-Key: twoj_klucz Body: application/json
| Pole | Typ | Znaczenie |
|---|---|---|
| url | string | Link do obrazu do odczytania. Wyślij to ALBO b64. |
| b64 | string | Obraz w base64, jeśli wolisz przesłać same bajty. |
Odpowiedzią jest JSON, nie obraz:
{
"ok": true,
"has_writing": true,
"cjk": true,
"latin": false,
"digits_only": false,
"items": [{ "text": "...", "score": 0.98 }],
"engine": "rapidocr",
"ms": 740
}
| Pole | Znaczenie |
|---|---|
| has_writing | true, jeśli na zdjęciu znaleziono jakikolwiek czytelny tekst. |
| cjk | true, jeśli występują znaki chińskie, japońskie lub koreańskie. To jest flaga, która wyłapuje napisy dostawców. |
| latin | true, jeśli występują litery łacińskie. |
| digits_only | true, gdy jedyny tekst to liczby i znaki w rodzaju "15 cm", żeby zwykły stempel z rozmiarem nie był traktowany jak napis. |
| items | każdy znaleziony blok tekstu wraz z pewnością rozpoznania. |
Błędy wracają jako JSON: 401 zły klucz, 400 brak obrazu, 500 błąd odczytu.
import requests
info = requests.post(
"https://api.removalforge.com/v1/detect_writing",
headers={"X-API-Key": "twoj_klucz"},
json={"url": "https://example.com/zdjecie.jpg"},
timeout=60,
).json()
if info["cjk"]:
pass # obce napisy: odrzuc albo wyczysc to zdjecie
Przepis: wyczyść całą ofertę automatycznie
Oba endpointy łączą się w dokładnie ten proces, którego potrzebuje sprzedawca sprowadzający towar zza granicy. Odczytaj każde zdjęcie, a jeśli którekolwiek zawiera napisy, ustaw wszystkie na białym tle dla spójnej galerii. Potem odczytaj wyczyszczone zdjęcia ponownie i odrzuć te, na których napis był nadrukowany na samym produkcie i przetrwał. To, co zostanie, to czysta, jednolita galeria oferty, bez udziału człowieka.
Dlaczego stała cena
Kredyty za zdjęcie karzą dokładnie tę osobę, dla której to narzędzie powstało: sprzedawcę wystawiającego hurtowo. Sfotografuj czterdzieści produktów w niedzielę, a licznik kredytów zamieni Twój najlepszy dzień pracy w najdroższy. API wystartuje ze stałym miesięcznym planem dopasowanym do realnego wolumenu wystawiania, a darmowe narzędzie w przeglądarce pozostaje darmowe na zawsze.