Ingest and search Cloudflare R2 media with Gemini, Groq Whisper, and Supabase
UnknownWhat this workflow does
This AI workflow has 49 nodes and runs when an HTTP POST request hits its webhook URL (plus 5 other triggers). Along the way it connects Embeddings Google Gemini, Supabase Vector Store, Google Drive and Google Gemini and 1 more. It also calls n8n.airpg.ai over HTTP.
How it runs
Trigger: When an HTTP POST request hits its webhook URL (plus 5 other triggers).
- Configure Input Data (Edit Fields (Set)): sets 6 fields: bucket, prefix, bucket_url…
- Query Vector Store (Supabase Vector Store): searches the Supabase vector store, with embeddings: Embed with Gemini Model
- Separate Image Metadata (Split Out): splits a list into separate items
- Separate New Image Output (Split Out): splits a list into separate items
- Separate PDF Metadata (Split Out): splits a list into separate items
- Separate New PDF Output (Split Out): splits a list into separate items
- List R2 Storage Files (Cloudflare R2Storage): list
- Rank Search Results (Edit Fields (Set)): sets 4 fields: public_url, mime_type, summary…
- Submit Image to Gemini API (HTTP Request): calls an HTTP API (POST)
- Parse Image Output (Edit Fields (Set)): sets 10 fields: album, public_url, file_date…
…plus 29 more steps. See the full node list below.
Services it uses
HTTP calls to: n8n.airpg.ai
Before you upgrade to n8n 3.0
We can't fully verify this one: it relies on 1 community package, and n8n 3.0 turns unverified community packages off by default (N8N_UNVERIFIED_PACKAGES_ENABLED=false).
- Check that n8n-nodes-cloudflare-r2-storage is verified or supports 3.0 (used in List R2 Storage Files).
Nodes used (17)
- Edit Fields (Set)
n8n-nodes-base.set - Embeddings Google Gemini
@n8n/n8n-nodes-langchain.embeddingsGoogleGemini - Default Data Loader
@n8n/n8n-nodes-langchain.documentDefaultDataLoader - Character Text Splitter
@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter - Supabase Vector Store
@n8n/n8n-nodes-langchain.vectorStoreSupabase - HTTP Request
n8n-nodes-base.httpRequest - Webhook
n8n-nodes-base.webhook - Code
n8n-nodes-base.code - Merge
n8n-nodes-base.merge - Filter
n8n-nodes-base.filter - Split Out
n8n-nodes-base.splitOut - Google Drive
n8n-nodes-base.googleDrive - Respond to Webhook
n8n-nodes-base.respondToWebhook - Aggregate
n8n-nodes-base.aggregate - Google Gemini
@n8n/n8n-nodes-langchain.googleGemini - Cloudflare R2Storage
n8n-nodes-cloudflare-r2-storage.cloudflareR2Storage - Switch
n8n-nodes-base.switch
From the author
Quick overview This workflow ingests images, PDFs, and videos from a Cloudflare R2 folder, uses Google Gemini to view pdfs, images and videos, Groq stt (Whisper) for video transcriptst - to generate searchable descriptions and tags, stores embeddings in a…