Schedule motivational YouTube Shorts with Google Drive, Gemini, Airtable and Cloudinary

Go to Workflow
0 views
Built by Iliyan Ivanov Iliyan Ivanov
Created on July 29, 2026

Description

Quick overview
This workflow schedules a random daily upload of a Google Drive video as a YouTube Short, compressing large files via Cloudinary, generating a title and hashtags with Google Gemini, logging details to Airtable, and sending a Telegram notification after deleting the uploaded file.

How it works
Runs on a schedule (or manually) and waits a random number of minutes to stagger posting time.
Finds a video file in a specified Google Drive folder and checks whether its size exceeds 50 MB.
If the file is large, uploads it to Cloudinary and generates a compressed Cloudinary download URL; otherwise it uses the original file.
Uploads the chosen video to a Google Cloud Storage bucket to create a stable URL for analysis.
Uses Google Gemini to analyze the video and generate a short title and up to 13 relevant hashtags, then formats the hashtags into comma-separated YouTube tags.
Creates an Airtable record with the file name, the generated caption (title + hashtags), and the Google Cloud Storage video URL.
Downloads the video binary from Google Drive, uploads it to YouTube with the generated title, description, and tags, waits briefly, deletes the source file from Google Drive, and sends a Telegram confirmation message.

Setup
Connect credentials for Google Drive, YouTube OAuth2, Airtable Personal Access Token, Google Cloud Storage OAuth2, Google Gemini (PaLM) API, and Telegram (optional for notifications).
Update the Google Drive folder ID used for searching videos and ensure it contains the files you want to upload.
Configure the Cloudinary upload endpoint and upload_preset (and ensure your Cloudinary account allows video uploads) for the compression path.
Set your Google Cloud Storage bucket name and object name, and ensure the workflow has permission to create/overwrite that object.
Select your Airtable base/table and confirm the fields used for logging (Name, Caption, Video URL) match your schema.
Adjust the cron schedule, random delay range, YouTube category/region/privacy settings, and the Telegram chat ID/message text to fit your environment.

Nodes Used (8)

Airtable
n8n-nodes-base.airtable
Code
n8n-nodes-base.code
Google Cloud Storage
n8n-nodes-base.googleCloudStorage
Google Drive
n8n-nodes-base.googleDrive
Google Gemini
@n8n/n8n-nodes-langchain.googleGemini
HTTP Request
n8n-nodes-base.httpRequest
Telegram
n8n-nodes-base.telegram
YouTube
n8n-nodes-base.youTube