This Node.js project automates the creation, narration, captioning, and publishing of daily space-themed videos using AI and powerful APIs. It generates visually stunning, voice-narrated videos based on NASA’s Astronomy Picture of the Day (APOD), enhanced by AI-generated content, and uploads them automatically to YouTube.
- 🎥 Video Generation: Built with Remotion for dynamic video rendering.
- 🧠 Script Writing: Uses Google Gemini AI to generate engaging narratives based on NASA’s daily content.
- 🖼️ Image Generation: Integrates Pollination AI to enhance or generate complementary space visuals.
- 🔊 Voice Narration: Uses AWS Polly to convert AI-generated text into lifelike narration.
- 🎙️ Captions Generation: Transcribes narration using AssemblyAI for automatic subtitles.
- 🌌 Daily Space Content: Fetches content from NASA APOD API to ensure authenticity.
- ☁️ Cloud Rendering: Scalable video rendering via Remotion Lambda.
- 📤 YouTube Upload: Publishes videos to YouTube automatically using YouTube Data API.
- 🧾 Metadata Storage: Saves video metadata (title, description, timestamps, etc.) to AWS S3.
- 🤖 Daily Automation: Orchestrated using Make (Integromat) for daily execution.
- 🌐 Deployment: Deployed on Render for fast and reliable hosting.
Feature | Technology |
---|---|
Backend | Node.js, Express |
Video | Remotion, Remotion Lambda |
AI Scripting | Gemini AI |
Image Generation | Pollination AI |
Voice Synthesis | AWS Polly |
Captioning | AssemblyAI |
Data Source | NASA APOD API |
Upload | YouTube Data API |
Metadata Storage | AWS S3 |
Automation | Make (Integromat) |
Deployment | Render |
- 🔭 Fetch APOD data from NASA.
- ✍️ Generate video script using Gemini AI.
- 🖼️ Generate or enhance visuals using Pollination AI.
- 🗣️ Generate voiceover using AWS Polly.
- 📝 Transcribe voice to captions via AssemblyAI.
- 🎬 Render video using Remotion Lambda.
- 📤 Upload to YouTube with the YouTube API.
- 🧾 Upload metadata (title, caption, etc.) to AWS S3.
- ⏰ Scheduled and triggered automatically via Make.com.
- 🌍 Hosted and monitored on Render.
GEMINI_API_KEY=
GOOGLE_APPLICATION_CREDENTIALS=
REFRESH_TOKEN=
CLIENT_ID=
CLIENT_SECRET=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
NASA_API_KEY=
GMAIL_APP_PASSWORD=
ASSEMBLYAI_API_KEY=
REMOTION_AWS_ACCESS_KEY_ID=
REMOTION_AWS_SECRET_ACCESS_KEY=
S3_POLICY_ACCESS_KEY=
S3_POLICY_SECRET_KEY=
🧪 Local Development
git clone https://github.com/CoderAyushman/auto-shorts.git
cd auto-shorts
npm install
nodemon render.js
Use /generate route to trigger the full workflow manually for testing.
🧑🚀 Author
Ayushman
Made with a love for space and automation ✨