fix: sync API docs, register content-aware-resize, normalize tool counts

- Fix 23 OpenAPI schema discrepancies across 16+ tools (wrong ranges,
  missing fields, incorrect schemas for gif-tools/collage/ocr)
- Add content-aware-resize to canonical TOOLS array and landing BentoGrid
- Normalize tool count to 47 across README, docs, landing, i18n, OpenAPI
- Remove dead "automation" ToolCategory variant
- Add BMP and JPEG XL format decoding via ImageMagick
- Add libopenexr-dev to Docker runtime image
- Update e2e test selectors for current pipeline builder UI
This commit is contained in:
SnapOtter
2026-04-24 23:27:08 +08:00
parent 7f62bc32db
commit 8633dba431
18 changed files with 211 additions and 84 deletions
+8 -1
View File
@@ -33,6 +33,7 @@ import {
Pipette,
QrCode,
RotateCw,
Scaling,
Scan,
ScanFace,
ScanLine,
@@ -230,6 +231,12 @@ const tools: { name: string; description: string; category: string; icon: Lucide
category: "ai",
icon: UserCheck,
},
{
name: "Content-Aware Resize",
description: "Seam carving resize that preserves important content",
category: "ai",
icon: Scaling,
},
// Watermark & Overlay
{
name: "Text Watermark",
@@ -382,7 +389,7 @@ export function BentoGrid() {
<div className="mx-auto max-w-6xl">
<FadeIn>
<h2 className="font-[family-name:var(--font-nunito)] text-center text-3xl font-bold tracking-tight md:text-4xl">
40+ tools. Zero cloud dependency.
47 tools. Zero cloud dependency.
</h2>
<p className="mx-auto mt-4 max-w-xl text-center text-lg text-muted">
Search to find exactly what you need. Every tool runs 100% locally.
+1 -1
View File
@@ -7,7 +7,7 @@ const freePlan = {
price: "Free",
subtitle: "For everyone. Forever.",
features: [
"All 40+ image processing tools",
"All 47 image processing tools",
"Unlimited usage, no hidden caps",
"Full REST API with OpenAPI docs",
"Pipeline automation",
@@ -11,7 +11,7 @@ const phrases = [
"No limits. No hidden caps.",
"Works fully offline.",
"Unlimited batch processing.",
"40+ image tools.",
"47 image tools.",
"14 AI models. Your hardware.",
"Lightning fast. Built on Sharp.",
"Air-gapped ready.",