An AI-powered social media content manager that automatically creates optimized content for multiple platforms from a single video upload.
- About
- Features
- Tech Stack
- Installation
- Getting Started
- Usage
- API Documentation
- Contributing
- License
- Acknowledgments
Social AI Manager solves the problem of managing social media content across multiple platforms. Upload one video and automatically generate platform-specific captions, descriptions, and hashtags for Facebook, Instagram, TikTok, and YouTube. No more copying and pasting the same caption everywhere or trying to figure out what hashtags work best for each platform.
- Multi-Platform Support: Upload once, post everywhere. Facebook, Instagram, TikTok, YouTube - all at the same time
- AI Content Generation: Leverages OpenAI's GPT-4 to write platform-specific captions and descriptions
- Smart Hashtag Generation: Automatically generates relevant hashtags for each platform
- Video Processing: Drag-and-drop video upload with preview. Supports most common formats
- Content Optimization: Each platform gets content tailored to its audience and best practices
- Modern UI/UX: Beautiful, responsive interface built with Next.js and Tailwind CSS
- Real-time Analytics: Track performance across all platforms
- Content Editing: Review and edit AI-generated content before posting
- Next.js 14 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS framework
- Framer Motion - Smooth animations and transitions
- React Hot Toast - Beautiful notifications
- Heroicons - Icon library
- Node.js - Runtime environment
- Express.js - Web framework
- Multer - File upload handling
- OpenAI API - AI content generation
- Axios - HTTP client for API calls
- Node.js (v18 or higher) - Download here
- npm (comes with Node.js)
- Clone the repository
git clone <your-repo-url>
cd social-ai- Install dependencies
# Install root dependencies
npm install
# Install client dependencies
cd client && npm install && cd ..- Set up environment variables
Create a
.envfile in the root directory with your API keys:
# OpenAI Configuration
OPENAI_API_KEY=your_openai_api_key_here
# Facebook/Meta Configuration
FACEBOOK_APP_ID=your_facebook_app_id
FACEBOOK_APP_SECRET=your_facebook_app_secret
FACEBOOK_ACCESS_TOKEN=your_facebook_access_token
# Instagram Configuration (uses Facebook Graph API)
INSTAGRAM_ACCESS_TOKEN=your_instagram_access_token
INSTAGRAM_BUSINESS_ACCOUNT_ID=your_instagram_business_account_id
# TikTok Configuration
TIKTOK_CLIENT_KEY=your_tiktok_client_key
TIKTOK_CLIENT_SECRET=your_tiktok_client_secret
TIKTOK_ACCESS_TOKEN=your_tiktok_access_token
# YouTube Configuration
YOUTUBE_CLIENT_ID=your_youtube_client_id
YOUTUBE_CLIENT_SECRET=your_youtube_client_secret
YOUTUBE_API_KEY=your_youtube_api_key
YOUTUBE_ACCESS_TOKEN=your_youtube_access_token
YOUTUBE_REFRESH_TOKEN=your_youtube_refresh_token
# Server Configuration
PORT=3000
NODE_ENV=development- Fire it up
# Start both frontend and backend
npm run dev
# Or if you want to run them separately:
# Backend: npm run server
# Frontend: npm run clientYour app will be running at:
- Frontend: http://localhost:3001
- Backend API: http://localhost:3000
- Start the application
# Start both frontend and backend
npm run dev
# Or start them separately:
# Backend: npm run server
# Frontend: npm run clientThe application will be available at:
- Frontend: http://localhost:3001
- Backend API: http://localhost:3000
- Upload a Video: Drag and drop your video file (MP4, AVI, MOV, etc.)
- Select Platforms: Choose which social media platforms to post to
- Generate Content: Describe your video and let AI create optimized content
- Review & Edit: Review generated captions and hashtags, make edits if needed
- Post: Publish to all selected platforms simultaneously
- Monitor: Track performance on the dashboard
- Head to Facebook Developers and create an app
- Add Facebook Login and Instagram Basic Display products
- Get your App ID, App Secret, and access tokens
- For Instagram Business accounts, you'll need additional permissions
- Go to Google Cloud Console
- Create a project and enable YouTube Data API v3
- Create OAuth 2.0 credentials
- Get your client ID, client secret, and generate access/refresh tokens
- Apply for a TikTok Developer account at TikTok Developers
- Create an app and request Content Posting API access
- Note: TikTok's Content Posting API requires special approval
POST /api/upload/video- Upload a video fileGET /api/upload/files- List all uploaded filesDELETE /api/upload/files/:filename- Delete a file
POST /api/ai/generate-content- Generate platform-specific contentPOST /api/ai/generate-hashtags- Generate relevant hashtagsPOST /api/ai/optimize-content- Optimize content for a specific platform
POST /api/social/facebook- Post to FacebookPOST /api/social/instagram- Post to InstagramPOST /api/social/youtube- Upload to YouTubePOST /api/social/tiktok- Post to TikTok (requires approval)POST /api/social/post-all- Post to multiple platforms
GET /api/posts- Get all postsPOST /api/posts- Create a new postPUT /api/posts/:id- Update a postDELETE /api/posts/:id- Delete a postPOST /api/posts/:id/publish- Publish a postGET /api/posts/:id/analytics- Get post analytics
- Fork this repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- OpenAI for the powerful GPT-4 API
- Next.js team for the amazing framework
- Tailwind CSS for the utility-first approach
- All the social media platforms for their APIs
Made with ❤️ for content creators and social media managers