chore: use "200+ tools" for the tool-count claim across public surfaces (#364)

* fix(landing): correct PDF tool count to 28 in alternatives copy

The pdf section has 28 tools (section.test.ts asserts bySection('pdf')=28). PR #363 corrected the docs breakdown but the alternatives pages still said 40 PDF tools (the document-modality count, not the pdf section) with 200 for the rest. Update to 28 PDF tools and 212 for the non-PDF remainder.

* chore: use "200+ tools" for the tool-count claim across public surfaces

Replaces the exact '240 tools' count (which drifts as tools are added) with the stable '200+ tools' on README, the Docker Hub overview, landing pages, the docs site (meta, homepage, search), the API self-description, the demo OG tag, llms.txt, package.json, the branding readme, and the en/nl app strings. Per-modality breakdown tables stay exact. Leaves the architecture doc's technical 'tool routes' figure, an internal vitest comment, and a QA report line unchanged. Updates the two tests that assert the docs strings.
This commit is contained in:
SnapOtter
2026-06-28 21:49:14 +08:00
committed by GitHub
parent 8e9452e650
commit 19b515dc5f
19 changed files with 33 additions and 33 deletions
+1 -1
View File
@@ -3,7 +3,7 @@ info:
title: SnapOtter API
version: 1.17.1
description: |
REST API for SnapOtter, a self-hosted file processing suite with 240 tools across image, video, audio, document, and data.
REST API for SnapOtter, a self-hosted file processing suite with 200+ tools across image, video, audio, document, and data.
## Authentication
+1 -1
View File
@@ -39,7 +39,7 @@ function generateLlmsTxt(spec: OpenAPISpec): string {
lines.push(`# ${spec.info.title}`);
lines.push("");
lines.push(
"> Self-hosted file processing API with 240 tools across image, video, audio, document, and data. Convert, compress, edit, transcribe, OCR, and more.",
"> Self-hosted file processing API with 200+ tools across image, video, audio, document, and data. Convert, compress, edit, transcribe, OCR, and more.",
);
lines.push("");
lines.push("## Docs");
+1 -1
View File
@@ -10,7 +10,7 @@
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
<meta property="og:title" content="SnapOtter Demo" />
<meta property="og:description" content="Try SnapOtter - open-source, self-hosted file processing. 240 tools, 100% local." />
<meta property="og:description" content="Try SnapOtter - open-source, self-hosted file processing. 200+ tools, 100% local." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://demo.snapotter.com" />
<meta property="og:image" content="https://snapotter.com/og-image.png" />
+2 -2
View File
@@ -6,7 +6,7 @@ import pkg from "../../../package.json";
export default defineConfig({
title: "SnapOtter",
description:
"Documentation for SnapOtter - A Self-Hosted File Manipulation Suite. 240 tools for image, video, audio, PDF, and data processing. Local AI, pipelines, REST API.",
"Documentation for SnapOtter - A Self-Hosted File Manipulation Suite. 200+ tools for image, video, audio, PDF, and data processing. Local AI, pipelines, REST API.",
base: "/",
appearance: { initialValue: "light" },
srcDir: ".",
@@ -86,7 +86,7 @@ export default defineConfig({
`,
customTemplateVariables: {
description:
"SnapOtter is a self-hosted, open-source file processing platform with 240 tools across image, video, audio, PDF, and data. Includes AI/ML tools. Runs via Docker Compose with GPU auto-detection.",
"SnapOtter is a self-hosted, open-source file processing platform with 200+ tools across image, video, audio, PDF, and data. Includes AI/ML tools. Runs via Docker Compose with GPU auto-detection.",
details:
"Process images (resize, compress, convert, remove backgrounds, upscale, OCR), videos (trim, merge, subtitles), audio (normalize, transcribe, convert), PDFs (merge, split, watermark, redact), and data files (CSV, JSON, XML conversion) - without sending files to external services.",
},
+2 -2
View File
@@ -45,7 +45,7 @@ function copyCommand() {
<p class="eyebrow">Self-hosted · Open source · AGPLv3</p>
<h1 class="hero-title">SnapOtter Documentation</h1>
<p class="hero-sub">
<strong>Self-hosted file processing.</strong> 240 tools across image, video, audio, PDF &amp;
<strong>Self-hosted file processing.</strong> 200+ tools across image, video, audio, PDF &amp;
files, all on your own hardware. Choose your path below, or get running in one command:
</p>
<div class="cmd" title="Click to copy" @click="copyCommand">
@@ -90,7 +90,7 @@ function copyCommand() {
</section>
<section class="mod">
<p class="mod-head"><strong>240 tools across 5 modalities</strong> <span>browse the full reference by type</span></p>
<p class="mod-head"><strong>200+ tools across 5 modalities</strong> <span>browse the full reference by type</span></p>
<div class="chips">
<a v-for="m in modalities" :key="m.href" class="chip" :href="m.href">
<span class="chip-label">{{ m.label }}</span>
+1 -1
View File
@@ -45,7 +45,7 @@
.algolia
[command-dialog-wrapper]:has([command-input]:placeholder-shown)
[command-empty=""]::after {
content: "Search 240 tools, guides, and the API reference";
content: "Search 200+ tools, guides, and the API reference";
font-size: 14px;
line-height: 1.4;
color: var(--vp-c-text-2);
+1 -1
View File
@@ -109,7 +109,7 @@ pnpm dev
## What You Can Do
### File Processing (240 Tools)
### File Processing (200+ Tools)
| Modality | Count | Example Tools |
|----------|-------|---------------|
+1 -1
View File
@@ -1,7 +1,7 @@
---
layout: page
title: SnapOtter Docs
description: "Self-hosted file processing. 240 tools for image, video, audio, PDF, and files. Local AI, pipelines, REST API. Your files never leave your server."
description: "Self-hosted file processing. 200+ tools for image, video, audio, PDF, and files. Local AI, pipelines, REST API. Your files never leave your server."
sidebar: false
---
+2 -2
View File
@@ -1,6 +1,6 @@
# SnapOtter
> Open-source, self-hostable file processing suite with 240 tools across 5 modalities (image, video, audio, document, data). Single Docker container, no external services. Dual-licensed AGPLv3 / commercial.
> Open-source, self-hostable file processing suite with 200+ tools across 5 modalities (image, video, audio, document, data). Single Docker container, no external services. Dual-licensed AGPLv3 / commercial.
SnapOtter runs entirely on your own infrastructure. Files are processed locally with no data sent to external APIs. Deploy once with Docker and use it as much as you need. Supports GDPR, HIPAA, and CCPA compliance by architecture.
@@ -60,7 +60,7 @@ SAML SSO (Okta, Azure AD, Google Workspace, any OIDC), SCIM Provisioning, Multi-
- Self-hosted: all processing on your infrastructure, no cloud dependency
- Privacy-first: files never leave your network, air-gapped capable
- 240 tools across 5 modalities (image, video, audio, document, data)
- 200+ tools across 5 modalities (image, video, audio, document, data)
- 15 local AI models, no external API calls
- Batch processing with ZIP output
- Pipeline automation: chain tools sequentially
+5 -5
View File
@@ -91,11 +91,11 @@ export const ALTERNATIVES: Alternative[] = [
pageTitle: "The Open-Source, Self-Hosted Alternative to Smallpdf",
h1: "The open-source, self-hosted alternative to Smallpdf",
metaDescription:
"Smallpdf uploads your documents to its servers. SnapOtter runs the same PDF tools on yours. 40 PDF tools plus 200 more for image, video, audio, and files. Open source, AGPLv3.",
"Smallpdf uploads your documents to its servers. SnapOtter runs the same PDF tools on yours. 28 PDF tools plus 212 more for image, video, audio, and files. Open source, AGPLv3.",
intro:
"Smallpdf is a cloud PDF suite, so every file you touch goes up to its servers. SnapOtter runs the same kinds of tools on hardware you own, and the file never leaves it.",
breadth:
"Smallpdf does PDFs. SnapOtter ships 40 PDF tools (merge, split, compress, convert, redact, OCR, and more) and another 200 across image, video, audio, and files, so one stack covers what you'd otherwise spread across several accounts.",
"Smallpdf does PDFs. SnapOtter ships 28 PDF tools (merge, split, compress, convert, redact, OCR, and more) and another 212 across image, video, audio, and files, so one stack covers what you'd otherwise spread across several accounts.",
competitorOpenSource: false,
rows: cloudRows("PDFs", "Subscription, free tier with daily limits", "PDF only"),
faqs: [
@@ -109,7 +109,7 @@ export const ALTERNATIVES: Alternative[] = [
},
{
q: "Does it do more than PDFs?",
a: "Yes. Beyond its 40 PDF tools, SnapOtter handles image, video, audio, and file tasks too, 240 tools in one stack.",
a: "Yes. Beyond its PDF tools, SnapOtter handles image, video, audio, and file tasks too, 200+ tools in one stack.",
},
],
},
@@ -120,11 +120,11 @@ export const ALTERNATIVES: Alternative[] = [
pageTitle: "The Open-Source, Self-Hosted Alternative to iLovePDF",
h1: "The open-source, self-hosted alternative to iLovePDF",
metaDescription:
"iLovePDF processes your files in the cloud. SnapOtter runs PDF merge, split, compress, convert, and OCR on your own server. 240 tools across five file types. Open source, AGPLv3.",
"iLovePDF processes your files in the cloud. SnapOtter runs PDF merge, split, compress, convert, and OCR on your own server. 200+ tools across five file types. Open source, AGPLv3.",
intro:
"iLovePDF is a hosted PDF service, which means your documents are uploaded to process them. SnapOtter gives you the same toolset to run yourself, with the file staying on your server.",
breadth:
"iLovePDF stays inside PDFs. SnapOtter pairs 40 PDF tools with image, video, audio, and file tools, so the same deployment handles a contract, a screen recording, and a podcast edit.",
"iLovePDF stays inside PDFs. SnapOtter pairs 28 PDF tools with image, video, audio, and file tools, so the same deployment handles a contract, a screen recording, and a podcast edit.",
competitorOpenSource: false,
rows: cloudRows("PDFs", "Subscription, free tier with limits", "PDF only"),
faqs: [
@@ -215,7 +215,7 @@ const allJsonLd = [breadcrumbJsonLd, ...(faqJsonLd ? [faqJsonLd] : [])];
Run it on your own server
</h2>
<p class="mx-auto mt-4 max-w-lg text-muted">
240 tools across image, video, audio, PDF, and files. Open source, free forever, and your
200+ tools across image, video, audio, PDF, and files. Open source, free forever, and your
files never leave your network.
</p>
<div class="mt-8 flex flex-wrap justify-center gap-4">