Ta strona została przetłumaczona maszynowo. Zauważyłeś błąd?Pomóż ją ulepszyć.
Skip to content

Dokumentacja silnika AI

Pakiet @snapotter/ai koordynuje natywne narzędzia i środowiska wykonawcze Python dla lokalnych operacji ML. Większość narzędzi ML wykorzystuje trwały Python sidecar do szybkiego ciepłego startu. OCR jest celowo oddzielny: fast wywołuje natywny plik binarny Tesseract, podczas gdy balanced i best używają dedykowanego trwałego JSONL dispatcher przypiętego do aktywnej, niezmiennej generacji RapidOCR w ramach /data/ai/v3. Każde żądanie zawiera generation lease. Podczas aktualizacji SnapOtter uruchamia smoke test na kandydacie przed aktywacją, atomowo przełącza się na nowy dispatcher, a następnie opróżnia starą generację przed garbage collection.

NVIDIA CUDA jest automatycznie wykrywany i używany przez środowiska wykonawcze, które go obsługują. OCR używa CPU na każdym hoście, w tym na systemach z procesorami graficznymi NVIDIA, unikając łączenia CUDA i sterowników dla tego narzędzia.

Przyspieszenie iGPU Intel/AMD za pośrednictwem VA-API, Quick Sync lub OpenCL nie jest obecnie obsługiwane dla wnioskowania AI. Mapowanie /dev/dri do kontenera nie przyspiesza tych narzędzi procesu pomocniczego Pythona, chyba że dostępny jest GPU NVIDIA obsługujący CUDA.

19 narzędzi AI procesu pomocniczego Pythona w czterech modalnościach (obraz, dźwięk, wideo, dokument), plus 2 narzędzia z opcjonalnymi funkcjami AI. Wszystkie modele działają lokalnie - po początkowym pobraniu modeli internet nie jest wymagany.

Zgodność OCR dla języka koreańskiego

Szybki OCR obsługuje auto, en, de, es, fr, zh i ja, ale nie język koreański (ko). Koreański wymaga dokładnego pakietu OCR i balanced lub best. Pakiet działa w oficjalnych kontenerach Linux amd64 i arm64, także na hostach NVIDIA, gdzie OCR nadal używa CPU. Nieobsługiwany system otrzymuje jawny błąd zgodności i nigdy po cichu nie przechodzi na fast. Koreański z fast lub starszym aliasem tesseract jest odrzucany przed zakolejkowaniem z FEATURE_INCOMPATIBLE i fast-korean-unsupported.

Architektura

Node.js Tool Route
      |
      v
 @snapotter/ai bridge.ts
      | (stdin/stdout JSON + stderr progress events)
      v
 +-- Native Tesseract + Ghostscript (fast image/PDF OCR)
 |
 +-- Isolated OCR runtime (persistent JSONL dispatcher)
 |     `-- RapidOCR + ONNX Runtime CPU + pinned PP-OCR models
 |
 `-- Python dispatcher (persistent process, "ai" profile)
      |
      |-- remove_bg.py        (rembg / BiRefNet)
      |-- upscale.py          (RealESRGAN)
      |-- inpaint.py          (LaMa ONNX)
      |-- outpaint.py         (LaMa canvas expansion)
      |-- detect_faces.py     (MediaPipe)
      |-- face_landmarks.py   (MediaPipe landmarks)
      |-- enhance_faces.py    (GFPGAN / CodeFormer)
      |-- colorize.py         (DDColor)
      |-- noise_removal.py    (SCUNet / tiered denoising)
      |-- red_eye_removal.py  (landmark + color analysis)
      |-- restore.py          (scratch repair + enhancement + denoising)
      |-- transcribe.py       (faster-whisper speech-to-text)
      +-- install_feature.py  (on-demand bundle installer)

Oddzielny profil dyspozytora "docs" zastępuje listę dozwolonych AI skryptami do przetwarzania dokumentów (doc_pagecount, doc_health, doc_flatten, doc_redact, doc_text, doc_to_word, doc_metadata, doc_html_pdf) i pomija ciężkie importy ML.

Limity czasu: 300 s domyślnie; OCR i usuwanie tła BiRefNet otrzymują 600 s.

Pakiety funkcji

Modele AI są pakowane według współdzielonego stosu zależności, a nie jako jedno archiwum na narzędzie. Pakiet funkcji może włączyć kilka narzędzi, gdy używają tej samej rodziny modeli, tych samych pakietów wheel Pythona lub natywnych bibliotek. Utrzymuje to mniejszy rozmiar wydania obrazu Docker i pozwala uniknąć przechowywania zduplikowanych kopii tych samych modeli mattingu tła, wykrywania twarzy, OCR, renowacji i mowy.

Obraz Docker dostarcza aplikację oraz wspólne środowisko uruchomieniowe. Duże archiwa modeli są pobierane na żądanie do trwałego woluminu /data/ai, a następnie ponownie wykorzystywane przez każde narzędzie, które ich potrzebuje. Jeśli pakiet jest już zainstalowany, ponieważ inne narzędzie go potrzebowało, włączenie nowego zależnego narzędzia nie powoduje ponownego pobrania tego pakietu.

Większość narzędzi AI wymaga jednego lub więcej pakietów funkcji, zanim będą mogły zostać uruchomione. Interfejs administratora instaluje je za pomocą narzędzia POST /api/v1/admin/tools/:toolId/features/install, które rozpoznaje pełną listę pakietów, pomija już zainstalowane pakiety i umieszcza w kolejce tylko brakujące pliki do pobrania. Na przykład włączenie zdjęcia paszportowego w kolejkach świeżych instancji background-removal i face-detection; włączenie go po usunięciu tła jest już zainstalowanych kolejek tylko face-detection. OCR jest wyjątkiem, ponieważ fast nie wymaga pakietu; zainstaluj opcjonalne dokładne środowisko wykonawcze za pośrednictwem interfejsu użytkownika lub POST /api/v1/admin/features/ocr/install.

PakietRozmiarWspółdzielona grupa zależnościNarzędzia, które go używają
background-removal4-5 GBmatting tła rembg / BiRefNetremove-background, passport-photo, transparency-fixer, background-replace, blur-background
face-detection200-300 MBwykrywanie twarzy i punktów charakterystycznych MediaPipeblur-faces, red-eye-removal, smart-crop
object-eraser-colorize1-2 GBinpainting/outpainting LaMa oraz DDColorerase-object, colorize, ai-canvas-expand
upscale-enhance5-6 GBRealESRGAN, GFPGAN / CodeFormer, odszumianieupscale, enhance-faces, noise-removal
photo-restoration4-5 GBnaprawa rys i potok renowacjirestore-photo
ocr~208-234 MiB pobierz / ~409-488 MiB zainstalowanyOpcjonalne modele RapidOCR 3.9.1, ONNX Runtime 1.20.1 i przypinane PP-OCRocr, ocr-pdf (tylko balanced i best)
transcription~600 MBmodele mowy na tekst faster-whispertranscribe-audio, auto-subtitles

Narzędzia z zależnościami międzypakietowymi:

NarzędzieWymagane pakietyDlaczego
passport-photobackground-removal, face-detectionUsuwa tło, a następnie używa punktów charakterystycznych twarzy do wykadrowania zgodnie z zasadami zdjęć paszportowych i dowodowych.
enhance-facesupscale-enhance, face-detectionWykrywa twarze przed uruchomieniem ulepszenia GFPGAN lub CodeFormer na wybranych obszarach twarzy.

Narzędzie jest dostępne tylko wtedy, gdy zainstalowane są wszystkie wymagane pakiety, z wyjątkiem OCR: jego wbudowana warstwa fast pozostaje dostępna bez opcjonalnego pakietu OCR. Instalacje częściowe są ważne i obsługiwane przyrostowo: zainstalowane pakiety są ponownie wykorzystywane, brakujące pakiety są wyświetlane jako pliki do pobrania, a instalacje w kolejce są uruchamiane pojedynczo, więc współdzielone środowisko Python nie jest modyfikowane jednocześnie.

Dokładna instalacja środowiska wykonawczego OCR

Dokładny pakiet OCR to specyficzne dla platformy środowisko uruchomieniowe dla oficjalnego kontenera Linux amd64 lub Linux arm64. Kompilacja amd64 wykorzystuje Python 3.12; kompilacja arm64 wykorzystuje Python 3.11. Obie kompilacje działają od RapidOCR do ONNX Runtime CPUExecutionProvider, więc ten sam pakiet działa na hostach wyposażonych tylko w procesor i NVIDIA Docker. Dokładny czas działania wymaga co najmniej 4 GiB efektywnej pamięci: skonfigurowany limit kontenera cgroup, w przeciwnym razie pamięć hosta. System poniżej podpisanego minimum zgodności jest odrzucany przed pobraniem. Wymaganie to nie dotyczy wbudowanego Fast OCR. Kompilacje Bare-metal są odrzucane, ponieważ nie można bezpiecznie wywnioskować ich libc i Python ABI; Szybki OCR pozostaje dostępny, gdy host udostępnia Tesseract i Ghostscript.

Opcjonalny artefakt to około 208-234 skompresowany MiB i wyodrębniony 409-488 MiB, w zależności od architektury. Podpisany indeks wiąże dokładną liczbę skompresowanych i wyodrębnionych bajtów wymuszonych przez instalatora. Wbudowany Tesseract dodaje około 25 MiB do oficjalnego obrazu i nie wymaga żadnych plików w /data/ai.

Instalacja online pobiera podpisany indeks wersji i dokładny artefakt adresowany do treści dla bieżącej platformy. SnapOtter weryfikuje sygnaturę indeksu Ed25519, rozmiar artefaktu, podsumowanie SHA-256, podsumowania modelu, ścieżki, tryby plików i etapową smoke test przed atomową aktywacją nowej generacji. Nieudana instalacja pozostawia aktywną poprzednią, zdrową generację.

W przypadku instalacji z przerwą powietrzną prześlij zarówno wersję ocr-runtime-index.json, jak i pasujące archiwum wykonawcze OCR do POST /api/v1/admin/features/import, używając wieloczęściowych pól o nazwach index i archive. Import offline stosuje te same kontrole podpisu, skrótu, ekstrakcji, zgodności i testu dymu, co podczas instalacji online; archiwum bez zaufanego podpisanego indeksu jest odrzucane.


Usuwanie tła

Trasa narzędzia: remove-background
Model: rembg z BiRefNet (domyślnie) lub warianty U2-Net

ParametrTypDomyślnieOpis
modelstring-Wariant modelu (opcjonalne nadpisanie)
backgroundTypestring"transparent"Jeden z: transparent, color, gradient, blur, image
backgroundColorstring-Kolor hex dla jednolitego tła
gradientColor1string-Pierwszy kolor gradientu
gradientColor2string-Drugi kolor gradientu
gradientAnglenumber-Kąt gradientu w stopniach
blurEnabledboolean-Włącz efekt rozmycia tła
blurIntensitynumber (0-100)-Intensywność rozmycia
shadowEnabledboolean-Włącz cień pod obiektem
shadowOpacitynumber (0-100)-Krycie cienia
outputFormatstring-Format wyjściowy: png, webp lub avif
edgeRefineinteger (0-3)-Poziom wygładzania krawędzi
decontaminateboolean-Usuń przenikanie koloru z krawędzi

Zamiana tła

Trasa narzędzia: background-replace
Model: rembg / BiRefNet (współdzielony z remove-background)

Usuwa tło i zastępuje je jednolitym kolorem lub gradientem.

ParametrTypDomyślnieOpis
backgroundType"color" | "gradient""color"Tryb tła
colorstring"#ffffff"Kolor hex tła (gdy backgroundType to color)
gradientColor1string-Pierwszy kolor hex gradientu
gradientColor2string-Drugi kolor hex gradientu
gradientAngleinteger (0-360)180Kąt gradientu w stopniach
featherinteger (0-20)0Promień wtapiania krawędzi
format"png" | "webp""png"Format wyjściowy

Rozmycie tła

Trasa narzędzia: blur-background
Model: rembg / BiRefNet (współdzielony z remove-background)

Rozmywa tło, zachowując ostrość obiektu.

ParametrTypDomyślnieOpis
intensityinteger (1-100)50Intensywność rozmycia
featherinteger (0-20)0Promień wtapiania krawędzi
format"png" | "webp""png"Format wyjściowy

Powiększanie obrazu

Trasa narzędzia: upscale
Model: RealESRGAN (z rezerwowym Lanczos, gdy niedostępny)

ParametrTypDomyślnieOpis
scalenumber2Współczynnik powiększenia
modelstring"auto"Wariant modelu
faceEnhancebooleanfalseZastosuj przebieg ulepszania twarzy GFPGAN
denoisenumber0Siła odszumiania
formatstring"auto"Nadpisanie formatu wyjściowego
qualitynumber95Jakość wyjściowa (1-100)

OCR / Wyodrębnianie tekstu

Trasa narzędzia: ocr
Modele: Tesseract (fast); RapidOCR z małymi modelami PP-OCRv6 (balanced); PP-OCRv6 średnie modele z kalibrowaną punktacją wariantów (best)

ParametrTypDomyślnieOpis
quality"fast" | "balanced" | "best"DynamicznyGdy pominięto quality i engine, SnapOtter wybiera najlepszy dostępny poziom w kolejności best, balanced, fast. Dla języka koreańskiego nigdy nie wybiera fast; używa best, następnie balanced, albo zwraca błąd instalacji lub zgodności dokładnego środowiska.
languagestring"auto"Język: auto, en, de, fr, es, zh, ja, ko
enhancewartość logicznaZależne od poziomuPopraw lokalny kontrast. Fast stosuje go bezpośrednio; dokładne poziomy utrzymują wariant tylko wtedy, gdy skalibrowana punktacja poprawia OCR. Domyślnie włączone dla Najlepsze
enginesmyczkowy-Przestarzały alias zgodności. Mapuje tesseract na fast i starszą wartość paddleocr na balanced; nie ładuje PaddlePaddle

Zwraca wyodrębniony tekst oraz metadane pochodzenia: silnik, żądaną i rzeczywistą jakość, urządzenie, dostawcę, stan degradacji, ostrzeżenia i dokładne wersje środowiska wykonawczego/modelu, jeśli ma to zastosowanie. Wyraźne żądania jakości nigdy nie przechodzą na inny poziom. Jeżeli balanced lub best jest niedostępne, API zwraca FEATURE_NOT_INSTALLED lub FEATURE_INCOMPATIBLE zamiast cichego działania fast.

OCR PDF

Trasa narzędzia: ocr-pdf
Modele: Ten sam system poziomów co OCR obrazu

Wyodrębnia tekst ze skanowanych dokumentów PDF przy użyciu OCR wspieranego przez AI, strona po stronie.

ParametrTypDomyślnieOpis
quality"fast" | "balanced" | "best"DynamicznyGdy pominięto quality i engine, SnapOtter wybiera najlepszy dostępny poziom w kolejności best, balanced, fast. Dla języka koreańskiego nigdy nie wybiera fast; używa best, następnie balanced, albo zwraca błąd instalacji lub zgodności dokładnego środowiska.
languagestring"auto"Język: auto, en, de, fr, es, zh, ja, ko
pagesstring"all"Wybór stron: "all", "1-3", "1,3,5"
enhancewartość logicznaZależne od poziomuPopraw lokalny kontrast. Fast stosuje go bezpośrednio; dokładne poziomy utrzymują wariant tylko wtedy, gdy skalibrowana punktacja poprawia OCR. Domyślnie włączone dla Najlepsze
enginesmyczkowy-Przestarzały alias zgodności. Mapuje tesseract na fast i starszą wartość paddleocr na balanced; nie ładuje PaddlePaddle

Ta sama zasada zakazu zmiany wersji ma zastosowanie do PDF OCR. Strony PDF są rasteryzowane przed rozpoznaniem, a jedno żądanie może wybrać maksymalnie 50 stron.

Rozmycie twarzy / danych osobowych

Trasa narzędzia: blur-faces
Model: wykrywanie twarzy MediaPipe

ParametrTypDomyślnieOpis
blurRadiusnumber (1-100)30Promień rozmycia gaussowskiego
sensitivitynumber (0-1)0.5Próg pewności wykrywania

Ulepszanie twarzy

Trasa narzędzia: enhance-faces
Modele: GFPGAN, CodeFormer

ParametrTypDomyślnieOpis
model"auto" | "gfpgan" | "codeformer""auto"Model ulepszania
strengthnumber (0-1)0.8Siła ulepszania
sensitivitynumber (0-1)0.5Próg wykrywania twarzy
onlyCenterFacebooleanfalseUlepsz tylko najbardziej centralną twarz

Koloryzacja AI

Trasa narzędzia: colorize
Model: DDColor (z rezerwowym OpenCV DNN)

Przekształca zdjęcia czarno-białe lub w skali szarości na pełny kolor.

ParametrTypDomyślnieOpis
intensitynumber (0-1)1.0Siła nasycenia kolorów
model"auto" | "ddcolor" | "opencv""auto"Wariant modelu

Usuwanie szumu

Trasa narzędzia: noise-removal
Model: SCUNet (wielopoziomowy potok odszumiania)

ParametrTypDomyślnieOpis
tier"quick" | "balanced" | "quality" | "maximum""balanced"Poziom przetwarzania
strengthnumber (0-100)50Siła odszumiania
detailPreservationnumber (0-100)50Ile detali zachować; wyższa wartość zachowuje więcej tekstury
colorNoisenumber (0-100)30Siła redukcji szumu kolorów
formatstring"original"Format wyjściowy: original, png, jpeg, webp, avif, jxl
qualitynumber (1-100)90Jakość kodowania wyjścia

Usuwanie czerwonych oczu

Trasa narzędzia: red-eye-removal

Wykrywa punkty charakterystyczne twarzy, lokalizuje obszary oczu i koryguje nadmierne nasycenie kanału czerwonego.

ParametrTypDomyślnieOpis
sensitivitynumber (0-100)50Próg wykrywania czerwonych pikseli
strengthnumber (0-100)70Siła korekcji
formatstring-Nadpisanie formatu wyjściowego (opcjonalne)
qualitynumber (1-100)90Jakość wyjściowa

Renowacja zdjęć

Trasa narzędzia: restore-photo

Wieloetapowy potok dla starych lub uszkodzonych zdjęć: wykrywanie i naprawa rys/rozdarć, ulepszanie twarzy, odszumianie oraz opcjonalna koloryzacja.

ParametrTypDomyślnieOpis
scratchRemovalbooleantrueWykryj i napraw rysy, rozdarcia
faceEnhancementbooleantrueZastosuj przebieg ulepszania twarzy
fidelitynumber (0-1)0.7Siła ulepszania twarzy (wyższa = bardziej zachowawcza)
denoisebooleantrueZastosuj przebieg odszumiania
denoiseStrengthnumber (0-100)25Siła odszumiania
colorizebooleanfalseKoloryzuj po renowacji
colorizeStrengthnumber (0-100)85Intensywność koloryzacji

Zdjęcie paszportowe

Trasa narzędzia: passport-photo
Modele: punkty charakterystyczne twarzy MediaPipe + usuwanie tła BiRefNet

Dwufazowy przepływ pracy: analiza (wykryj twarz + usuń tło), a następnie generowanie (kadrowanie, zmiana rozmiaru, kafelkowanie). Obsługuje ponad 37 krajów w 6 regionach.

Faza 1: Analiza

POST /api/v1/tools/image/passport-photo/analyze

Przyjmuje plik obrazu (multipart). Zwraca dane punktów charakterystycznych twarzy, podgląd base64 oraz wymiary obrazu.

Faza 2: Generowanie

POST /api/v1/tools/image/passport-photo/generate

Przyjmuje treść JSON z wynikami Fazy 1 oraz ustawieniami generowania:

ParametrTypDomyślnieOpis
jobIdstring(wymagane)Identyfikator zadania z Fazy 1
filenamestring(wymagane)Oryginalna nazwa pliku z Fazy 1
countryCodestring(wymagane)Kod kraju ISO (np. US, GB, IN)
documentTypestring"passport"Typ dokumentu
bgColorstring"#FFFFFF"Kolor tła hex
printLayoutstring"none"Układ wydruku: none, 4x6, a4, letter
maxFileSizeKbnumber0Maksymalny rozmiar pliku w KB (0 = brak limitu)
dpinumber (72-1200)300DPI wyjścia
customWidthMmnumber-Niestandardowa szerokość w mm (nadpisuje specyfikację kraju)
customHeightMmnumber-Niestandardowa wysokość w mm (nadpisuje specyfikację kraju)
zoomnumber (0.5-3)1Współczynnik przybliżenia
adjustXnumber0Korekta położenia w poziomie
adjustYnumber0Korekta położenia w pionie
landmarksobject(wymagane)Punkty charakterystyczne z Fazy 1
imageWidthnumber(wymagane)Szerokość obrazu z Fazy 1
imageHeightnumber(wymagane)Wysokość obrazu z Fazy 1

Usuwanie obiektów (Inpainting)

Trasa narzędzia: erase-object
Model: LaMa przez ONNX Runtime

Maska jest wysyłana jako druga część pliku (nazwa pola mask), a nie jako base64. Białe piksele w masce wskazują obszary do usunięcia. Ustawienia format i quality są wysyłane jako pola formularza najwyższego poziomu.

ParametrTypDomyślnieOpis
filefile(wymagane)Obraz źródłowy (multipart)
maskfile(wymagane)Obraz maski (multipart, nazwa pola mask, biały = usuń)
formatstring"auto"Format wyjściowy: auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl
qualityinteger (1-100)95Jakość wyjściowa

Przyspieszane przez CUDA, gdy dostępny jest GPU NVIDIA.

Rozszerzanie kadru AI

Trasa narzędzia: ai-canvas-expand
Model: outpainting oparty na LaMa

Rozszerza kadr obrazu w dowolnym kierunku i wypełnia nowe obszary treścią wygenerowaną przez AI, która pasuje do istniejącego obrazu.

ParametrTypDomyślnieOpis
extendTopinteger0Piksele do rozszerzenia u góry
extendRightinteger0Piksele do rozszerzenia po prawej
extendBottominteger0Piksele do rozszerzenia u dołu
extendLeftinteger0Piksele do rozszerzenia po lewej
tier"fast" | "balanced" | "high""balanced"Poziom jakości
formatstring"auto"Format wyjściowy: auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl
qualityinteger (1-100)95Jakość wyjściowa

Co najmniej jeden kierunek rozszerzenia musi być większy niż 0.

Inteligentne kadrowanie

Trasa narzędzia: smart-crop
Model: wykrywanie twarzy MediaPipe (tylko tryb twarzy)

ParametrTypDomyślnieOpis
modestring"subject"Strategia kadrowania: subject, face, trim
strategy"attention" | "entropy""attention"Strategia dla trybu obiektu
widthinteger-Szerokość wyjścia
heightinteger-Wysokość wyjścia
paddinginteger (0-50)0Procent marginesu wokół obiektu
facePresetstring"head-shoulders"Predefiniowane kadrowanie, gdy mode=face
sensitivitynumber (0-1)0.5Próg wykrywania twarzy
thresholdinteger (0-255)30Próg wykrywania tła (tryb przycinania)
padToSquarebooleanfalseDopełnij przycięty wynik do kwadratu
padColorstring"#ffffff"Kolor tła dla dopełnienia kwadratowego
targetSizeinteger-Docelowy rozmiar dla dopełnionego wyjścia (piksele)
qualityinteger (1-100)-Jakość wyjściowa

Starsze wartości mode attention i content są akceptowane i mapowane odpowiednio na subject i trim.

Predefiniowane ustawienia twarzy:

PredefiniowaneNajlepsze do
closeupZdjęcia portretowe
head-shouldersZdjęcia profilowe
upper-bodyLinkedIn / formalne
half-bodyPełna górna część ciała

Transkrypcja dźwięku

Trasa narzędzia: transcribe-audio
Model: faster-whisper

Przekształca mowę na tekst. Obsługuje formaty wyjściowe zwykły tekst, SRT i VTT.

ParametrTypDomyślnieOpis
languagestring"auto"Język: auto, en, de, fr, es, zh, ja, ko, id, th, vi
outputFormat"txt" | "srt" | "vtt""txt"Format wyjściowy

Automatyczne napisy

Trasa narzędzia: auto-subtitles
Model: faster-whisper (wyodrębnia dźwięk z wideo, a następnie transkrybuje)

Generuje pliki napisów ze ścieżki dźwiękowej wideo.

ParametrTypDomyślnieOpis
languagestring"auto"Język: auto, en, de, fr, es, zh, ja, ko, id, th, vi
format"srt" | "vtt""srt"Format wyjściowy napisów

Naprawa przezroczystości PNG

Trasa narzędzia: transparency-fixer
Model: BiRefNet HR-matting (rozdzielczość 2048x2048)

Naprawia "fałszywie przezroczyste" pliki PNG, w których tło zostało usunięte, ale pozostawiło obwódki, aureole lub półprzezroczyste artefakty. Używa modelu mattingu wysokiej rozdzielczości BiRefNet, aby uzyskać czysty kanał alfa, a następnie stosuje konfigurowalne przetwarzanie usuwające przebarwienia w celu usunięcia zanieczyszczenia kolorem wzdłuż krawędzi.

Łańcuch rezerwowy OOM: Jeśli BiRefNet HR-matting przekroczy dostępną pamięć, narzędzie automatycznie przechodzi na birefnet-general, a następnie na u2net.

ParametrTypDomyślnieOpis
defringenumber (0-100)30Siła usuwania obwódek krawędzi w celu usunięcia zanieczyszczenia kolorem
outputFormat"png" | "webp""png"Format obrazu wyjściowego
removeWatermarkbooleanfalseZastosuj wstępne przetwarzanie usuwania znaku wodnego (filtr medianowy)
bash
curl -X POST http://localhost:1349/api/v1/tools/image/transparency-fixer \
  -H "Authorization: Bearer <token>" \
  -F "file=@fake-transparent.png" \
  -F 'settings={"defringe":30,"outputFormat":"png"}'

Narzędzia z opcjonalnymi funkcjami AI

Poniższe narzędzia nie są narzędziami procesu pomocniczego Pythona, ale używają funkcji AI, gdy włączone są określone opcje.

Ulepszanie obrazu

Trasa narzędzia: image-enhancement
Silnik: oparty na analizie (histogram i statystyki Sharp)

Analizuje obraz i stosuje automatyczne korekcje ekspozycji, kontrastu, balansu bieli, nasycenia, ostrości i szumu. Obsługuje tryby dostosowane do sceny.

ParametrTypDomyślnieOpis
mode"auto" | "portrait" | "landscape" | "low-light" | "food" | "document""auto"Tryb sceny do dostrajania korekcji
intensitynumber (0-100)50Ogólna siła korekcji
corrections.exposurebooleantrueZastosuj korekcję ekspozycji
corrections.contrastbooleantrueZastosuj korekcję kontrastu
corrections.whiteBalancebooleantrueZastosuj korekcję balansu bieli
corrections.saturationbooleantrueZastosuj korekcję nasycenia
corrections.sharpnessbooleantrueZastosuj korekcję ostrości
corrections.denoisebooleantrueZastosuj odszumianie
deepEnhancebooleanfalseWłącz usuwanie szumu AI przez SCUNet (wymaga pakietu upscale-enhance)

Dodatkowy punkt końcowy analizy jest dostępny pod POST /api/v1/tools/image/image-enhancement/analyze, który zwraca wykryte korekcje bez ich stosowania.

Zmiana rozmiaru z uwzględnieniem treści (Seam Carving)

Trasa narzędzia: content-aware-resize
Silnik: binarka Go caire (nie Python - brak korzyści z GPU)

Inteligentnie zmienia rozmiar obrazów, usuwając szwy o niskiej energii i zachowując ważną treść.

ParametrTypDomyślnieOpis
widthnumber-Docelowa szerokość
heightnumber-Docelowa wysokość
protectFacesbooleanfalseChroń wykryte obszary twarzy (wymaga pakietu face-detection)
blurRadiusnumber (0-20)4Wstępne rozmycie do obliczania energii
sobelThresholdnumber (1-20)2Próg czułości krawędzi
squarebooleanfalseWymuś kwadratowe wyjście