中文 | English
MediaTools is a web-based workstation for content creation and local media processing. It integrates video downloading, subtitle processing, AI analysis, FFmpeg transcoding, asset management, Adobe automation, and an executable AI assistant.
| Entry | Command |
|---|---|
| Web server | python app.py |
| CLI | python -m cli.main <module> ... |
| Frontend dev | cd frontend && npm run dev |
| Category | Features |
|---|---|
| Media Acquisition | Video downloading and subtitle extraction via yt-dlp |
| Subtitle Processing | VTT/SRT conversion, AI segment analysis |
| FFmpeg Operations | Transcoding, audio extraction, single/batch slicing |
| Workspace Management | Asset scanning, previewing, file browsing |
| Decryption | Music/media decryption via Unlock Music CLI |
| Adobe Automation | Photoshop, After Effects automation |
| Auxiliary Tools | Asset auditing, screenshot generation, WeChat moments images |
| AI Assistant | Task center, system status, log viewer, tool calling |
| Experimental | CapCut/capcut-mate integration |
- Python 3.11+
- Node.js 20+ (frontend development only)
- Windows: prefer
.batlaunch scripts
# Install dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt
# Configure environment
Copy-Item .env.example .env
# Edit .env: set TEC_CHI_API_KEY, adjust port if neededpython -m cli.main fetcher ytdlp downloadFFmpeg/ffprobe should be in bin/ or system PATH.
python app.pyDefault URLs:
- Web workstation:
http://127.0.0.1:7860 - API docs:
http://127.0.0.1:7860/docs
Windows users can double-click start_mediatools.bat (normal) or start_mediatools_dev.bat (development).
python -m cli.main --help
python -m cli.main fetcher download <url>
python -m cli.main encoder to-h265 input.mp4 --crf 28
python -m cli.main decryptor run -i song.ncm
python -m cli.main generator screenshot video.mp4 00:01:30 -o frame.jpg| Module | Purpose |
|---|---|
fetcher |
Media downloading, subtitle fetching, yt-dlp management |
encoder |
Transcoding, audio extraction, slicing |
decryptor |
Music/media decryption |
assets |
Asset scanning, searching, statistics |
workbench |
Subtitle analysis and segment export |
editor |
Experimental CapCut/capcut-mate adapter |
photoshop |
Photoshop automation |
auditor |
Asset auditing workflow |
generator |
Screenshot generation, WeChat moments images |
FastAPI routes available at http://127.0.0.1:7860/docs.
| Group | Path Prefix | File |
|---|---|---|
| System | /api/system, /api/modules |
backend/api/routes/system.py |
| Media | /api/fetcher, /api/encoder, /api/decryptor |
backend/api/routes/media.py |
| Workspace | /api/workspace |
backend/api/routes/workspace.py |
| Workbench | /api/workbench |
backend/api/routes/workbench.py |
| Assets | /api/assets |
backend/api/routes/assets.py |
| Files | /api/files |
backend/api/routes/files.py |
| filebrowser | /api/filebrowser |
backend/api/routes/filebrowser.py |
| Task center | /api/tasks |
backend/api/routes/task_center.py |
| Logs | /api/logs |
backend/api/routes/log.py |
| Model Config | /api/model-config |
backend/api/routes/model_config.py |
| Notification | /api/notifications |
backend/api/routes/notification.py |
| Path Picker | /api/path-picker |
backend/api/routes/path_picker.py |
| Downloader AI | /api/downloader/ai |
backend/api/routes/downloader_ai.py |
| Photoshop | /api/photoshop |
backend/api/routes/photoshop.py |
| Adobe/AE | /api/adobe |
backend/api/routes/adobe.py |
| Auditor | /api/auditor |
backend/api/routes/auditor.py |
| WeChat Moments | /api/wechat_moments |
backend/api/routes/wechat.py |
| Browser control | /api/browser |
backend/api/routes/browser.py |
| AI Assistant | /api/agent/* |
backend/api/server.py |
Set API_SECRET_KEY when binding to non-localhost addresses.
MediaTools/
├── app.py # Web service entry
├── cli/ # CLI entry point
├── backend/ # Backend (API, services, agent, config)
│ ├── api/routes/ # API route files
│ ├── services/ # Business services
│ ├── agent/ # AI agent
│ └── config/ # Configuration
├── frontend/ # React + TypeScript + Vite
├── modules/ # CLI-callable modules
├── adapters/ # External tool adapters
├── core/ # General utilities
├── patches/ # Tool patch rules
├── vendor/ # Third-party source/embedded tools
├── docs/ # Project documentation
├── tests/ # Python tests
├── scripts/ # Development helper scripts
├── data/ # Runtime data files
├── assets/ # Static resources
├── LICENSES/ # Third-party licenses
├── bin/ # Local binaries (not committed)
├── runtime/ # Runtime state (not committed)
└── projects/ # Workspace data (not committed)
vendor/contains third-party source code and embedded tools. Each tool has anINTEGRATION.md/INTEGRATION.zh.mddocumenting its role in MediaTools.
python -m pytestFrontend:
cd frontend
npm run typecheck && npm test && npm run buildcapcut-mate, Adobe automation, and auditing depend on local software and environment- AI analysis quality depends on subtitle quality and model configuration
vendor/contains third-party documentation, not MediaTools documentation
MIT License