Files
SnapOtter/apps/docs/de/api/ai.md
T
SnapOtterandGitHub 991c981529 fix: make OCR portable and reliable across AMD64 and ARM64 (#519)
* fix: make OCR portable and reliable

* fix: harden OCR installation portability

* fix: pin OCR partials across downloads

* fix: make OCR execution reliably asynchronous

* fix: harden OCR portability and docs routes

* fix: preserve decoder and docs safeguards
2026-07-15 03:34:24 +08:00

29 KiB
Raw Blame History

description, i18n_output_hash, i18n_source_hash, i18n_provenance
description i18n_output_hash i18n_source_hash i18n_provenance
KI-Engine-Referenz mit allen lokalen ML-Werkzeugen. Hintergrundentfernung, Hochskalierung, OCR, Gesichtserkennung, Fotorestaurierung und mehr. 015ad29c4981 aa9a56cdddc7 human

KI-Engine-Referenz

Das @snapotter/ai-Paket koordiniert native Tools und Python-Laufzeiten für lokale ML-Vorgänge. Die meisten ML-Tools verwenden einen dauerhaften Python sidecar für schnelle Warmstarts. OCR ist absichtlich getrennt: fast ruft die native Tesseract-Binärdatei auf, während balanced und best ein dediziertes persistentes JSONL dispatcher verwenden, das an die aktive unveränderliche RapidOCR-Generation unter /data/ai/v3 angeheftet ist. Jede Anfrage enthält einen generation lease. Während eines Upgrades führt SnapOtter vor der Aktivierung einen smoke test für den Kandidaten aus, wechselt atomar zum neuen dispatcher und leert dann die alte Generation vor garbage collection.

NVIDIA CUDA wird automatisch erkannt und von Laufzeiten verwendet, die es unterstützen. OCR verwendet CPU auf jedem Host, einschließlich Systemen mit NVIDIA-GPUs, und vermeidet CUDA und Treiberkopplung für dieses Tool.

Eine iGPU-Beschleunigung von Intel/AMD über VA-API, Quick Sync oder OpenCL wird für KI-Inferenz derzeit nicht unterstützt. Das Durchreichen von /dev/dri in einen Container beschleunigt diese Python-Sidecar-Werkzeuge nicht, sofern keine CUDA-fähige NVIDIA-GPU verfügbar ist.

19 KI-Werkzeuge im Python-Sidecar über vier Modalitäten hinweg (Bild, Audio, Video, Dokument), plus 2 Werkzeuge mit optionalen KI-Fähigkeiten. Alle Modelle laufen lokal - nach dem ersten Modell-Download ist kein Internet erforderlich.

::: info Kompatibilität für koreanische OCR Fast OCR unterstützt auto, en, de, es, fr, zh und ja, aber kein Koreanisch (ko). Koreanisch benötigt das genaue OCR-Paket und balanced oder best. Das Paket läuft in offiziellen Linux-amd64- und arm64-Containern, auch auf NVIDIA-Hosts weiterhin auf der CPU. Nicht unterstützte Systeme erhalten einen eindeutigen Kompatibilitätsfehler und keinen stillen Rückfall auf fast. Koreanisch mit fast oder dem alten Alias tesseract wird vor dem Einreihen mit FEATURE_INCOMPATIBLE und fast-korean-unsupported abgelehnt. :::

Architektur

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)

Ein separates "docs"-Dispatcher-Profil ersetzt die KI-Zulassungsliste durch Skripte zur Dokumentenverarbeitung (doc_pagecount, doc_health, doc_flatten, doc_redact, doc_text, doc_to_word, doc_metadata, doc_html_pdf) und überspringt die aufwendigen ML-Importe.

Zeitüberschreitungen: 300 s standardmäßig; OCR und die BiRefNet-Hintergrundentfernung erhalten 600 s.

Feature-Bundles

KI-Modelle werden nach gemeinsamem Abhängigkeits-Stack gebündelt, nicht als ein Archiv pro Werkzeug. Ein Feature-Bundle kann mehrere Werkzeuge aktivieren, wenn diese dieselbe Modellfamilie, dieselben Python-Wheels oder dieselben nativen Bibliotheken verwenden. Das hält das Release-Docker-Image kleiner und vermeidet doppelte Kopien derselben Modelle für Hintergrund-Matting, Gesichtserkennung, OCR, Restaurierung und Sprache.

Das Docker-Image liefert die Anwendung sowie die gemeinsame Laufzeitumgebung. Große Modellarchive werden bei Bedarf in das dauerhafte /data/ai-Volume heruntergeladen und dann von jedem Werkzeug wiederverwendet, das sie benötigt. Wenn ein Bundle bereits installiert ist, weil ein anderes Werkzeug es benötigt hat, lädt das Aktivieren eines neuen abhängigen Werkzeugs dieses Bundle nicht erneut herunter.

Die meisten KI-Tools erfordern ein oder mehrere Funktionspakete, bevor sie ausgeführt werden können. Die Admin-Benutzeroberfläche installiert diese per Tool über POST /api/v1/admin/tools/:toolId/features/install, das die vollständige Bundle-Liste auflöst, bereits installierte Bundles überspringt und nur die fehlenden Downloads in die Warteschlange stellt. Wenn Sie beispielsweise Passport Photo auf einer neuen Instanz aktivieren, werden die Warteschlangen background-removal und face-detection angezeigt. Wenn Sie es aktivieren, nachdem die Hintergrundentfernung bereits installiert ist, werden nur Warteschlangen angezeigt face-detection. OCR ist die Ausnahme, da fast kein Paket benötigt; Installieren Sie die optionale genaue Laufzeit über die Benutzeroberfläche oder POST /api/v1/admin/features/ocr/install.

Bundle Größe Gemeinsame Abhängigkeitsgruppe Werkzeuge, die es nutzen
background-removal 4-5 GB rembg / BiRefNet Hintergrund-Matting remove-background, passport-photo, transparency-fixer, background-replace, blur-background
face-detection 200-300 MB MediaPipe Gesichtserkennung und Landmarken blur-faces, red-eye-removal, smart-crop
object-eraser-colorize 1-2 GB LaMa Inpainting/Outpainting und DDColor erase-object, colorize, ai-canvas-expand
upscale-enhance 5-6 GB RealESRGAN, GFPGAN / CodeFormer, Rauschunterdrückung upscale, enhance-faces, noise-removal
photo-restoration 4-5 GB Kratzerreparatur und Restaurierungs-Pipeline restore-photo
ocr ~208-234 MiB herunterladen / ~409-488 MiB installiert Optionale Modelle RapidOCR 3.9.1, ONNX Runtime 1.20.1 und angeheftete PP-OCR-Modelle ocr, ocr-pdf (nur balanced und best)
transcription ~600 MB faster-whisper Sprache-zu-Text-Modelle transcribe-audio, auto-subtitles

Werkzeuge mit bundleübergreifenden Abhängigkeiten:

Werkzeug Erforderliche Bundles Grund
passport-photo background-removal, face-detection Entfernt den Hintergrund und verwendet dann Gesichtslandmarken, um den Zuschnitt gemäß den Regeln für Pass- und Ausweisfotos auszurichten.
enhance-faces upscale-enhance, face-detection Erkennt Gesichter, bevor es GFPGAN oder CodeFormer zur Verbesserung der ausgewählten Gesichtsbereiche ausführt.

Ein Tool ist nur verfügbar, wenn alle erforderlichen Bundles installiert sind, mit Ausnahme von OCR: Die integrierte fast-Stufe bleibt auch ohne das optionale OCR-Paket verfügbar. Teilinstallationen sind gültig und werden inkrementell verarbeitet: Installierte Bundles werden wiederverwendet, fehlende Bundles werden als Downloads angezeigt und Installationen in der Warteschlange werden einzeln ausgeführt, sodass die freigegebene Python-Umgebung nicht gleichzeitig geändert wird.

Genaue OCR-Laufzeitinstallation

Das genaue OCR-Paket ist eine plattformspezifische Laufzeit für den offiziellen Linux amd64- oder Linux arm64-Container. Der amd64-Build verwendet Python 3.12; Der arm64-Build verwendet Python 3.11. Beide Builds führen RapidOCR über ONNX Runtime s CPUExecutionProvider aus, sodass dasselbe Paket auf Nur-CPU- und NVIDIA Docker-Hosts funktioniert. Die genaue Laufzeit erfordert mindestens 4 GiB effektiven Speicher: das konfigurierte Container-cgroup-Limit, andernfalls Host-Speicher. Ein System unterhalb dieses signierten Kompatibilitätsminimums wird vor dem Download abgelehnt. Diese Anforderung gilt nicht für integrierte Fast OCR. Bare-metal-Builds werden abgelehnt, da ihre libc und Python ABI nicht sicher abgeleitet werden können. Schnelles OCR bleibt verfügbar, wenn der Host Tesseract und Ghostscript bereitstellt.

Das optionale Artefakt ist je nach Architektur etwa 208234 MiB komprimiert und 409488 MiB extrahiert. Der signierte Index bindet die genauen komprimierten und extrahierten Bytezahlen, die vom Installationsprogramm erzwungen werden. Das integrierte Tesseract fügt etwa 25 MiB zum offiziellen Image hinzu und benötigt keine Dateien in /data/ai.

Die Online-Installation ruft einen signierten Release-Index und das genaue inhaltsadressierte Artefakt für die aktuelle Plattform ab. SnapOtter überprüft die Indexsignatur von Ed25519, die Artefaktgröße, den SHA-256-Digest, die Modell-Digests, Pfade, Dateimodi und bereitgestellten smoke test, bevor die neue Generation atomar aktiviert wird. Bei einer fehlgeschlagenen Installation bleibt die vorherige fehlerfreie Generation aktiv.

Laden Sie für eine Air-Gap-Installation sowohl das ocr-runtime-index.json der Version als auch das passende OCR-Laufzeitarchiv in POST /api/v1/admin/features/import hoch, indem Sie mehrteilige Felder mit den Namen index und archive verwenden. Beim Offline-Import werden dieselben Signatur-, Hash-, Extraktions-, Kompatibilitäts- und Rauchtestprüfungen angewendet wie bei der Online-Installation. Ein Archiv ohne seinen vertrauenswürdigen signierten Index wird abgelehnt.


Hintergrundentfernung

Werkzeug-Route: remove-background
Modell: rembg mit BiRefNet (Standard) oder U2-Net-Varianten

Parameter Typ Standard Beschreibung
model string - Modellvariante (optionale Überschreibung)
backgroundType string "transparent" Eines von: transparent, color, gradient, blur, image
backgroundColor string - Hex-Farbe für einfarbigen Hintergrund
gradientColor1 string - Erste Verlaufsfarbe
gradientColor2 string - Zweite Verlaufsfarbe
gradientAngle number - Verlaufswinkel in Grad
blurEnabled boolean - Hintergrundunschärfe-Effekt aktivieren
blurIntensity number (0-100) - Unschärfeintensität
shadowEnabled boolean - Schlagschatten am Motiv aktivieren
shadowOpacity number (0-100) - Schattendeckkraft
outputFormat string - Ausgabeformat: png, webp oder avif
edgeRefine integer (0-3) - Grad der Kantenverfeinerung
decontaminate boolean - Farbränder an den Kanten entfernen

Hintergrund ersetzen

Werkzeug-Route: background-replace
Modell: rembg / BiRefNet (gemeinsam mit remove-background)

Entfernt den Hintergrund und ersetzt ihn durch eine einfarbige Fläche oder einen Verlauf.

Parameter Typ Standard Beschreibung
backgroundType "color" | "gradient" "color" Hintergrundmodus
color string "#ffffff" Hintergrund-Hex-Farbe (wenn backgroundType gleich color ist)
gradientColor1 string - Erste Verlaufs-Hex-Farbe
gradientColor2 string - Zweite Verlaufs-Hex-Farbe
gradientAngle integer (0-360) 180 Verlaufswinkel in Grad
feather integer (0-20) 0 Radius der Kantenweichzeichnung
format "png" | "webp" "png" Ausgabeformat

Hintergrund weichzeichnen

Werkzeug-Route: blur-background
Modell: rembg / BiRefNet (gemeinsam mit remove-background)

Zeichnet den Hintergrund weich und hält das Motiv scharf.

Parameter Typ Standard Beschreibung
intensity integer (1-100) 50 Unschärfeintensität
feather integer (0-20) 0 Radius der Kantenweichzeichnung
format "png" | "webp" "png" Ausgabeformat

Bildhochskalierung

Werkzeug-Route: upscale
Modell: RealESRGAN (mit Lanczos-Fallback, wenn nicht verfügbar)

Parameter Typ Standard Beschreibung
scale number 2 Hochskalierungsfaktor
model string "auto" Modellvariante
faceEnhance boolean false GFPGAN-Durchgang zur Gesichtsverbesserung anwenden
denoise number 0 Stärke der Rauschunterdrückung
format string "auto" Überschreibung des Ausgabeformats
quality number 95 Ausgabequalität (1-100)

OCR / Textextraktion

Werkzeug-Route: ocr
Modelle: Tesseract (fast); RapidOCR mit kleinen PP-OCRv6-Modellen (balanced); PP-OCRv6 mittlere Modelle mit kalibrierter Variantenbewertung (best)

Parameter Typ Standard Beschreibung
quality "fast" | "balanced" | "best" Dynamisch Wenn quality und engine fehlen, wählt SnapOtter die höchste verfügbare Stufe in dieser Reihenfolge: best, balanced, fast. Für Koreanisch wird fast nie gewählt; es wird best, dann balanced verwendet oder ein Installations- bzw. Kompatibilitätsfehler der genauen Laufzeit zurückgegeben.
language string "auto" Sprache: auto, en, de, fr, es, zh, ja, ko
enhance Boolescher Wert Tierabhängig Verbessern Sie den lokalen Kontrast. Fast wendet es direkt an; Genaue Stufen behalten die Variante nur bei, wenn die kalibrierte Bewertung OCR verbessert. Standardmäßig ist „Best“ aktiviert
engine Zeichenfolge - Veralteter Kompatibilitätsalias. Ordnet tesseract fast und den alten paddleocr-Wert balanced zu; PaddlePaddle wird nicht geladen

Gibt extrahierten Text plus Herkunftsmetadaten zurück: Engine, angeforderte und tatsächliche Qualität, Gerät, Anbieter, Verschlechterungsstatus, Warnungen und ggf. genaue Laufzeit-/Modellversionen. Explizite Qualitätsanforderungen fallen nie auf eine andere Ebene zurück. Wenn balanced oder best nicht verfügbar ist, gibt API FEATURE_NOT_INSTALLED oder FEATURE_INCOMPATIBLE zurück, anstatt fast stillschweigend auszuführen.

PDF-OCR

Werkzeug-Route: ocr-pdf
Modelle: Dasselbe Stufensystem wie bei der Bild-OCR

Extrahiert Text aus gescannten PDF-Dokumenten mittels KI-gestützter OCR, Seite für Seite.

Parameter Typ Standard Beschreibung
quality "fast" | "balanced" | "best" Dynamisch Wenn quality und engine fehlen, wählt SnapOtter die höchste verfügbare Stufe in dieser Reihenfolge: best, balanced, fast. Für Koreanisch wird fast nie gewählt; es wird best, dann balanced verwendet oder ein Installations- bzw. Kompatibilitätsfehler der genauen Laufzeit zurückgegeben.
language string "auto" Sprache: auto, en, de, fr, es, zh, ja, ko
pages string "all" Seitenauswahl: "all", "1-3", "1,3,5"
enhance Boolescher Wert Tierabhängig Verbessern Sie den lokalen Kontrast. Fast wendet es direkt an; Genaue Stufen behalten die Variante nur bei, wenn die kalibrierte Bewertung OCR verbessert. Standardmäßig ist „Best“ aktiviert
engine Zeichenfolge - Veralteter Kompatibilitätsalias. Ordnet tesseract fast und den alten paddleocr-Wert balanced zu; PaddlePaddle wird nicht geladen

Die gleiche No-Downgrade-Regel gilt für PDF OCR. PDF Seiten werden vor der Erkennung gerastert und eine Anfrage kann höchstens 50 Seiten auswählen.

Gesichts- / PII-Weichzeichnung

Werkzeug-Route: blur-faces
Modell: MediaPipe-Gesichtserkennung

Parameter Typ Standard Beschreibung
blurRadius number (1-100) 30 Radius der Gaußschen Weichzeichnung
sensitivity number (0-1) 0.5 Konfidenzschwelle der Erkennung

Gesichtsverbesserung

Werkzeug-Route: enhance-faces
Modelle: GFPGAN, CodeFormer

Parameter Typ Standard Beschreibung
model "auto" | "gfpgan" | "codeformer" "auto" Verbesserungsmodell
strength number (0-1) 0.8 Verbesserungsstärke
sensitivity number (0-1) 0.5 Schwellenwert der Gesichtserkennung
onlyCenterFace boolean false Nur das zentralste Gesicht verbessern

KI-Kolorierung

Werkzeug-Route: colorize
Modell: DDColor (mit OpenCV-DNN-Fallback)

Wandelt Schwarz-Weiß- oder Graustufenfotos in Vollfarbe um.

Parameter Typ Standard Beschreibung
intensity number (0-1) 1.0 Stärke der Farbsättigung
model "auto" | "ddcolor" | "opencv" "auto" Modellvariante

Rauschentfernung

Werkzeug-Route: noise-removal
Modell: SCUNet (gestufte Rauschunterdrückungs-Pipeline)

Parameter Typ Standard Beschreibung
tier "quick" | "balanced" | "quality" | "maximum" "balanced" Verarbeitungsstufe
strength number (0-100) 50 Stärke der Rauschunterdrückung
detailPreservation number (0-100) 50 Wie viele Details erhalten bleiben; höher bewahrt mehr Textur
colorNoise number (0-100) 30 Stärke der Farbrauschreduzierung
format string "original" Ausgabeformat: original, png, jpeg, webp, avif, jxl
quality number (1-100) 90 Qualität der Ausgabekodierung

Rote-Augen-Entfernung

Werkzeug-Route: red-eye-removal

Erkennt Gesichtslandmarken, lokalisiert Augenbereiche und korrigiert die Übersättigung des Rotkanals.

Parameter Typ Standard Beschreibung
sensitivity number (0-100) 50 Schwellenwert zur Erkennung roter Pixel
strength number (0-100) 70 Korrekturstärke
format string - Überschreibung des Ausgabeformats (optional)
quality number (1-100) 90 Ausgabequalität

Fotorestaurierung

Werkzeug-Route: restore-photo

Mehrstufige Pipeline für alte oder beschädigte Fotos: Erkennung und Reparatur von Kratzern/Rissen, Gesichtsverbesserung, Rauschunterdrückung und optionale Kolorierung.

Parameter Typ Standard Beschreibung
scratchRemoval boolean true Kratzer und Risse erkennen und reparieren
faceEnhancement boolean true Durchgang zur Gesichtsverbesserung anwenden
fidelity number (0-1) 0.7 Stärke der Gesichtsverbesserung (höher = konservativer)
denoise boolean true Durchgang zur Rauschunterdrückung anwenden
denoiseStrength number (0-100) 25 Stärke der Rauschunterdrückung
colorize boolean false Nach der Restaurierung kolorieren
colorizeStrength number (0-100) 85 Kolorierungsintensität

Passfoto

Werkzeug-Route: passport-photo
Modelle: MediaPipe-Gesichtslandmarken + BiRefNet-Hintergrundentfernung

Zweiphasiger Ablauf: analysieren (Gesicht erkennen + Hintergrund entfernen), dann generieren (zuschneiden, skalieren, kacheln). Unterstützt über 37 Länder in 6 Regionen.

Phase 1: Analysieren

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

Nimmt eine Bilddatei entgegen (multipart). Gibt Gesichtslandmarkendaten, eine Base64-Vorschau und Bildabmessungen zurück.

Phase 2: Generieren

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

Nimmt einen JSON-Body mit den Ergebnissen aus Phase 1 sowie den Generierungseinstellungen entgegen:

Parameter Typ Standard Beschreibung
jobId string (erforderlich) Job-ID aus Phase 1
filename string (erforderlich) Ursprünglicher Dateiname aus Phase 1
countryCode string (erforderlich) ISO-Ländercode (z. B. US, GB, IN)
documentType string "passport" Dokumententyp
bgColor string "#FFFFFF" Hintergrundfarbe als Hex
printLayout string "none" Druck-Layout: none, 4x6, a4, letter
maxFileSizeKb number 0 Maximale Dateigröße in KB (0 = kein Limit)
dpi number (72-1200) 300 Ausgabe-DPI
customWidthMm number - Benutzerdefinierte Breite in mm (überschreibt die Länderspezifikation)
customHeightMm number - Benutzerdefinierte Höhe in mm (überschreibt die Länderspezifikation)
zoom number (0.5-3) 1 Zoomfaktor
adjustX number 0 Horizontale Positionsanpassung
adjustY number 0 Vertikale Positionsanpassung
landmarks object (erforderlich) Landmarken aus Phase 1
imageWidth number (erforderlich) Bildbreite aus Phase 1
imageHeight number (erforderlich) Bildhöhe aus Phase 1

Objekte entfernen (Inpainting)

Werkzeug-Route: erase-object
Modell: LaMa über ONNX Runtime

Die Maske wird als zweiter Dateibestandteil gesendet (Feldname mask), nicht als Base64. Weiße Pixel in der Maske kennzeichnen die zu entfernenden Bereiche. Die Einstellungen format und quality werden als Formularfelder auf oberster Ebene gesendet.

Parameter Typ Standard Beschreibung
file file (erforderlich) Quellbild (multipart)
mask file (erforderlich) Maskenbild (multipart, Feldname mask, weiß = entfernen)
format string "auto" Ausgabeformat: auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl
quality integer (1-100) 95 Ausgabequalität

CUDA-beschleunigt, wenn eine NVIDIA-GPU verfügbar ist.

KI-Leinwanderweiterung

Werkzeug-Route: ai-canvas-expand
Modell: LaMa-basiertes Outpainting

Erweitert die Leinwand eines Bildes in jede Richtung und füllt die neuen Bereiche mit KI-generierten Inhalten, die zum bestehenden Bild passen.

Parameter Typ Standard Beschreibung
extendTop integer 0 Pixel zur Erweiterung oben
extendRight integer 0 Pixel zur Erweiterung rechts
extendBottom integer 0 Pixel zur Erweiterung unten
extendLeft integer 0 Pixel zur Erweiterung links
tier "fast" | "balanced" | "high" "balanced" Qualitätsstufe
format string "auto" Ausgabeformat: auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl
quality integer (1-100) 95 Ausgabequalität

Mindestens eine Erweiterungsrichtung muss größer als 0 sein.

Intelligenter Zuschnitt

Werkzeug-Route: smart-crop
Modell: MediaPipe-Gesichtserkennung (nur im Gesichtsmodus)

Parameter Typ Standard Beschreibung
mode string "subject" Zuschnittstrategie: subject, face, trim
strategy "attention" | "entropy" "attention" Strategie für den Motivmodus
width integer - Ausgabebreite
height integer - Ausgabehöhe
padding integer (0-50) 0 Prozentualer Abstand um das Motiv
facePreset string "head-shoulders" Voreingestellte Rahmung, wenn mode=face
sensitivity number (0-1) 0.5 Schwellenwert der Gesichtserkennung
threshold integer (0-255) 30 Schwellenwert der Hintergrunderkennung (Trim-Modus)
padToSquare boolean false Getrimmtes Ergebnis auf ein Quadrat auffüllen
padColor string "#ffffff" Hintergrundfarbe für die quadratische Auffüllung
targetSize integer - Zielgröße für die aufgefüllte Ausgabe (Pixel)
quality integer (1-100) - Ausgabequalität

Die veralteten mode-Werte attention und content werden akzeptiert und auf subject bzw. trim abgebildet.

Gesichts-Voreinstellungen:

Voreinstellung Am besten geeignet für
closeup Porträtaufnahmen
head-shoulders Profilfotos
upper-body LinkedIn / formell
half-body Gesamter Oberkörper

Audio transkribieren

Werkzeug-Route: transcribe-audio
Modell: faster-whisper

Wandelt Sprache in Text um. Unterstützt die Ausgabeformate Klartext, SRT und VTT.

Parameter Typ Standard Beschreibung
language string "auto" Sprache: auto, en, de, fr, es, zh, ja, ko, id, th, vi
outputFormat "txt" | "srt" | "vtt" "txt" Ausgabeformat

Automatische Untertitel

Werkzeug-Route: auto-subtitles
Modell: faster-whisper (extrahiert Audio aus dem Video und transkribiert dann)

Erzeugt Untertiteldateien aus der Audiospur eines Videos.

Parameter Typ Standard Beschreibung
language string "auto" Sprache: auto, en, de, fr, es, zh, ja, ko, id, th, vi
format "srt" | "vtt" "srt" Ausgabeformat der Untertitel

PNG-Transparenz-Korrektur

Werkzeug-Route: transparency-fixer
Modell: BiRefNet HR-Matting (Auflösung 2048x2048)

Behebt "unecht transparente" PNGs, bei denen der Hintergrund entfernt wurde, aber Fransen, Halos oder halbtransparente Artefakte zurückgeblieben sind. Verwendet das hochauflösende Matting-Modell von BiRefNet, um einen sauberen Alphakanal zu erzeugen, und wendet anschließend eine konfigurierbare Defringe-Verarbeitung an, um Farbverunreinigungen entlang der Kanten zu entfernen.

OOM-Fallback-Kette: Überschreitet das BiRefNet HR-Matting den verfügbaren Speicher, greift das Werkzeug automatisch auf birefnet-general und dann auf u2net zurück.

Parameter Typ Standard Beschreibung
defringe number (0-100) 30 Stärke des Kanten-Defringe zur Entfernung von Farbverunreinigungen
outputFormat "png" | "webp" "png" Ausgabebildformat
removeWatermark boolean false Vorverarbeitung zur Wasserzeichenentfernung anwenden (Medianfilter)
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"}'

Werkzeuge mit optionalen KI-Fähigkeiten

Die folgenden Werkzeuge sind keine Python-Sidecar-Werkzeuge, nutzen aber KI-Funktionen, wenn bestimmte Optionen aktiviert sind.

Bildverbesserung

Werkzeug-Route: image-enhancement
Engine: Analysebasiert (Sharp-Histogramm und -Statistik)

Analysiert das Bild und wendet automatische Korrekturen für Belichtung, Kontrast, Weißabgleich, Sättigung, Schärfe und Rauschen an. Unterstützt szenenspezifische Modi.

Parameter Typ Standard Beschreibung
mode "auto" | "portrait" | "landscape" | "low-light" | "food" | "document" "auto" Szenenmodus zum Feinabstimmen der Korrekturen
intensity number (0-100) 50 Gesamtkorrekturstärke
corrections.exposure boolean true Belichtungskorrektur anwenden
corrections.contrast boolean true Kontrastkorrektur anwenden
corrections.whiteBalance boolean true Weißabgleichskorrektur anwenden
corrections.saturation boolean true Sättigungskorrektur anwenden
corrections.sharpness boolean true Schärfekorrektur anwenden
corrections.denoise boolean true Rauschunterdrückung anwenden
deepEnhance boolean false KI-Rauschentfernung über SCUNet aktivieren (erfordert das upscale-enhance-Bundle)

Ein zusätzlicher Analyse-Endpunkt ist unter POST /api/v1/tools/image/image-enhancement/analyze verfügbar, der die erkannten Korrekturen zurückgibt, ohne sie anzuwenden.

Inhaltsbewusste Größenänderung (Seam Carving)

Werkzeug-Route: content-aware-resize
Engine: Go-Binary caire (kein Python - kein GPU-Vorteil)

Ändert die Größe von Bildern intelligent, indem energiearme Nähte entfernt und wichtige Inhalte erhalten werden.

Parameter Typ Standard Beschreibung
width number - Zielbreite
height number - Zielhöhe
protectFaces boolean false Erkannte Gesichtsbereiche schützen (erfordert das face-detection-Bundle)
blurRadius number (0-20) 4 Vorab-Weichzeichnung für die Energieberechnung
sobelThreshold number (1-20) 2 Schwellenwert der Kantenempfindlichkeit
square boolean false Quadratische Ausgabe erzwingen