Generate YouTube shorts from prompts with OpenAI, ElevenLabs and Pexels
Ready for 3.0What this workflow does
This AI workflow has 18 nodes and runs when someone submits an n8n form (“Short-form vertical video content”). Along the way it connects YouTube and OpenAI Chat Model. It also calls api.elevenlabs.io and queue.fal.run over HTTP.
How it runs
Trigger: When someone submits an n8n form (“Short-form vertical video content”).
- Set vars (Edit Fields (Set)): sets or maps fields
- Generate voiceover (AI Agent): runs an AI agent, with model: OpenAI Chat Model; output parser: Structured Output Parser
- Voiceover vars (Edit Fields (Set)): sets or maps fields
- Text-to-Speech (HTTP Request): calls api.elevenlabs.io (POST)
- Pexels (HTTP Request): calls an HTTP API
- Upload audio (FTP): upload
- Merge: merges the data from its input branches
- Set Audio Url (Edit Fields (Set)): sets 1 field: audio_url
- Merge Audio with Video (HTTP Request): calls queue.fal.run (POST)
- Wait: waits 30 seconds
…plus 5 more steps. See the full node list below.
Services it uses
HTTP calls to: api.elevenlabs.io, queue.fal.run
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (11)
- HTTP Request
n8n-nodes-base.httpRequest - Merge
n8n-nodes-base.merge - If
n8n-nodes-base.if - Wait
n8n-nodes-base.wait - Edit Fields (Set)
n8n-nodes-base.set - YouTube
n8n-nodes-base.youTube - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - n8n Form Trigger
n8n-nodes-base.formTrigger - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - AI Agent
@n8n/n8n-nodes-langchain.agent - FTP
n8n-nodes-base.ftp
From the author
Quick overview This workflow takes a prompt from an n8n form, uses OpenAI to generate a YouTube Shorts script, then creates an ElevenLabs voiceover, pulls matching portrait stock video from Pexels, merges audio and video via fal.run’s FFmpeg API, and uploads…