SnapOtter

開源自架設的檔案處理工具。在影像、影片、音訊、PDF 及文件上進行轉換、壓縮、OCR、語音辨識及本地 AI 運行,透過 UI、REST API 及

SnapOtter 是什麼?

開源自架設的檔案處理工具。支援影像、影片、音訊、PDF 及文件的轉換、壓縮、OCR、語音辨識及本地 AI 運行,可透過 UI、REST API 及流程管道操作。您的檔案絕不會離開您的網路。

SnapOtter 概覽

這是什麼

SnapOtter 是一個開放原始碼、自行託管的檔案處理基礎設施。它可以轉換、壓縮、執行 OCR、轉錄、移除元數據,並在圖片、影片、音訊、PDF 和文件上執行本機 AI。所有操作可透過 UI、REST API 和管道進行。檔案永遠不會離開使用者的網路。該專案採用 AGPLv3 和商業授權雙重授權。

主要功能

  • 跨五種模態的 200 多種工具:圖片(112 種工具,55 種以上輸入格式,17 種輸出格式)、影片(57 種工具)、音訊(27 種工具)、PDF(35 種工具)和檔案(23 種工具)。
  • 圖片編輯器:免費的圖層式編輯器,包含筆刷、形狀、調整、濾鏡、曲線和鍵盤快捷鍵,在瀏覽器中執行並在使用者的硬體上處理。
  • 本機 AI:背景移除、圖片放大、老照片修復/上色、物件擦除、臉部模糊/增強、OCR(從圖片和 PDF)、音訊轉錄、自動生成影片字幕、畫布擴展和透明度修復。全部在使用者的硬體上執行,無需網路。
  • OIDC / SSO:使用 Google、GitHub、Okta 或任何 OpenID Connect 提供者登入。
  • 21 種語言,包括英文、簡體中文、繁體中文、阿拉伯文(支援 RTL)等。
  • 管道:將工具串聯成可重複使用的工作流程(預設 20 個步驟),可匯入/匯出為 JSON。批次大小在已發布的映像檔中無限制,從原始碼建置時為 100。
  • REST API 支援 API 金鑰驗證;互動式文件位於 /api/docs。
  • 自行託管:單一容器快速啟動(內嵌 Postgres 17 和 Redis 8),或用於生產環境的 3 容器 Compose 堆疊。
  • 多架構:支援 AMD64 和 ARM64(Intel、Apple Silicon、Raspberry Pi)。
  • 隱私優先:檔案永遠不會離開網路。基本分析可在建置時或執行時停用。

使用情境

  • 用單一自行託管的堆疊取代多個 SaaS 工具(CloudConvert、Smallpdf、TinyPNG、TinyWow、Otter.ai)。
  • 在本機硬體上批次處理圖片、影片、音訊、PDF 和文件。
  • 執行 OCR、轉錄、背景移除和圖片放大等 AI 任務,無需將資料傳送至外部服務。
  • 透過 REST API 或 UI 建立自動化的檔案處理管道。
  • 需要與 OIDC 提供者整合 SSO 的團隊。

快速開始

bash docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest 開啟 http://localhost:1349 並使用 admin / admin 登入。如需生產環境,請參閱儲存庫 README 以了解 Compose 堆疊和 NVIDIA GPU 加速。

授權與價格

該專案採用 AGPLv3(免費)和商業授權(付費)雙重授權。AGPLv3 要求對以網路服務形式執行的修改版本進行原始碼揭露。對於不適合 AGPLv3 原始碼揭露的專有軟體或 SaaS 用途,可提供商業授權。價格和條款請聯絡專案方。

內容整理自該專案公開的 README 與儲存庫資訊。

將此徽章加入你的 README

Featured on YunoDB 徽章樣式與說明

你是這個專案的維護者嗎?展示它已收錄於 YunoDB。

Markdown[![Featured on YunoDB](https://yunodb.com/badge/snapotter-hqsnapotter.svg)](https://yunodb.com/tools/snapotter-hqsnapotter?utm_source=github&utm_medium=badge)
HTML<a href="https://yunodb.com/tools/snapotter-hqsnapotter?utm_source=github&utm_medium=badge"><img src="https://yunodb.com/badge/snapotter-hqsnapotter.svg" alt="Featured on YunoDB" height="20"></a>