Commit Graph
717 Commits
Author SHA1 Message Date
MichaelandClaude Sonnet 4.6 4072f8954f feat: add publication scheduling to Remotion video generator
- New POST /api/remotion/publish endpoint: uploads MP4 to Cloudinary,
  creates post/media records, publishes or schedules per-page as a Reel
- Desktop and mobile pages show page selector + DateTimePicker + description
  after video generation, matching the Reels publication workflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 19:36:53 +01:00
MichaelandClaude Sonnet 4.6 32c308c2af fix: use exact MP3 duration for word-timing sync instead of byte estimate
Parses the generated TTS audio file with music-metadata to get the real
duration before computing word timings, eliminating desync between text
overlay and voice playback.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 19:22:28 +01:00
MichaelandClaude Sonnet 4.6 9145bc5941 feat: add logo watermark, ending slide, 25-30s duration, and word-sync text
- Video duration forced to 25-30s (content 22-27s + 3s ending)
- Logo watermark (bottom-right) visible throughout content section
- Ending slide: logo centered + store name with spring animation (3s)
- Text overlay now shows only the active spoken word (true TikTok sync)
- Server fetches logo from Cloudinary config and store name from user's pages
- Player preview also shows logo/storeName via /api/cloudinary/config + /api/pages

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 19:13:07 +01:00
MichaelandClaude Sonnet 4.6 57c18e24df fix: switch back to Debian-slim for native glibc (posix_fallocate64 fix)
Alpine + gcompat lacks posix_fallocate64 symbol required by Remotion's Chrome
headless shell. Debian-slim has real glibc so Chrome runs correctly.
NODE_OPTIONS stays before npm install to prevent OOM during build.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 17:19:57 +01:00
MichaelandClaude Sonnet 4.6 eba9c9da5e fix: resolve music URL 404 and revert Dockerfile to Alpine + gcompat
- Convert relative music track URLs to absolute before passing to Remotion renderer
- Reverts Dockerfile from Debian-slim back to Alpine + gcompat/libc6-compat for lighter image

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 17:13:51 +01:00
Michael aa01c7a7fd chore: Optimize Docker build by setting Node.js memory before npm install and adding --no-audit --no-fund flags. 2026-03-24 17:07:16 +01:00
Michael abfb958340 deps: Add music-metadata dependency. 2026-03-24 16:55:18 +01:00
Michael 24a1d39e88 feat: Implement Remotion video generation feature, allowing users to combine images with text overlay and text-to-speech. 2026-03-24 16:44:06 +01:00
Michael 4f69a2edda feat: Add Remotion rendering API with TTS and update Dockerfile to use Debian-slim for Remotion's glibc-dependent Chrome headless shell. 2026-03-24 14:18:57 +01:00
Michael fa4e6e3131 feat: Add Remotion video rendering endpoint with image and TTS support, and enhance Dockerfile's Chromium detection logic. 2026-03-24 14:15:07 +01:00
Michael 468e65091f feat: Add Remotion video rendering API with TTS integration and configure Docker to use system Chromium for rendering. 2026-03-24 14:01:13 +01:00
Michael d97c0ed73a feat: Add Remotion video rendering endpoint with image upload, TTS generation, and dynamic word timings. 2026-03-24 13:54:37 +01:00
Michael 297af0ab0d feat: add libcap to Dockerfile and ensure Remotion browser binary is downloaded 2026-03-24 13:49:43 +01:00
Michael b15ba68b78 feat: Add Remotion video rendering endpoint with image uploads, text overlay, and TTS generation. 2026-03-24 13:39:28 +01:00
Michael e472e05a3b feat: Implement Remotion video rendering API with TTS, word timings, and Docker pre-bundling. 2026-03-24 13:33:18 +01:00
Michael d98d43cd06 feat: Add Remotion video generation page and API for image-based videos with text overlay and text-to-speech capabilities. 2026-03-24 13:28:28 +01:00
Michael 1a7cbe6af9 feat: Implement Remotion bundling and rendering scripts. 2026-03-24 13:25:22 +01:00
Michael 526e608077 feat: Implement Remotion video generation with client-side image selection and server-side rendering. 2026-03-24 12:48:53 +01:00
Michael e41c43c1da feat: Implement Remotion video generation with dedicated client UI, components, and server-side rendering. 2026-03-24 12:35:52 +01:00
Michael 177f4db455 feat: introduce FastAPI FFmpeg service for video reel creation with TTS and synchronized subtitles. 2026-03-24 08:59:28 +01:00
Michael af082eaf2f feat: Add Dockerfile for the ffmpeg-service, including FFmpeg with vidstab support and Python dependencies. 2026-03-24 08:45:35 +01:00
Michael eff432b585 feat: implement initial FFmpeg processing service with FastAPI, TTS generation, and word-level subtitles. 2026-03-24 08:39:45 +01:00
Michael e6a1fdc9da feat: Implement new FFmpeg service with FastAPI for video processing, TTS, and subtitle generation, including font management and debugging endpoints. 2026-03-19 15:00:59 +01:00
Michael 3a5acd425c feat: Implement new Reel creation functionality with dedicated mobile and desktop UIs, server-side API routes, and a new FFmpeg processing service. 2026-03-19 14:51:16 +01:00
Michael ae0048a6e1 feat: Add initial application structure, client components, server services, and extensive BMAD/BMM workflow definitions. 2026-03-17 11:39:44 +01:00
Michael 5a67ed2e83 feat: add initial API routes for Reels, including music search, popular tracks, and favorite management. 2026-03-12 16:18:09 +01:00
Michael a01194cc79 fix(cloudinary): correct method name to getCloudinaryConfig across backend 2026-03-04 14:45:38 +01:00
Michael 60c830c88b feat: implement automatic purging of old media and schedule its daily execution via cron. 2026-03-04 14:32:27 +01:00
Michael f6376cb470 Merge branch 'main' of https://github.com/R0m1k3/Socialflow 2026-03-04 14:25:06 +01:00
Michael 82befb2264 feat: Implement analytics, media management, and third-party service configurations with new settings pages. 2026-03-04 14:25:02 +01:00
Michael 7c88527501 feat: Introduce FFmpeg service with TTS, synchronized subtitles, and video stabilization features. 2026-03-03 19:26:31 +01:00
Michael 5a8c548a62 feat: Implement FastAPI service for video processing with advanced TTS generation and word-level synchronized subtitles. 2026-03-03 19:13:03 +01:00
Michael 64969b17b5 feat: Create FastAPI service for generating TTS with word-level synchronized subtitles, robust font handling, and FFmpeg diagnostics. 2026-03-03 18:19:52 +01:00
Michael 0fd7812b05 feat: Implement mobile new reel creation page with multi-step workflow for video upload, music selection, text overlay, and scheduling. 2026-03-03 16:27:48 +01:00
Michael 108f020dc5 test: add sample ASS subtitle files for subtitle generation and styling tests. 2026-03-03 14:41:09 +01:00
Michael c3356c2140 feat: Introduce ffmpeg-service using FastAPI to process video, generate TTS with synchronized subtitles, and manage fonts. 2026-03-03 14:28:01 +01:00
Michael 101e27a2fd feat: Implement new FFmpeg service for video processing, including TTS with synchronized subtitles and font management. 2026-03-03 13:59:17 +01:00
Michael b413c1ca41 feat: implement an FFmpeg processing service with FastAPI, supporting TTS, word-level subtitles, and font management. 2026-03-03 13:11:43 +01:00
Michael 9d29e7784a feat: Implement core FastAPI service for video processing with TTS generation, dynamic subtitles, and FFmpeg enhancements. 2026-03-03 12:44:32 +01:00
Michael 4fcc8cf53c feat: Add music search and favorite API routes, and introduce FFmpeg service for Reels. 2026-03-03 12:34:09 +01:00
Michael cb42558e52 Merge branch 'main' of https://github.com/R0m1k3/Socialflow 2026-03-03 12:08:29 +01:00
Michael b4e48a1f0e feat: implement FastAPI service for video processing with TTS, synchronized subtitles, and stabilization. 2026-03-03 12:08:28 +01:00
Michael ccfa2dd354 feat(mobile): use internal audio tracks for reels instead of external search 2026-03-02 21:46:38 +01:00
Michael 4e189e7797 feat: add core API routes for authentication, user management, and file upload handling. 2026-03-02 14:16:19 +01:00
Michael 84d2012929 feat: Implement music search and favorite APIs for Facebook Reels, and configure the internal app URL for the ffmpeg service. 2026-03-02 14:11:18 +01:00
Michael a71c5a278f feat: Initialize the Express server with essential middleware, security, authentication, routing, and service configurations. 2026-03-02 14:06:50 +01:00
Michael 6d16dc9d41 feat: add API routes for Jamendo music search, popular tracks, user favorites, and track details, including a placeholder for AI text generation for Reels. 2026-03-02 13:49:08 +01:00
Michael 40a057e924 feat: Introduce FastAPI service for video processing, supporting TTS, dynamic subtitles, and video stabilization. 2026-03-02 13:39:51 +01:00
Michael 7e5c73cad9 feat: establish server API routes for authentication, user management, and media processing. 2026-03-02 13:33:23 +01:00
Michael 94429e86df feat: Initialize the core Express server with security, session management, and service integrations, and add a Docker volume for audio file persistence. 2026-03-02 13:21:05 +01:00