{"id":24625358,"url":"https://github.com/ysskrishna/pixelmotion","last_synced_at":"2026-04-07T07:45:31.800Z","repository":{"id":274037441,"uuid":"919972534","full_name":"ysskrishna/PixelMotion","owner":"ysskrishna","description":"A full-stack application built using React, TailwindCSS, FastAPI, Redis, Redis Queue, Docker, and WebSockets. It allows users to generate videos from images with a single click while providing real-time progress updates during the video generation process. The generated videos include animations and background music.","archived":false,"fork":false,"pushed_at":"2025-01-24T14:10:22.000Z","size":44792,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T14:24:14.133Z","etag":null,"topics":["distributed-systems","docker","docker-compose","fastapi","package-creation","pillow","publisher-subscriber","pubsub","python","python-package","react","reactjs","redis","redis-queue","rq","server-sent-events","storage-management","tailwindcss","websocket"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ysskrishna.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-21T10:43:10.000Z","updated_at":"2025-01-24T14:10:25.000Z","dependencies_parsed_at":"2025-01-24T14:34:28.094Z","dependency_job_id":null,"html_url":"https://github.com/ysskrishna/PixelMotion","commit_stats":null,"previous_names":["ysskrishna/pixelmotion"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysskrishna%2FPixelMotion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysskrishna%2FPixelMotion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysskrishna%2FPixelMotion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysskrishna%2FPixelMotion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ysskrishna","download_url":"https://codeload.github.com/ysskrishna/PixelMotion/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244394470,"owners_count":20445634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["distributed-systems","docker","docker-compose","fastapi","package-creation","pillow","publisher-subscriber","pubsub","python","python-package","react","reactjs","redis","redis-queue","rq","server-sent-events","storage-management","tailwindcss","websocket"],"created_at":"2025-01-25T04:33:12.818Z","updated_at":"2025-12-30T20:59:05.796Z","avatar_url":"https://github.com/ysskrishna.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PixelMotion - Image to video generation tool\nA full-stack application built using React, TailwindCSS, FastAPI, Redis, Redis Queue, Docker, and WebSockets. It allows users to generate videos from images with a single click while providing real-time progress updates during the video generation process. The generated videos include animations and background music.\n\n\nCheck out sample generated videos in the [media/samples](./media/samples) folder.\n\n## Media\n\n\nhttps://github.com/user-attachments/assets/2e3887e4-2f59-4cb3-97ad-1dd0d65cb20c\n\n\n\u003cvideo width=\"320\" height=\"240\" controls\u003e\n  \u003csource src=\"./media/pixelmotion_demo.mp4\" type=\"video/mp4\"\u003e\n\u003c/video\u003e\n\n### Landing Page\n\n\u003cimg src=\"./media/pixelmotion-1-landing.JPG\" alt=\"Landing Page\"/\u003e\n\n### Pipeline Running\n\u003cimg src=\"./media/pixelmotion-2-processing.JPG\" alt=\"Processing\"/\u003e\n\n### Generated Video\n\u003cimg src=\"./media/pixelmotion-3-processed-output.JPG\" alt=\"Processed Output\"/\u003e\n\n### Download Video Feature\n\u003cimg src=\"./media/pixelmotion-4-download.JPG\" alt=\"Download\"/\u003e\n\n### Storage Dashboard\n\u003cimg src=\"./media/pixelmotion-5-storage.JPG\" alt=\"Storage\"/\u003e\n\n### Multiple Images Processing\n\u003cimg src=\"./media/pixelmotion-6-multiple-upload.JPG\" alt=\"Multiple Upload\"/\u003e\n\n\n\n## Architecture Diagram\n\n\u003cimg src=\"./media/pixelmotion-architecture.PNG\" alt=\"PixelMotion Architecture\"/\u003e\n\n## Features\n- Generate videos from images with a single click\n- Real-time progress updates during the video generation process\n- Animations and background music added to the videos\n- Clean and user-friendly interface\n- Secure and scalable backend\n- Containerized deployment\n\n## Architecture Highlights\n- **Microservices Architecture**: The application is built using multiple independent services:\n  - Frontend Service (React)\n  - Backend API Service (FastAPI)\n  - AI Engine Worker Service\n  - Redis Service for message queuing and caching\n  - MinIO Service for object storage\n  \n- **Backend Architecture**:\n  - FastAPI for high-performance async API\n  - Event-driven communication using WebSockets and Redis Pub/Sub\n  - Background task processing with Redis Queue\n  - Task status tracking and progress updates\n  - Secure file storage and retrieval\n  - Real-time updates between services\n\n- **Modular Code Organization**:\n  - Shared code packaged as `pm_common` Python package\n  - Common utilities for Redis, S3, and task management\n  - Reusable components across services\n\n- **Scalable Infrastructure**:\n  - Docker containerization for all services\n  - Redis Queue for distributed task processing\n  - MinIO S3-compatible object storage\n\n- **Modern Frontend**:\n  - React with TailwindCSS for responsive UI\n  - Real-time WebSocket integration\n  - Clean component architecture\n\n\n## Techstack used: \n- React\n- TailwindCSS\n- Nginx\n- WebSockets\n- FastAPI\n- Redis\n- Redis Queue\n- Pillow\n- MoviePy\n- MinIO\n- Docker\n- Docker Compose\n- Python\n\n## Installation\n1. Clone the repository\n2. Run `docker compose -f docker-compose.yml up` to start the all instances\n3. Run `docker compose -f docker-compose.yml down` to stop the all instances\n4. Run `docker compose -f docker-compose.yml up --build` to build and start the all instances\n5. Frontend will be available at `http://localhost:80/`\n6. Backend will be available at `http://localhost:8000/`\n7. Minio Object Storage will be available at `http://localhost:9001/`\n   - Username: `minioadmin`\n   - Password: `minioadminpassword`\n8. Redis will be available at `http://localhost:6379/`\n\n\n## License\nCopyright (c) 2024 [Y. Siva Sai Krishna](https://github.com/ysskrishna)\n\nThis project is licensed under the AGPL-3.0 License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fysskrishna%2Fpixelmotion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fysskrishna%2Fpixelmotion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fysskrishna%2Fpixelmotion/lists"}