Quick Overview
This workflow runs every two hours to pick a new photo from Google Drive, generate motion and platform-specific captions with Google Gemini, animate the photo into a 6-second MiniMax Hailuo video, publish it to TikTok/Instagram/YouTube via PostWire, and log results to Google Sheets with Gmail alerts on failures.
How it works
- Runs every two hours and searches a specified Google Drive folder for image files, skipping HEIC/HEIF and GIF formats.
- Selects one photo to process and moves it to an “Animated” Google Drive folder to prevent reprocessing.
- Downloads the photo and sends it to Google Gemini to generate a motion prompt plus captions for TikTok, Instagram, and YouTube (including a YouTube Shorts title).
- Combines the downloaded image with the generated plan and sends it to MiniMax Hailuo to create a 6-second image-to-video clip.
- Publishes the rendered video to TikTok, Instagram Reels, and YouTube Shorts via PostWire using the platform-specific captions.
- Aggregates the publishing results and appends a “posted” row to Google Sheets when all platforms succeed.
- If rendering or posting fails for any platform, appends a “needs fix/partly posted” row to Google Sheets and emails the failure details via Gmail.
Setup
- Add credentials for Google Drive and Google Sheets, then select the source “To animate” folder, destination “Animated” folder, and the target spreadsheet/document and sheet name.
- Add a Google Gemini API credential and ensure the selected Gemini model is available in your account.
- Add a MiniMax credential for Hailuo and confirm billing/quotas for image-to-video generation.
- Install and configure the PostWire community node, add your PostWire API key, and connect your TikTok, Instagram, and YouTube accounts in PostWire.
- Add a Gmail credential and update the notification email address and any desired video style text in the workflow’s settings fields.
- Create a Google Sheets log with columns: photo, file_link, status, posted_at, links, and note, matching the workflow’s append mappings.