See llms.txt for all machine-readable content.

Back to Templates

Generate quality-checked YouTube thumbnails with OpenAI and Google Drive

Created by

Created by: Khadija Naeem || khadijanaeem
Khadija Naeem

Last update

Last update 2 days ago

Categories

Share


Quick overview

This workflow collects a video title via an n8n form, analyzes creator photos and reference thumbnails from Google Drive with OpenAI, generates two thumbnail concepts, creates images with OpenAI image generation, uploads results to Cloudinary and Google Drive, quality-checks them, and logs approved thumbnails in Google Sheets.

How it works

  1. Receives a video title from an n8n form submission.
  2. Downloads creator photos and reference thumbnail examples from Google Drive and uses OpenAI vision to extract a reusable creator appearance profile and recurring thumbnail design patterns.
  3. Combines those analyses and uses an OpenAI-powered agent to produce exactly two structured thumbnail generation prompts tailored to the submitted title.
  4. Loops over the two prompts and calls the OpenAI Images API to generate a high-quality thumbnail for each concept.
  5. Converts the generated image to a file, uploads it to Cloudinary to get a public URL, and also saves the file to a specified Google Drive folder.
  6. Uses OpenAI vision to quality-check each uploaded thumbnail and either appends the title and Cloudinary URL to Google Sheets when approved or regenerates the image up to three attempts before routing the item to manual review.

Setup

  1. Add OpenAI API credentials (used for image analysis, prompt generation, and the Images API HTTP request).
  2. Add Google Drive OAuth2 credentials and set the creator photos folder ID, reference thumbnails folder ID, and output thumbnails folder ID.
  3. Add Google Sheets OAuth credentials and replace the tracking spreadsheet ID (and confirm the target sheet/tab) where approved thumbnail URLs are appended.
  4. Configure Cloudinary by replacing YOUR_CLOUD_NAME and YOUR_UPLOAD_PRESET, and ensure the upload preset allows unsigned uploads (or update the request to use signed authentication).