π± Post LinkedIn image updates from Google Drive with Gemini Vision captions
β‘ 7 views Β· π± Social Media & Email Marketing
π‘ Pro Tip β If youβre pulling LinkedIn data through HTTP requests or dealing with API restrictions, thereβs a community node called ScraperNode that handles this natively. It has dedicated scrapers for profiles, companies, jobs, and people search β you just pass a URL and get structured data back.
Description
Quick overview
This scheduled workflow pulls an image from Google Drive, uses Google Gemini Vision to generate an on-brand LinkedIn caption, uploads the image via LinkedInβs asset upload API, and publishes the post to your LinkedIn profile.
How it works
- Runs on a schedule (every 3 days at 19:30 by default).
- Loads your posting settings (LinkedIn person URN, CTA link, post title, and brand context) and finds the next image in a specified Google Drive folder.
- Downloads the image from Google Drive and sends it to Google Gemini Vision to generate a LinkedIn caption using your brand context and formatting rules.
- Initializes an image upload with the LinkedIn REST API to obtain an upload URL and image asset URN.
- Uploads the image binary to LinkedIn using the provided upload URL.
- Creates a LinkedIn post that combines the Gemini-generated commentary with the uploaded image asset and publishes it publicly.
Setup
- Connect Google Drive OAuth2 credentials and set the target folder ID in the Google Drive search step.
- Add a Google Gemini (Gemini API) credential and ensure the selected model (for example,
models/gemini-2.5-flash) is available to your project. - Connect LinkedIn OAuth2 credentials with permission to publish posts (including the
w_member_socialscope) and access to the LinkedIn REST API. - Update the Config values, especially
linkedinPersonUrn(formaturn:li:person:...),ctaLink,postTitle, andbrandContext. - Adjust the schedule interval/time if you want posts to publish more or less frequently.
π Nodes Used
HTTP Request, Google Drive, Schedule Trigger, Google Gemini
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File