This workflow follows the HTTP Request → YouTube recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "Arabic AI YouTube Shorts Every 4 Hours - FFmpeg Ready",
"nodes": [
{
"parameters": {
"triggerTimes": {
"mode": "everyXHours",
"hours": 4
}
},
"name": "Cron Trigger",
"type": "n8n-nodes-base.cron",
"typeVersion": 1,
"position": [
100,
200
]
},
{
"parameters": {
"functionCode": "const types = ['\u0645\u0639\u0644\u0648\u0645\u0629', '\u0623\u062f\u0627\u0629', '\u0646\u0635\u064a\u062d\u0629', '\u062a\u062d\u0641\u064a\u0632'];\nconst selectedType = types[Math.floor(Math.random() * types.length)];\nreturn [{ json: { contentType: selectedType } }];"
},
"name": "Select Content Type",
"type": "n8n-nodes-base.function",
"typeVersion": 1,
"position": [
300,
200
]
},
{
"parameters": {
"requestMethod": "POST",
"url": "https://api-inference.huggingface.co/models/gpt-neox",
"jsonParameters": true,
"bodyParametersJson": "{\"inputs\": \"Generate a friendly Arabic YouTube Shorts script (30-60 seconds) about AI tools and concepts, based on type: {{$json[\\\"contentType\\\"]}}. Make it educational + motivational in easy-to-understand Arabic.\"}"
},
"name": "Generate Arabic Script (AI)",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 1,
"position": [
500,
200
]
},
{
"parameters": {
"requestMethod": "POST",
"url": "https://ttsmp3.com/makemp3_new.php",
"jsonParameters": true,
"bodyParametersJson": "{\"msg\": {{$json[\\\"text\\\"]}}, \"lang\": \"ar-SA\", \"source\": \"ttsmp3\"}",
"responseFormat": "file"
},
"name": "TTS Arabic (MP3)",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 1,
"position": [
700,
200
]
},
{
"parameters": {
"requestMethod": "GET",
"url": "https://pixabay.com/api/videos/?key=52826070-b4b43fb9db34f9f088d6ed0d9&q=short+animation&per_page=5",
"jsonParameters": true
},
"name": "Download Video Clip",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 1,
"position": [
900,
200
]
},
{
"parameters": {
"functionCode": "return [{ json: { video_path: $json[\"video_url\"], audio_path: $json[\"audio_url\"], text_overlay: $json[\"text\"] } }];"
},
"name": "Prepare FFmpeg Inputs",
"type": "n8n-nodes-base.function",
"typeVersion": 1,
"position": [
1100,
200
]
},
{
"parameters": {
"operation": "merge",
"videoFile": "={{$json[\"video_path\"]}}",
"audioFile": "={{$json[\"audio_path\"]}}",
"text": "={{$json[\"text_overlay\"]}}",
"fontSize": 28,
"fontColor": "white",
"textPosition": "bottom",
"outputFileName": "final_video.mp4"
},
"name": "FFmpeg Merge Video + Audio + Text",
"type": "n8n-nodes-base.ffmpeg",
"typeVersion": 1,
"position": [
1300,
200
]
},
{
"parameters": {
"resource": "video",
"operation": "upload",
"videoUrl": "={{$node[\"FFmpeg Merge Video + Audio + Text\"].json[\"outputFile\"]}}",
"title": "={{$json[\"text\"]}}",
"description": "#\u0630\u0643\u0627\u0621_\u0627\u0635\u0637\u0646\u0627\u0639\u064a #\u0627\u062f\u0648\u0627\u062a_AI #AI #AITools #Shorts",
"privacyStatus": "public",
"authentication": "oAuth2",
"clientId": "531307366437-1739v3aiontg76f6m7c5ieke3hfu8h79.apps.googleusercontent.com",
"clientSecret": "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"
},
"name": "Upload to YouTube",
"type": "n8n-nodes-base.youtube",
"typeVersion": 1,
"position": [
1500,
200
]
},
{
"parameters": {
"functionCode": "try { return items; } catch(error) { return [{ json: { error: error.message, timestamp: new Date() } }]; }"
},
"name": "Error Handling & Logging",
"type": "n8n-nodes-base.function",
"typeVersion": 1,
"position": [
1700,
200
]
}
],
"connections": {
"Cron Trigger": {
"main": [
[
{
"node": "Select Content Type",
"type": "main",
"index": 0
}
]
]
},
"Select Content Type": {
"main": [
[
{
"node": "Generate Arabic Script (AI)",
"type": "main",
"index": 0
}
]
]
},
"Generate Arabic Script (AI)": {
"main": [
[
{
"node": "TTS Arabic (MP3)",
"type": "main",
"index": 0
}
]
]
},
"TTS Arabic (MP3)": {
"main": [
[
{
"node": "Download Video Clip",
"type": "main",
"index": 0
}
]
]
},
"Download Video Clip": {
"main": [
[
{
"node": "Prepare FFmpeg Inputs",
"type": "main",
"index": 0
}
]
]
},
"Prepare FFmpeg Inputs": {
"main": [
[
{
"node": "FFmpeg Merge Video + Audio + Text",
"type": "main",
"index": 0
}
]
]
},
"FFmpeg Merge Video + Audio + Text": {
"main": [
[
{
"node": "Upload to YouTube",
"type": "main",
"index": 0
}
]
]
},
"Upload to YouTube": {
"main": [
[
{
"node": "Error Handling & Logging",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Arabic AI YouTube Shorts Every 4 Hours - FFmpeg Ready. Uses httpRequest, ffmpeg, youtube. Scheduled trigger; 9 nodes.
Source: https://gist.github.com/Oushah02/93ba1c8b5789c5e217bfd218db34a845 — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
MindFrame Psychology - Daily YouTube Shorts (Complete). Uses httpRequest, googleDrive, youtube, telegram. Scheduled trigger; 26 nodes.
MindFrame Psychology - Daily YouTube Shorts (FIXED). Uses httpRequest, googleDrive, youtube, telegram. Scheduled trigger; 25 nodes.
Ramadhan Shorts FULL Automation (YT + TikTok + Reels). Uses googleSheets, openAi, executeCommand, youtube. Scheduled trigger; 10 nodes.
This n8n workflow provides automated monitoring of YouTube channels and sends real-time notifications to RocketChat when new videos are published. It supports all YouTube URL formats, uses dual-source
📘 Multi-Photo Facebook Post (Windows Directory) – How to Use ✅ Requirements To run this automation, make sure you have the following: