Skip to content

ChrisAdamsdevelopment/SpectraCleanseAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpectraCleanse AI

Live Pricing Sign up

SpectraCleanse AI strips AI provenance markers and injects SEO metadata to beat algorithmic suppression.

Upload your audio or video file, choose a platform preset, and SpectraCleanse AI will forensically wipe every embedded tag that signals AI-generated origin — then inject clean, platform-optimised metadata powered by Gemini to maximise your reach on YouTube, Spotify, Apple Music, TikTok, and beyond.


Try it free

spectracleanse.com

No credit card required. Free accounts include 3 files per month. Upgrade to Creator ($9.99/mo) or Studio ($24.99/mo) for unlimited processing and batch uploads.


How it works

  1. Upload — drag in any MP3, WAV, FLAC, M4A, or MP4 file (up to 500 MB).
  2. Analyse — the forensic engine reads every embedded tag and identifies provenance markers.
  3. Cleanse — a nuclear wipe removes all XMP, IPTC, and ID3 fields that could trigger algorithmic detection.
  4. Inject — Gemini generates an SEO-optimised title, description, and tag set tuned to your chosen platform.
  5. Download — receive a clean file with a full forensic report showing exactly what was removed.

Open source

The source code is available at github.com/ChrisAdamsdevelopment/SpectraCleanseAI and is released under the MIT License. You are free to self-host, fork, or contribute.


Local development notes

  • Backend defaults to developer-friendly mode when NODE_ENV is not production.
  • If Stripe env vars are missing locally, /api/create-checkout-session can return a mock checkout redirect (set ENABLE_MOCK_CHECKOUT=true).
  • In production, Stripe variables are still required and the server will fail fast if they are missing.

QA / Deployment Testing

For a step-by-step manual validation flow (local, API smoke, auth, billing, upload, cleanse, Docker, and production readiness), see docs/manual-qa-checklist.md.

  • Browser metadata analysis uses maintained music-metadata with graceful fallback (parseError) when parsing fails, times out, or is skipped for very large files.
  • Quick Cleanse metadata writing remains local/browser-side (MP3 via browser-id3-writer).
  • Full Server Cleanse runs through /api/process; MP3 requests are rejected with HTTP 422 and guidance that Full Server Cleanse is best supported for MP4/M4A, while WAV/FLAC may still be rejected when ExifTool cannot safely rewrite them.

Contact

Questions, partnerships, or enterprise enquiries: hello@spectracleanse.com


Native Node deployment runtime

  • Native Render/Node deployments should use Node 20.20.2 (recommended) or a Node version within the supported engines range: >=18 <23.
  • If Render defaults your service to a newer Node release, set NODE_VERSION=20.20.2 in the service environment.
  • Node 24 is currently not supported for native installs in validation because better-sqlite3 native compilation failed under Node 24.
  • Docker deployments already pin Node 18 via the repo Dockerfile.

Docker production deployment

This repository includes a multi-stage Dockerfile that builds the frontend and packages dist/ into the final runtime image so server.js can serve the SPA in production.

Build image

docker build -t spectracleanseai:latest .

Run container

docker run --rm -p 3001:3001 \
  -e NODE_ENV=production \
  -e JWT_SECRET=your_jwt_secret \
  -e STRIPE_SECRET_KEY=sk_live_xxx \
  -e STRIPE_WEBHOOK_SECRET=whsec_xxx \
  -e STRIPE_CREATOR_PRICE_ID=price_xxx \
  -e STRIPE_STUDIO_PRICE_ID=price_xxx \
  -e GEMINI_API_KEY=your_gemini_api_key \
  -e FRONTEND_URL=https://your-frontend-domain.example \
  -e DB_PATH=/data/spectra.db \
  -v spectracleanse_data:/data \
  spectracleanseai:latest

Required production environment variables

  • NODE_ENV=production
  • JWT_SECRET
  • STRIPE_SECRET_KEY
  • STRIPE_WEBHOOK_SECRET
  • STRIPE_CREATOR_PRICE_ID
  • STRIPE_STUDIO_PRICE_ID
  • GEMINI_API_KEY
  • FRONTEND_URL
  • DB_PATH
  • REDIS_URL (only if your deployment still uses Redis externally)

Stripe vs local mock checkout

  • Local development may use ENABLE_MOCK_CHECKOUT=true when Stripe variables are not set.
  • Production must use real Stripe configuration; do not rely on mock checkout in production.

Never commit real secrets to source control.

Batch processing API

  • POST /api/process-batch (authenticated): processes up to 20 uploaded files sequentially for paid plans (Creator/Studio). Free plan returns 403.
  • GET /api/download/:token (authenticated): one-time secure download for batch outputs.
  • MP3 server cleanse remains unsupported (422 for single process, per-file error in batch); use Quick Cleanse Browser for MP3. Full Server Cleanse is best supported for MP4/M4A, and WAV/FLAC may be rejected if ExifTool cannot safely rewrite them.
  • Batch requests enforce a 2GB post-upload soft guard; production deployments should still enforce proxy/body-size/disk limits.

About

SpectraCleanse AI strips AI provenance markers (C2PA, JUMBF) from audio/video files and injects SEO metadata to beat algorithmic suppression on YouTube, Spotify, TikTok. Browser‑based, batch processing up to 20 files, forensic reports, platform presets. Made for AI creators.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors