Esta página foi traduzida automaticamente. Encontrou um erro?Ajude a melhorá-la.
Skip to content

Referência do Motor de IA

O pacote @snapotter/ai coordena ferramentas nativas e tempos de execução Python para operações ML locais. A maioria das ferramentas ML usa um Python sidecar persistente para inicializações a quente rápidas. OCR é intencionalmente separado: fast invoca o binário Tesseract nativo, enquanto balanced e best usam um JSONL dispatcher persistente dedicado fixado na geração RapidOCR ativa e imutável em /data/ai/v3. Cada solicitação contém um generation lease. Durante uma atualização, SnapOtter executa um smoke test no candidato antes da ativação, alterna atomicamente para o novo dispatcher e, em seguida, drena a geração antiga antes de garbage collection.

NVIDIA CUDA é detectado automaticamente e usado por tempos de execução que o suportam. OCR usa CPU em todos os hosts, incluindo sistemas com GPUs NVIDIA, evitando CUDA e acoplamento de driver para esta ferramenta.

A aceleração por iGPU Intel/AMD via VA-API, Quick Sync ou OpenCL não é suportada para inferência de IA hoje. Mapear /dev/dri em um contêiner não acelera essas ferramentas do sidecar Python a menos que uma GPU NVIDIA compatível com CUDA esteja disponível.

19 ferramentas de IA no sidecar Python em quatro modalidades (imagem, áudio, vídeo, documento), mais 2 ferramentas com capacidades opcionais de IA. Todos os modelos rodam localmente - nenhuma conexão com a internet é necessária após o download inicial do modelo.

Compatibilidade do OCR em coreano

O OCR rápido oferece suporte a auto, en, de, es, fr, zh e ja, mas não a coreano (ko). Coreano exige o pacote de OCR preciso e balanced ou best. O pacote funciona nos contêineres oficiais Linux amd64 e arm64, inclusive em hosts NVIDIA, onde o OCR continua na CPU. Sistemas não compatíveis recebem um erro explícito e nunca retornam silenciosamente para fast. Coreano com fast ou com o alias legado tesseract é rejeitado antes da fila com FEATURE_INCOMPATIBLE e fast-korean-unsupported.

Arquitetura

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)

Um perfil de despachante "docs" separado substitui a lista de permissões de IA por scripts de processamento de documentos (doc_pagecount, doc_health, doc_flatten, doc_redact, doc_text, doc_to_word, doc_metadata, doc_html_pdf) e pula as importações pesadas de ML.

Tempos limite: 300 s por padrão; OCR e remoção de fundo com BiRefNet recebem 600 s.

Pacotes de Recursos

Os modelos de IA são empacotados por pilha de dependências compartilhada, e não um arquivo por ferramenta. Um pacote de recursos pode habilitar várias ferramentas quando elas usam a mesma família de modelos, os mesmos wheels Python ou as mesmas bibliotecas nativas. Isso mantém a imagem Docker de lançamento menor e evita armazenar cópias duplicadas dos mesmos modelos de matting de fundo, detecção de rostos, OCR, restauração e fala.

A imagem Docker inclui a aplicação mais o runtime comum. Arquivos grandes de modelos são baixados sob demanda para o volume persistente /data/ai, e depois reutilizados por todas as ferramentas que precisam deles. Se um pacote já estiver instalado porque outra ferramenta precisou dele, habilitar uma nova ferramenta dependente não baixa esse pacote novamente.

A maioria das ferramentas de IA requer um ou mais pacotes de recursos antes de serem executadas. A UI administrativa os instala por ferramenta por meio do POST /api/v1/admin/tools/:toolId/features/install, que resolve a lista completa de pacotes, ignora os pacotes que já estão instalados e enfileira apenas os downloads ausentes. Por exemplo, ativar a foto do passaporte em uma nova instância enfileira background-removal e face-detection; habilitá-lo após a remoção de segundo plano já estar instalada enfileira apenas face-detection. OCR é a exceção porque fast não precisa de pacote; instale seu tempo de execução preciso opcional por meio da UI ou POST /api/v1/admin/features/ocr/install.

PacoteTamanhoGrupo de dependências compartilhadoFerramentas que o usam
background-removal4-5 GBmatting de fundo rembg / BiRefNetremove-background, passport-photo, transparency-fixer, background-replace, blur-background
face-detection200-300 MBdetecção de rostos e marcos faciais do MediaPipeblur-faces, red-eye-removal, smart-crop
object-eraser-colorize1-2 GBinpainting/outpainting LaMa e DDColorerase-object, colorize, ai-canvas-expand
upscale-enhance5-6 GBRealESRGAN, GFPGAN / CodeFormer, remoção de ruídoupscale, enhance-faces, noise-removal
photo-restoration4-5 GBreparo de arranhões e pipeline de restauraçãorestore-photo
ocr~208-234 MiB baixado / ~409-488 MiB instaladoModelos opcionais RapidOCR 3.9.1, ONNX Runtime 1.20.1 e PP-OCR fixadoocr, ocr-pdf (somente balanced e best)
transcription~600 MBmodelos de fala para texto faster-whispertranscribe-audio, auto-subtitles

Ferramentas com dependências entre pacotes:

FerramentaPacotes necessáriosPor quê
passport-photobackground-removal, face-detectionRemove o fundo e depois usa marcos faciais para enquadrar o recorte conforme as regras de fotos de passaporte e documentos de identidade.
enhance-facesupscale-enhance, face-detectionDetecta rostos antes de rodar o realce GFPGAN ou CodeFormer nas regiões de rosto selecionadas.

Uma ferramenta está disponível somente quando todos os seus pacotes necessários estão instalados, exceto OCR: sua camada fast integrada permanece disponível sem o pacote OCR opcional. As instalações parciais são válidas e tratadas de forma incremental: os pacotes configuráveis ​​instalados são reutilizados, os pacotes perdidos são mostrados como downloads e as instalações na fila são executadas uma de cada vez, para que o ambiente Python compartilhado não seja modificado simultaneamente.

Instalação precisa do tempo de execução do OCR

O pacote OCR preciso é um tempo de execução específico da plataforma para o contêiner oficial Linux amd64 ou Linux arm64. A construção amd64 usa Python 3.12; a compilação arm64 usa Python 3.11. Ambas as compilações executam RapidOCR por meio do CPUExecutionProvider do ONNX Runtime, portanto, o mesmo pacote funciona apenas em hosts CPU e NVIDIA Docker. O tempo de execução preciso requer pelo menos 4 GiB de memória efetiva: o limite cgroup do contêiner configurado, caso contrário, memória do host. Um sistema abaixo do mínimo de compatibilidade assinado é rejeitado antes do download. Este requisito não se aplica ao Fast OCR integrado. As compilações Bare-metal são rejeitadas porque seus libc e Python ABI não podem ser inferidos com segurança; O OCR rápido permanece disponível quando o host fornece Tesseract e Ghostscript.

O artefato opcional tem cerca de 208-234 MiB compactado e 409-488 MiB extraído, dependendo da arquitetura. O índice assinado vincula as contagens exatas de bytes compactados e extraídos impostas pelo instalador. Tesseract integrado adiciona cerca de 25 MiB à imagem oficial e não precisa de arquivos em /data/ai.

A instalação online busca um índice de versão assinado e o artefato exato endereçado ao conteúdo para a plataforma atual. SnapOtter verifica a assinatura do índice Ed25519, tamanho do artefato, resumo SHA-256, resumos de modelo, caminhos, modos de arquivo e smoke test preparado antes de ativar atomicamente a nova geração. Uma instalação com falha deixa a geração íntegra anterior ativa.

Para instalação isolada, carregue o ocr-runtime-index.json da versão e o arquivo de tempo de execução OCR correspondente para POST /api/v1/admin/features/import usando campos multipartes chamados index e archive. A importação offline aplica as mesmas verificações de assinatura, hash, extração, compatibilidade e teste de fumaça da instalação online; um arquivo sem seu índice assinado confiável é rejeitado.


Remoção de Fundo

Rota da ferramenta: remove-background
Modelo: rembg com BiRefNet (padrão) ou variantes U2-Net

ParâmetroTipoPadrãoDescrição
modelstring-Variante do modelo (substituição opcional)
backgroundTypestring"transparent"Um de: transparent, color, gradient, blur, image
backgroundColorstring-Cor hex para fundo sólido
gradientColor1string-Primeira cor do gradiente
gradientColor2string-Segunda cor do gradiente
gradientAnglenumber-Ângulo do gradiente em graus
blurEnabledboolean-Ativar efeito de desfoque de fundo
blurIntensitynumber (0-100)-Intensidade do desfoque
shadowEnabledboolean-Ativar sombra projetada no sujeito
shadowOpacitynumber (0-100)-Opacidade da sombra
outputFormatstring-Formato de saída: png, webp ou avif
edgeRefineinteger (0-3)-Nível de refinamento das bordas
decontaminateboolean-Remover sangramento de cor das bordas

Substituir Fundo

Rota da ferramenta: background-replace
Modelo: rembg / BiRefNet (compartilhado com remove-background)

Remove o fundo e o substitui por uma cor sólida ou gradiente.

ParâmetroTipoPadrãoDescrição
backgroundType"color" | "gradient""color"Modo de fundo
colorstring"#ffffff"Cor hex do fundo (quando backgroundType é color)
gradientColor1string-Primeira cor hex do gradiente
gradientColor2string-Segunda cor hex do gradiente
gradientAngleinteger (0-360)180Ângulo do gradiente em graus
featherinteger (0-20)0Raio de suavização das bordas
format"png" | "webp""png"Formato de saída

Desfocar Fundo

Rota da ferramenta: blur-background
Modelo: rembg / BiRefNet (compartilhado com remove-background)

Desfoca o fundo mantendo o sujeito nítido.

ParâmetroTipoPadrãoDescrição
intensityinteger (1-100)50Intensidade do desfoque
featherinteger (0-20)0Raio de suavização das bordas
format"png" | "webp""png"Formato de saída

Ampliação de Imagem

Rota da ferramenta: upscale
Modelo: RealESRGAN (com fallback Lanczos quando indisponível)

ParâmetroTipoPadrãoDescrição
scalenumber2Fator de ampliação
modelstring"auto"Variante do modelo
faceEnhancebooleanfalseAplicar passada de realce de rosto GFPGAN
denoisenumber0Força da remoção de ruído
formatstring"auto"Substituição do formato de saída
qualitynumber95Qualidade de saída (1-100)

OCR / Extração de Texto

Rota da ferramenta: ocr
Modelos: Tesseract (fast); RapidOCR com modelos pequenos PP-OCRv6 (balanced); Modelos médios PP-OCRv6 com pontuação de variante calibrada (best)

ParâmetroTipoPadrãoDescrição
quality"fast" | "balanced" | "best"DinâmicoQuando quality e engine são omitidos, o SnapOtter escolhe o melhor nível disponível nesta ordem: best, balanced, fast. Para coreano, fast nunca é escolhido; usa-se best, depois balanced, ou é retornado o erro de instalação ou compatibilidade do runtime preciso.
languagestring"auto"Idioma: auto, en, de, fr, es, zh, ja, ko
enhancebooleanoDependente do nívelMelhore o contraste local. Fast aplica-o diretamente; níveis precisos mantêm a variante somente quando a pontuação calibrada melhora OCR. O padrão é Melhor
enginecorda-Alias ​​de compatibilidade obsoleta. Mapeia tesseract para fast e o valor herdado de paddleocr para balanced; não carrega PaddlePaddle

Retorna o texto extraído mais os metadados de origem: mecanismo, qualidade solicitada e real, dispositivo, provedor, estado de degradação, avisos e versões de tempo de execução/modelo precisos, quando aplicável. Solicitações de qualidade explícitas nunca voltam para outro nível. Se balanced ou best não estiver disponível, API retornará FEATURE_NOT_INSTALLED ou FEATURE_INCOMPATIBLE em vez de executar fast silenciosamente.

OCR de PDF

Rota da ferramenta: ocr-pdf
Modelos: Mesmo sistema de níveis do OCR de imagem

Extrai texto de documentos PDF digitalizados usando OCR com IA, página por página.

ParâmetroTipoPadrãoDescrição
quality"fast" | "balanced" | "best"DinâmicoQuando quality e engine são omitidos, o SnapOtter escolhe o melhor nível disponível nesta ordem: best, balanced, fast. Para coreano, fast nunca é escolhido; usa-se best, depois balanced, ou é retornado o erro de instalação ou compatibilidade do runtime preciso.
languagestring"auto"Idioma: auto, en, de, fr, es, zh, ja, ko
pagesstring"all"Seleção de páginas: "all", "1-3", "1,3,5"
enhancebooleanoDependente do nívelMelhore o contraste local. Fast aplica-o diretamente; níveis precisos mantêm a variante somente quando a pontuação calibrada melhora OCR. O padrão é Melhor
enginecorda-Alias ​​de compatibilidade obsoleta. Mapeia tesseract para fast e o valor herdado de paddleocr para balanced; não carrega PaddlePaddle

A mesma regra de não downgrade se aplica a PDF OCR. As páginas PDF são rasterizadas antes do reconhecimento e uma solicitação pode selecionar no máximo 50 páginas.

Desfoque de Rosto / PII

Rota da ferramenta: blur-faces
Modelo: detecção de rostos do MediaPipe

ParâmetroTipoPadrãoDescrição
blurRadiusnumber (1-100)30Raio do desfoque gaussiano
sensitivitynumber (0-1)0.5Limiar de confiança da detecção

Realce de Rosto

Rota da ferramenta: enhance-faces
Modelos: GFPGAN, CodeFormer

ParâmetroTipoPadrãoDescrição
model"auto" | "gfpgan" | "codeformer""auto"Modelo de realce
strengthnumber (0-1)0.8Força do realce
sensitivitynumber (0-1)0.5Limiar de detecção de rosto
onlyCenterFacebooleanfalseRealçar apenas o rosto mais central

Colorização por IA

Rota da ferramenta: colorize
Modelo: DDColor (com fallback OpenCV DNN)

Converte fotos em preto e branco ou tons de cinza para cores completas.

ParâmetroTipoPadrãoDescrição
intensitynumber (0-1)1.0Força da saturação de cor
model"auto" | "ddcolor" | "opencv""auto"Variante do modelo

Remoção de Ruído

Rota da ferramenta: noise-removal
Modelo: SCUNet (pipeline de remoção de ruído por níveis)

ParâmetroTipoPadrãoDescrição
tier"quick" | "balanced" | "quality" | "maximum""balanced"Nível de processamento
strengthnumber (0-100)50Força da remoção de ruído
detailPreservationnumber (0-100)50Quanto detalhe preservar; valores maiores mantêm mais textura
colorNoisenumber (0-100)30Força da redução de ruído de cor
formatstring"original"Formato de saída: original, png, jpeg, webp, avif, jxl
qualitynumber (1-100)90Qualidade de codificação da saída

Remoção de Olhos Vermelhos

Rota da ferramenta: red-eye-removal

Detecta marcos faciais, localiza as regiões dos olhos e corrige a saturação excessiva no canal vermelho.

ParâmetroTipoPadrãoDescrição
sensitivitynumber (0-100)50Limiar de detecção de pixels vermelhos
strengthnumber (0-100)70Força da correção
formatstring-Substituição do formato de saída (opcional)
qualitynumber (1-100)90Qualidade de saída

Restauração de Fotos

Rota da ferramenta: restore-photo

Pipeline de múltiplas etapas para fotos antigas ou danificadas: detecção e reparo de arranhões/rasgos, realce de rosto, remoção de ruído e colorização opcional.

ParâmetroTipoPadrãoDescrição
scratchRemovalbooleantrueDetectar e reparar arranhões e rasgos
faceEnhancementbooleantrueAplicar passada de realce de rosto
fidelitynumber (0-1)0.7Força do realce de rosto (maior = mais conservador)
denoisebooleantrueAplicar passada de remoção de ruído
denoiseStrengthnumber (0-100)25Força da remoção de ruído
colorizebooleanfalseColorir após a restauração
colorizeStrengthnumber (0-100)85Intensidade da colorização

Foto para Passaporte

Rota da ferramenta: passport-photo
Modelos: marcos faciais do MediaPipe + remoção de fundo com BiRefNet

Fluxo de trabalho em duas fases: analisar (detectar rosto + remover fundo) e depois gerar (recortar, redimensionar, distribuir em grade). Suporta mais de 37 países em 6 regiões.

Fase 1: Analisar

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

Aceita um arquivo de imagem (multipart). Retorna os dados dos marcos faciais, uma pré-visualização em base64 e as dimensões da imagem.

Fase 2: Gerar

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

Aceita um corpo JSON com os resultados da Fase 1 mais as configurações de geração:

ParâmetroTipoPadrãoDescrição
jobIdstring(obrigatório)ID do job da Fase 1
filenamestring(obrigatório)Nome do arquivo original da Fase 1
countryCodestring(obrigatório)Código de país ISO (ex.: US, GB, IN)
documentTypestring"passport"Tipo de documento
bgColorstring"#FFFFFF"Cor de fundo em hex
printLayoutstring"none"Layout de impressão: none, 4x6, a4, letter
maxFileSizeKbnumber0Tamanho máximo do arquivo em KB (0 = sem limite)
dpinumber (72-1200)300DPI de saída
customWidthMmnumber-Largura personalizada em mm (substitui a especificação do país)
customHeightMmnumber-Altura personalizada em mm (substitui a especificação do país)
zoomnumber (0.5-3)1Fator de zoom
adjustXnumber0Ajuste de posição horizontal
adjustYnumber0Ajuste de posição vertical
landmarksobject(obrigatório)Marcos faciais da Fase 1
imageWidthnumber(obrigatório)Largura da imagem da Fase 1
imageHeightnumber(obrigatório)Altura da imagem da Fase 1

Apagar Objetos (Inpainting)

Rota da ferramenta: erase-object
Modelo: LaMa via ONNX Runtime

A máscara é enviada como uma segunda parte de arquivo (nome do campo mask), não como base64. Pixels brancos na máscara indicam áreas a apagar. As configurações format e quality são enviadas como campos de formulário de nível superior.

ParâmetroTipoPadrãoDescrição
filefile(obrigatório)Imagem de origem (multipart)
maskfile(obrigatório)Imagem da máscara (multipart, nome do campo mask, branco = apagar)
formatstring"auto"Formato de saída: auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl
qualityinteger (1-100)95Qualidade de saída

Acelerado por CUDA quando uma GPU NVIDIA está disponível.

Expansão de Tela por IA

Rota da ferramenta: ai-canvas-expand
Modelo: outpainting baseado em LaMa

Expande a tela de uma imagem em qualquer direção e preenche as novas áreas com conteúdo gerado por IA que combina com a imagem existente.

ParâmetroTipoPadrãoDescrição
extendTopinteger0Pixels a estender no topo
extendRightinteger0Pixels a estender à direita
extendBottominteger0Pixels a estender na parte inferior
extendLeftinteger0Pixels a estender à esquerda
tier"fast" | "balanced" | "high""balanced"Nível de qualidade
formatstring"auto"Formato de saída: auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl
qualityinteger (1-100)95Qualidade de saída

Pelo menos uma direção de extensão deve ser maior que 0.

Recorte Inteligente

Rota da ferramenta: smart-crop
Modelo: detecção de rostos do MediaPipe (apenas no modo de rosto)

ParâmetroTipoPadrãoDescrição
modestring"subject"Estratégia de recorte: subject, face, trim
strategy"attention" | "entropy""attention"Estratégia para o modo de sujeito
widthinteger-Largura de saída
heightinteger-Altura de saída
paddinginteger (0-50)0Porcentagem de preenchimento ao redor do sujeito
facePresetstring"head-shoulders"Enquadramento predefinido quando mode=face
sensitivitynumber (0-1)0.5Limiar de detecção de rosto
thresholdinteger (0-255)30Limiar de detecção de fundo (modo de recorte de bordas)
padToSquarebooleanfalsePreencher o resultado recortado até um quadrado
padColorstring"#ffffff"Cor de fundo para o preenchimento quadrado
targetSizeinteger-Tamanho alvo para a saída preenchida (pixels)
qualityinteger (1-100)-Qualidade de saída

Os valores legados de mode, attention e content, são aceitos e mapeados para subject e trim respectivamente.

Predefinições de rosto:

PredefiniçãoMelhor para
closeupRetratos de rosto
head-shouldersFotos de perfil
upper-bodyLinkedIn / formal
half-bodyParte superior do corpo completa

Transcrever Áudio

Rota da ferramenta: transcribe-audio
Modelo: faster-whisper

Converte fala em texto. Suporta os formatos de saída texto simples, SRT e VTT.

ParâmetroTipoPadrãoDescrição
languagestring"auto"Idioma: auto, en, de, fr, es, zh, ja, ko, id, th, vi
outputFormat"txt" | "srt" | "vtt""txt"Formato de saída

Legendas Automáticas

Rota da ferramenta: auto-subtitles
Modelo: faster-whisper (extrai o áudio do vídeo e depois transcreve)

Gera arquivos de legenda a partir da trilha de áudio de um vídeo.

ParâmetroTipoPadrãoDescrição
languagestring"auto"Idioma: auto, en, de, fr, es, zh, ja, ko, id, th, vi
format"srt" | "vtt""srt"Formato de saída da legenda

Corretor de Transparência PNG

Rota da ferramenta: transparency-fixer
Modelo: matting HR do BiRefNet (resolução 2048x2048)

Corrige PNGs de "falsa transparência" onde o fundo foi removido, mas deixou franjas, halos ou artefatos semitransparentes. Usa o modelo de matting de alta resolução do BiRefNet para produzir um canal alfa limpo e depois aplica um processamento de remoção de franjas configurável para eliminar a contaminação de cor ao longo das bordas.

Cadeia de fallback em caso de OOM: Se o matting HR do BiRefNet exceder a memória disponível, a ferramenta recorre automaticamente a birefnet-general e depois a u2net.

ParâmetroTipoPadrãoDescrição
defringenumber (0-100)30Força da remoção de franjas nas bordas para eliminar contaminação de cor
outputFormat"png" | "webp""png"Formato da imagem de saída
removeWatermarkbooleanfalseAplicar pré-processamento de remoção de marca d'água (filtro de mediana)
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"}'

Ferramentas com Capacidades Opcionais de IA

As ferramentas a seguir não são ferramentas do sidecar Python, mas usam recursos de IA quando certas opções estão habilitadas.

Realce de Imagem

Rota da ferramenta: image-enhancement
Motor: baseado em análise (histograma e estatísticas do Sharp)

Analisa a imagem e aplica correções automáticas de exposição, contraste, balanço de branco, saturação, nitidez e ruído. Suporta modos específicos de cena.

ParâmetroTipoPadrãoDescrição
mode"auto" | "portrait" | "landscape" | "low-light" | "food" | "document""auto"Modo de cena para ajustar as correções
intensitynumber (0-100)50Força geral da correção
corrections.exposurebooleantrueAplicar correção de exposição
corrections.contrastbooleantrueAplicar correção de contraste
corrections.whiteBalancebooleantrueAplicar correção de balanço de branco
corrections.saturationbooleantrueAplicar correção de saturação
corrections.sharpnessbooleantrueAplicar correção de nitidez
corrections.denoisebooleantrueAplicar remoção de ruído
deepEnhancebooleanfalseAtivar remoção de ruído por IA via SCUNet (requer o pacote upscale-enhance)

Um endpoint de análise adicional está disponível em POST /api/v1/tools/image/image-enhancement/analyze, que retorna as correções detectadas sem aplicá-las.

Redimensionamento com Reconhecimento de Conteúdo (Seam Carving)

Rota da ferramenta: content-aware-resize
Motor: binário Go caire (não Python - sem benefício de GPU)

Redimensiona imagens de forma inteligente removendo costuras de baixa energia, preservando o conteúdo importante.

ParâmetroTipoPadrãoDescrição
widthnumber-Largura alvo
heightnumber-Altura alvo
protectFacesbooleanfalseProteger as regiões de rosto detectadas (requer o pacote face-detection)
blurRadiusnumber (0-20)4Desfoque prévio para o cálculo de energia
sobelThresholdnumber (1-20)2Limiar de sensibilidade das bordas
squarebooleanfalseForçar saída quadrada