A cross-platform application for content creators to upload videos, schedule posts, and generate AI captions/hashtags for TikTok, built with strict adherence to TikTok's official developer policies.
- OAuth Integration: Secure TikTok login using official OAuth2 flow
- Video Upload: Chunked upload via TikTok Content Posting API with draft/publish support
- AI Captions & Hashtags: Built-in LLM prompt system for generating engaging content
- Scheduling: Timezone-aware post scheduling with local task management
- Bulk Upload: CSV/JSON import with batch AI-generated captions
- Cross-Platform: Desktop (Windows/macOS/Linux) and Mobile (iOS/Android) support
- Responsive UI: Modern dark-theme dashboard with mobile-optimized layouts
tiktok-autouploader/
├── desktop/ # Electron + React + Tailwind CSS
├── mobile/ # Flutter app for iOS/Android
├── backend/ # Node.js API server
├── shared/ # Shared utilities and API clients
└── docs/ # Documentation and legal guidelines
- Node.js 18+ and npm
- Flutter SDK 3.0+
- Git
- Clone the repository:
git clone <repository-url>
cd tiktok-autouploader- Install all dependencies:
npm run install:all- Set up environment variables:
cp backend/.env.example backend/.env
# Edit backend/.env with your TikTok API credentialsStart all services in development mode:
# Terminal 1 - Backend API
npm run dev:backend
# Terminal 2 - Desktop App
npm run dev:desktop
# Terminal 3 - Mobile App
npm run dev:mobile- Create a TikTok Developer account at developers.tiktok.com
- Create a new app and obtain:
- Client Key
- Client Secret
- Redirect URI
- Request access to Content Posting API scopes:
video.uploadvideo.publish(requires special approval)
- Update
backend/.envwith your credentials
Configure AI caption generation in backend/.env:
OPENAI_API_KEY=your_openai_key
AI_MODEL=gpt-3.5-turbo
DEFAULT_LANGUAGE=en
MAX_CAPTION_LENGTH=120
DEFAULT_HASHTAG_COUNT=5- Windows: .exe installer
- macOS: .dmg package
- Linux: AppImage
- iOS: .ipa (requires Apple Developer account)
- Android: .apk/.aab
- All tokens stored in OS keychain/keystore
- No fingerprint spoofing or automation detection evasion
- Strict adherence to TikTok's Terms of Service
- OAuth2 flow with secure token refresh
See LEGAL_RISKS.md for important information about:
- TikTok API limitations and approval requirements
- Content policy compliance
- Rate limiting and usage guidelines
- Data privacy and security
# Run all tests
npm test
# Backend tests only
npm run test:backend
# Desktop tests only
npm run test:desktop
# Mobile tests
cd mobile && flutter testnpm run build:desktopnpm run build:mobilenpm run build:backend- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
MIT License - see LICENSE for details.
This application is built for legitimate content creators and follows TikTok's official API guidelines. Users are responsible for complying with TikTok's Terms of Service and applicable laws.