Cette page a été traduite automatiquement. Vous avez repéré une erreur ?Aidez-nous à l'améliorer.
Skip to content

Référence du moteur d'IA

Le package @snapotter/ai coordonne les outils natifs et les environnements d'exécution Python pour les opérations ML locales. La plupart des outils ML utilisent un Python sidecar persistant pour des démarrages à chaud rapides. OCR est intentionnellement séparé : fast invoque le binaire natif Tesseract, tandis que balanced et best utilisent un JSONL persistant dédié dispatcher épinglé à la génération RapidOCR active et immuable sous /data/ai/v3. Chaque requête contient un generation lease. Lors d'une mise à niveau, SnapOtter exécute un smoke test sur le candidat avant l'activation, passe atomiquement au nouveau dispatcher, puis draine l'ancienne génération avant garbage collection.

NVIDIA CUDA est détecté automatiquement et utilisé par les environnements d'exécution qui le prennent en charge. OCR utilise CPU sur chaque hôte, y compris les systèmes dotés de GPU NVIDIA, évitant ainsi CUDA et le couplage de pilotes pour cet outil.

L'accélération par iGPU Intel/AMD via VA-API, Quick Sync ou OpenCL n'est pas prise en charge pour l'inférence d'IA aujourd'hui. Le mappage de /dev/dri dans un conteneur n'accélère pas ces outils du sidecar Python à moins qu'un GPU NVIDIA compatible CUDA ne soit disponible.

19 outils d'IA du sidecar Python répartis sur quatre modalités (image, audio, vidéo, document), plus 2 outils avec des capacités d'IA optionnelles. Tous les modèles s'exécutent localement : aucune connexion Internet requise après le téléchargement initial des modèles.

Compatibilité de l’OCR coréen

L’OCR rapide prend en charge auto, en, de, es, fr, zh et ja, mais pas le coréen (ko). Le coréen nécessite le pack OCR précis et balanced ou best. Le pack fonctionne dans les conteneurs Linux amd64 et arm64 officiels, y compris sur les hôtes NVIDIA où l’OCR reste exécuté sur le CPU. Un système non pris en charge reçoit une erreur de compatibilité explicite, sans repli silencieux vers fast. Le coréen avec fast ou l’alias historique tesseract est refusé avant la mise en file avec FEATURE_INCOMPATIBLE et fast-korean-unsupported.

Architecture

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)

Un profil de répartiteur « docs » distinct remplace la liste d'autorisation d'IA par des scripts de traitement de documents (doc_pagecount, doc_health, doc_flatten, doc_redact, doc_text, doc_to_word, doc_metadata, doc_html_pdf) et ignore les lourdes importations de ML.

Délais d'expiration : 300 s par défaut ; l'OCR et la suppression d'arrière-plan BiRefNet disposent de 600 s.

Groupes de fonctionnalités

Les modèles d'IA sont regroupés par pile de dépendances partagée, et non par une archive par outil. Un groupe de fonctionnalités peut activer plusieurs outils lorsqu'ils utilisent la même famille de modèles, les mêmes wheels Python ou les mêmes bibliothèques natives. Cela permet de réduire la taille de l'image Docker publiée et d'éviter de stocker des copies en double des mêmes modèles de détourage d'arrière-plan, de détection de visages, d'OCR, de restauration et de reconnaissance vocale.

L'image Docker contient l'application ainsi que l'environnement d'exécution commun. Les grandes archives de modèles sont téléchargées à la demande dans le volume persistant /data/ai, puis réutilisées par chaque outil qui en a besoin. Si un groupe est déjà installé parce qu'un autre outil en avait besoin, l'activation d'un nouvel outil dépendant ne télécharge pas ce groupe à nouveau.

La plupart des outils d'IA nécessitent un ou plusieurs ensembles de fonctionnalités avant de pouvoir s'exécuter. L'interface utilisateur d'administration les installe par outil via POST /api/v1/admin/tools/:toolId/features/install, qui résout la liste complète des bundles, ignore les bundles déjà installés et met en file d'attente uniquement les téléchargements manquants. Par exemple, l'activation de Passport Photo sur une nouvelle instance met en file d'attente background-removal et face-detection ; l'activer une fois la suppression de l'arrière-plan déjà installée ne met en file d'attente que face-detection. OCR est l'exception car fast n'a pas besoin de pack ; installez son environnement d'exécution précis en option via l'interface utilisateur ou POST /api/v1/admin/features/ocr/install.

GroupeTailleGroupe de dépendances partagéOutils qui l'utilisent
background-removal4-5 Godétourage d'arrière-plan rembg / BiRefNetremove-background, passport-photo, transparency-fixer, background-replace, blur-background
face-detection200-300 Modétection de visages et points de repère MediaPipeblur-faces, red-eye-removal, smart-crop
object-eraser-colorize1-2 Goremplissage/extension par LaMa et DDColorerase-object, colorize, ai-canvas-expand
upscale-enhance5-6 GoRealESRGAN, GFPGAN / CodeFormer, débruitageupscale, enhance-faces, noise-removal
photo-restoration4-5 Gopipeline de réparation des rayures et de restaurationrestore-photo
ocr~208-234 MiB téléchargé / ~409-488 MiB installéModèles RapidOCR 3.9.1, ONNX Runtime 1.20.1 et PP-OCR épinglés en optionocr, ocr-pdf (balanced et best uniquement)
transcription~600 Momodèles de reconnaissance vocale faster-whispertranscribe-audio, auto-subtitles

Outils avec des dépendances multi-groupes :

OutilGroupes requisPourquoi
passport-photobackground-removal, face-detectionSupprime l'arrière-plan, puis utilise les points de repère du visage pour cadrer le recadrage selon les règles des photos de passeport et de pièce d'identité.
enhance-facesupscale-enhance, face-detectionDétecte les visages avant d'exécuter l'amélioration GFPGAN ou CodeFormer sur les régions de visage sélectionnées.

Un outil n'est disponible que lorsque tous ses bundles requis sont installés, à l'exception de OCR : son niveau fast intégré reste disponible sans le pack OCR en option. Les installations partielles sont valides et sont gérées de manière incrémentielle : les bundles installés sont réutilisés, les bundles manquants sont affichés sous forme de téléchargements et les installations en file d'attente s'exécutent une par une afin que l'environnement Python partagé ne soit pas modifié simultanément.

Installation précise du runtime OCR

Le pack OCR précis est un moteur d'exécution spécifique à la plate-forme pour le conteneur officiel Linux amd64 ou Linux arm64. La version amd64 utilise Python 3.12 ; la version arm64 utilise Python 3.11. Les deux versions exécutent RapidOCR via CPUExecutionProvider de ONNX Runtime, de sorte que le même pack fonctionne sur les hôtes CPU uniquement et NVIDIA Docker. Le temps d'exécution précis nécessite au moins 4 GiB de mémoire effective : la limite cgroup du conteneur configuré, sinon la mémoire hôte. Un système inférieur au minimum de compatibilité signé est rejeté avant le téléchargement. Cette exigence ne s’applique pas au Fast OCR intégré. Les builds Bare-metal sont rejetées car leurs libc et Python ABI ne peuvent pas être déduits en toute sécurité ; Fast OCR reste disponible lorsque l'hôte fournit Tesseract et Ghostscript.

L'artefact facultatif correspond à environ 208 à 234 MiB compressés et 409 à 488 MiB extraits, selon l'architecture. L'index signé lie le nombre exact d'octets compressés et extraits appliqué par le programme d'installation. Tesseract intégré ajoute environ 25 MiB à l'image officielle et ne nécessite aucun fichier dans /data/ai.

L'installation en ligne récupère un index de version signé et l'artefact exact adressé au contenu pour la plate-forme actuelle. SnapOtter vérifie la signature d'index Ed25519, la taille de l'artefact, le résumé SHA-256, les résumés de modèle, les chemins, les modes de fichier et le smoke test intermédiaire avant d'activer atomiquement la nouvelle génération. Un échec d’installation laisse la génération saine précédente active.

Pour une installation isolée, téléchargez à la fois le ocr-runtime-index.json de la version et l'archive d'exécution OCR correspondante sur POST /api/v1/admin/features/import à l'aide de champs en plusieurs parties nommés index et archive. L'importation hors ligne applique les mêmes vérifications de signature, de hachage, d'extraction, de compatibilité et de test de fumée que l'installation en ligne ; une archive sans son index signé de confiance est rejetée.


Suppression d'arrière-plan

Route de l'outil : remove-background
Modèle : rembg avec BiRefNet (par défaut) ou variantes U2-Net

ParamètreTypePar défautDescription
modelstring-Variante du modèle (remplacement optionnel)
backgroundTypestring"transparent"L'un de : transparent, color, gradient, blur, image
backgroundColorstring-Couleur hexadécimale pour un arrière-plan uni
gradientColor1string-Première couleur du dégradé
gradientColor2string-Deuxième couleur du dégradé
gradientAnglenumber-Angle du dégradé en degrés
blurEnabledboolean-Activer l'effet de flou d'arrière-plan
blurIntensitynumber (0-100)-Intensité du flou
shadowEnabledboolean-Activer l'ombre portée sur le sujet
shadowOpacitynumber (0-100)-Opacité de l'ombre
outputFormatstring-Format de sortie : png, webp, ou avif
edgeRefineinteger (0-3)-Niveau d'affinement des bords
decontaminateboolean-Supprimer le débordement de couleur sur les bords

Remplacement d'arrière-plan

Route de l'outil : background-replace
Modèle : rembg / BiRefNet (partagé avec remove-background)

Supprime l'arrière-plan et le remplace par une couleur unie ou un dégradé.

ParamètreTypePar défautDescription
backgroundType"color" | "gradient""color"Mode d'arrière-plan
colorstring"#ffffff"Couleur hexadécimale de l'arrière-plan (lorsque backgroundType vaut color)
gradientColor1string-Première couleur hexadécimale du dégradé
gradientColor2string-Deuxième couleur hexadécimale du dégradé
gradientAngleinteger (0-360)180Angle du dégradé en degrés
featherinteger (0-20)0Rayon d'adoucissement des bords
format"png" | "webp""png"Format de sortie

Flou d'arrière-plan

Route de l'outil : blur-background
Modèle : rembg / BiRefNet (partagé avec remove-background)

Applique un flou à l'arrière-plan tout en gardant le sujet net.

ParamètreTypePar défautDescription
intensityinteger (1-100)50Intensité du flou
featherinteger (0-20)0Rayon d'adoucissement des bords
format"png" | "webp""png"Format de sortie

Agrandissement d'image

Route de l'outil : upscale
Modèle : RealESRGAN (avec repli Lanczos lorsqu'il est indisponible)

ParamètreTypePar défautDescription
scalenumber2Facteur d'agrandissement
modelstring"auto"Variante du modèle
faceEnhancebooleanfalseAppliquer une passe d'amélioration des visages GFPGAN
denoisenumber0Force du débruitage
formatstring"auto"Remplacement du format de sortie
qualitynumber95Qualité de sortie (1-100)

OCR / Extraction de texte

Route de l'outil : ocr
Modèles : Tesseract (fast) ; RapidOCR avec les petits modèles PP-OCRv6 (balanced) ; Modèles moyens PP-OCRv6 avec notation de variantes calibrée (best)

ParamètreTypePar défautDescription
quality"fast" | "balanced" | "best"DynamiqueLorsque quality et engine sont omis, SnapOtter choisit le meilleur niveau disponible dans cet ordre : best, balanced, fast. Pour le coréen, fast n’est jamais choisi : best, puis balanced sont utilisés, sinon une erreur d’installation ou de compatibilité du moteur précis est renvoyée.
languagestring"auto"Langue : auto, en, de, fr, es, zh, ja, ko
enhancebooléenDépend du niveauAméliorer le contraste local. Fast l'applique directement ; les niveaux précis conservent la variante uniquement lorsque la notation calibrée améliore OCR. Activé par défaut pour le meilleur
enginechaîne-Alias ​​de compatibilité obsolète. Mappe tesseract à fast et la valeur paddleocr héritée à balanced ; il ne charge pas PaddlePaddle

Renvoie le texte extrait ainsi que les métadonnées de provenance : moteur, qualité demandée et réelle, appareil, fournisseur, état de dégradation, avertissements et versions d'exécution/modèle précises, le cas échéant. Les demandes de qualité explicites ne retombent jamais sur un autre niveau. Si balanced ou best n'est pas disponible, API renvoie FEATURE_NOT_INSTALLED ou FEATURE_INCOMPATIBLE au lieu d'exécuter silencieusement fast.

OCR de PDF

Route de l'outil : ocr-pdf
Modèles : Même système de niveaux que l'OCR d'image

Extrait le texte de documents PDF numérisés à l'aide d'un OCR alimenté par IA, page par page.

ParamètreTypePar défautDescription
quality"fast" | "balanced" | "best"DynamiqueLorsque quality et engine sont omis, SnapOtter choisit le meilleur niveau disponible dans cet ordre : best, balanced, fast. Pour le coréen, fast n’est jamais choisi : best, puis balanced sont utilisés, sinon une erreur d’installation ou de compatibilité du moteur précis est renvoyée.
languagestring"auto"Langue : auto, en, de, fr, es, zh, ja, ko
pagesstring"all"Sélection de pages : "all", "1-3", "1,3,5"
enhancebooléenDépend du niveauAméliorer le contraste local. Fast l'applique directement ; les niveaux précis conservent la variante uniquement lorsque la notation calibrée améliore OCR. Activé par défaut pour le meilleur
enginechaîne-Alias ​​de compatibilité obsolète. Mappe tesseract à fast et la valeur paddleocr héritée à balanced ; il ne charge pas PaddlePaddle

La même règle de non-rétrogradation s'applique à PDF OCR. Les pages PDF sont rastérisées avant la reconnaissance, et une requête peut sélectionner au maximum 50 pages.

Floutage de visages / PII

Route de l'outil : blur-faces
Modèle : détection de visages MediaPipe

ParamètreTypePar défautDescription
blurRadiusnumber (1-100)30Rayon du flou gaussien
sensitivitynumber (0-1)0.5Seuil de confiance de détection

Amélioration des visages

Route de l'outil : enhance-faces
Modèles : GFPGAN, CodeFormer

ParamètreTypePar défautDescription
model"auto" | "gfpgan" | "codeformer""auto"Modèle d'amélioration
strengthnumber (0-1)0.8Force de l'amélioration
sensitivitynumber (0-1)0.5Seuil de détection de visages
onlyCenterFacebooleanfalseAméliorer uniquement le visage le plus central

Colorisation par IA

Route de l'outil : colorize
Modèle : DDColor (avec repli OpenCV DNN)

Convertit les photos en noir et blanc ou en niveaux de gris en couleur.

ParamètreTypePar défautDescription
intensitynumber (0-1)1.0Force de la saturation des couleurs
model"auto" | "ddcolor" | "opencv""auto"Variante du modèle

Suppression du bruit

Route de l'outil : noise-removal
Modèle : SCUNet (pipeline de débruitage à plusieurs niveaux)

ParamètreTypePar défautDescription
tier"quick" | "balanced" | "quality" | "maximum""balanced"Niveau de traitement
strengthnumber (0-100)50Force du débruitage
detailPreservationnumber (0-100)50Quantité de détails à préserver ; une valeur plus élevée conserve plus de texture
colorNoisenumber (0-100)30Force de réduction du bruit de couleur
formatstring"original"Format de sortie : original, png, jpeg, webp, avif, jxl
qualitynumber (1-100)90Qualité d'encodage de sortie

Suppression des yeux rouges

Route de l'outil : red-eye-removal

Détecte les points de repère du visage, localise les régions des yeux et corrige la sursaturation du canal rouge.

ParamètreTypePar défautDescription
sensitivitynumber (0-100)50Seuil de détection des pixels rouges
strengthnumber (0-100)70Force de la correction
formatstring-Remplacement du format de sortie (optionnel)
qualitynumber (1-100)90Qualité de sortie

Restauration de photos

Route de l'outil : restore-photo

Pipeline en plusieurs étapes pour les photos anciennes ou endommagées : détection et réparation des rayures/déchirures, amélioration des visages, débruitage et colorisation optionnelle.

ParamètreTypePar défautDescription
scratchRemovalbooleantrueDétecter et réparer les rayures, les déchirures
faceEnhancementbooleantrueAppliquer une passe d'amélioration des visages
fidelitynumber (0-1)0.7Force de l'amélioration des visages (plus élevé = plus conservateur)
denoisebooleantrueAppliquer une passe de débruitage
denoiseStrengthnumber (0-100)25Force du débruitage
colorizebooleanfalseColoriser après la restauration
colorizeStrengthnumber (0-100)85Intensité de la colorisation

Photo d'identité

Route de l'outil : passport-photo
Modèles : points de repère du visage MediaPipe + suppression d'arrière-plan BiRefNet

Flux de travail en deux phases : analyser (détecter le visage + supprimer l'arrière-plan) puis générer (recadrer, redimensionner, disposer en mosaïque). Prend en charge plus de 37 pays répartis sur 6 régions.

Phase 1 : Analyser

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

Accepte un fichier image (multipart). Renvoie les données des points de repère du visage, un aperçu en base64 et les dimensions de l'image.

Phase 2 : Générer

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

Accepte un corps JSON contenant les résultats de la Phase 1 ainsi que les paramètres de génération :

ParamètreTypePar défautDescription
jobIdstring(requis)ID de tâche de la Phase 1
filenamestring(requis)Nom de fichier d'origine de la Phase 1
countryCodestring(requis)Code de pays ISO (par ex., US, GB, IN)
documentTypestring"passport"Type de document
bgColorstring"#FFFFFF"Couleur d'arrière-plan hexadécimale
printLayoutstring"none"Disposition d'impression : none, 4x6, a4, letter
maxFileSizeKbnumber0Taille de fichier maximale en Ko (0 = aucune limite)
dpinumber (72-1200)300DPI de sortie
customWidthMmnumber-Largeur personnalisée en mm (remplace la spécification du pays)
customHeightMmnumber-Hauteur personnalisée en mm (remplace la spécification du pays)
zoomnumber (0.5-3)1Facteur de zoom
adjustXnumber0Ajustement de la position horizontale
adjustYnumber0Ajustement de la position verticale
landmarksobject(requis)Points de repère de la Phase 1
imageWidthnumber(requis)Largeur de l'image de la Phase 1
imageHeightnumber(requis)Hauteur de l'image de la Phase 1

Effacement d'objets (remplissage)

Route de l'outil : erase-object
Modèle : LaMa via ONNX Runtime

Le masque est envoyé en tant que deuxième partie de fichier (nom de champ mask), et non en base64. Les pixels blancs du masque indiquent les zones à effacer. Les paramètres format et quality sont envoyés en tant que champs de formulaire de premier niveau.

ParamètreTypePar défautDescription
filefile(requis)Image source (multipart)
maskfile(requis)Image de masque (multipart, nom de champ mask, blanc = effacer)
formatstring"auto"Format de sortie : auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl
qualityinteger (1-100)95Qualité de sortie

Accéléré par CUDA lorsqu'un GPU NVIDIA est disponible.

Extension de canevas par IA

Route de l'outil : ai-canvas-expand
Modèle : extension basée sur LaMa

Étend le canevas d'une image dans n'importe quelle direction et remplit les nouvelles zones avec un contenu généré par IA qui correspond à l'image existante.

ParamètreTypePar défautDescription
extendTopinteger0Pixels à étendre en haut
extendRightinteger0Pixels à étendre à droite
extendBottominteger0Pixels à étendre en bas
extendLeftinteger0Pixels à étendre à gauche
tier"fast" | "balanced" | "high""balanced"Niveau de qualité
formatstring"auto"Format de sortie : auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl
qualityinteger (1-100)95Qualité de sortie

Au moins une direction d'extension doit être supérieure à 0.

Recadrage intelligent

Route de l'outil : smart-crop
Modèle : détection de visages MediaPipe (mode visage uniquement)

ParamètreTypePar défautDescription
modestring"subject"Stratégie de recadrage : subject, face, trim
strategy"attention" | "entropy""attention"Stratégie pour le mode sujet
widthinteger-Largeur de sortie
heightinteger-Hauteur de sortie
paddinginteger (0-50)0Pourcentage de marge autour du sujet
facePresetstring"head-shoulders"Cadrage prédéfini lorsque mode=face
sensitivitynumber (0-1)0.5Seuil de détection de visages
thresholdinteger (0-255)30Seuil de détection de l'arrière-plan (mode rognage)
padToSquarebooleanfalseCompléter le résultat rogné pour obtenir un carré
padColorstring"#ffffff"Couleur d'arrière-plan pour le remplissage carré
targetSizeinteger-Taille cible pour la sortie complétée (pixels)
qualityinteger (1-100)-Qualité de sortie

Les anciennes valeurs de mode attention et content sont acceptées et mises en correspondance avec subject et trim respectivement.

Préréglages de visage :

PréréglageIdéal pour
closeupPortraits
head-shouldersPhotos de profil
upper-bodyLinkedIn / formel
half-bodyBuste complet

Transcrire un fichier audio

Route de l'outil : transcribe-audio
Modèle : faster-whisper

Convertit la parole en texte. Prend en charge les formats de sortie texte brut, SRT et VTT.

ParamètreTypePar défautDescription
languagestring"auto"Langue : auto, en, de, fr, es, zh, ja, ko, id, th, vi
outputFormat"txt" | "srt" | "vtt""txt"Format de sortie

Sous-titres automatiques

Route de l'outil : auto-subtitles
Modèle : faster-whisper (extrait l'audio de la vidéo, puis le transcrit)

Génère des fichiers de sous-titres à partir de la piste audio d'une vidéo.

ParamètreTypePar défautDescription
languagestring"auto"Langue : auto, en, de, fr, es, zh, ja, ko, id, th, vi
format"srt" | "vtt""srt"Format de sous-titre de sortie

Correcteur de transparence PNG

Route de l'outil : transparency-fixer
Modèle : détourage HR BiRefNet (résolution 2048x2048)

Corrige les PNG « faussement transparents » où l'arrière-plan a été supprimé mais a laissé un liseré, des halos ou des artefacts semi-transparents. Utilise le modèle de détourage haute résolution de BiRefNet pour produire un canal alpha propre, puis applique un traitement de suppression de liseré configurable pour éliminer la contamination des couleurs le long des bords.

Chaîne de repli en cas de OOM : Si le détourage HR de BiRefNet dépasse la mémoire disponible, l'outil se rabat automatiquement sur birefnet-general, puis sur u2net.

ParamètreTypePar défautDescription
defringenumber (0-100)30Force de suppression du liseré sur les bords pour éliminer la contamination des couleurs
outputFormat"png" | "webp""png"Format de l'image de sortie
removeWatermarkbooleanfalseAppliquer un prétraitement de suppression du filigrane (filtre médian)
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"}'

Outils avec des capacités d'IA optionnelles

Les outils suivants ne sont pas des outils du sidecar Python mais utilisent des fonctionnalités d'IA lorsque certaines options sont activées.

Amélioration d'image

Route de l'outil : image-enhancement
Moteur : basé sur l'analyse (histogramme et statistiques Sharp)

Analyse l'image et applique des corrections automatiques pour l'exposition, le contraste, la balance des blancs, la saturation, la netteté et le bruit. Prend en charge des modes spécifiques à la scène.

ParamètreTypePar défautDescription
mode"auto" | "portrait" | "landscape" | "low-light" | "food" | "document""auto"Mode de scène pour ajuster les corrections
intensitynumber (0-100)50Force globale de la correction
corrections.exposurebooleantrueAppliquer la correction de l'exposition
corrections.contrastbooleantrueAppliquer la correction du contraste
corrections.whiteBalancebooleantrueAppliquer la correction de la balance des blancs
corrections.saturationbooleantrueAppliquer la correction de la saturation
corrections.sharpnessbooleantrueAppliquer la correction de la netteté
corrections.denoisebooleantrueAppliquer le débruitage
deepEnhancebooleanfalseActiver la suppression du bruit par IA via SCUNet (nécessite le groupe upscale-enhance)

Un point de terminaison d'analyse supplémentaire est disponible à POST /api/v1/tools/image/image-enhancement/analyze qui renvoie les corrections détectées sans les appliquer.

Redimensionnement contextuel (découpe de coutures)

Route de l'outil : content-aware-resize
Moteur : binaire Go caire (pas Python : aucun bénéfice GPU)

Redimensionne intelligemment les images en supprimant les coutures à faible énergie, en préservant le contenu important.

ParamètreTypePar défautDescription
widthnumber-Largeur cible
heightnumber-Hauteur cible
protectFacesbooleanfalseProtéger les régions de visage détectées (nécessite le groupe face-detection)
blurRadiusnumber (0-20)4Pré-flou pour le calcul de l'énergie
sobelThresholdnumber (1-20)2Seuil de sensibilité des bords
squarebooleanfalseForcer une sortie carrée