Create beat-synced AI promo shorts from CSV with Claude Opus and Shotstack

Go to Workflow
0 views
Built by Jesus Rojas Jesus Rojas
Created on October 16, 2026

Description

Quick overview
Turn every row of a CSV into a 32-second vertical promo for TikTok, Reels or Shorts. Claude writes the Shotstack edit: AI images and video shots, AI music, a voiceover and subtitles, all cut to the beat. Self-hosted n8n only: it reads and saves files on disk.

How it works
Downloads Shotstack's guide for AI agents once, then reads shorts.csv one row at a time. Each row is one line about a business.
Claude Opus 5.5 reads the guide and a plain-English brief and writes the whole Shotstack edit: prompts for 8 Nano Banana 2 images, 3 of them animated with Gemini, ElevenLabs music at 120 BPM, a voiceover, subtitles and animated text, all timed to the beat.
A Code step checks the edit before anything costs money. It fixes small things itself and sends anything else back to Claude with the exact problem.
One Shotstack render generates every image, video shot and sound, then renders the 32-second short, which is saved to the shorts folder.
If Shotstack turns the edit down or the render fails, Claude gets the exact error and fixes the edit, up to twice. A wrong API key or an empty balance stops the run with the reason.

Setup
Install the Shotstack community node from the nodes panel or Settings → Community nodes, then import this workflow.
Add your Anthropic API key to the Claude and Claude (fixes) steps, and your Shotstack API key to Make the video and Check the render. Free trial: https://shotstack.io/?utm_source=n8n&utm_medium=template&utm_campaign=beat-shorts&utm_content=description
Save shorts.csv in n8n's files folder (/home/node/.n8n-files in Docker) with one column, About: what the business is and what the video should say. Make an empty shorts folder next to it.
On an npm install, change /home/node/.n8n-files to your own files folder in Read the CSV and Save the short. Then click Execute workflow, and try one row first: each short takes 10 to 25 minutes.

Requirements
Self-hosted n8n, version 2 or later, because the workflow reads and saves files on disk
The Shotstack community node, any version
A Shotstack API key with credits for AI generation
An Anthropic API key. Claude Opus 5.5 works best; other chat models need more fixes

Customization
Change the length, tempo, number of images or style in the plain-English brief in Claude makes the video
Ask for fewer video shots to spend less: each is 2.5 credits
Read the rows from the Google Sheets node and save the shorts to Google Drive

Additional info
About 18 Shotstack credits a short ($3.50 to $3.60 depending on the plan): 7.5 for the 3 video shots, 6 for the 8 images, 3.75 for the music and under 1 for the voiceover and render, plus your Claude usage. Each short takes 10 to 25 minutes. The 10 free trial credits don't cover a full short, so for a first try change "8 images" to 4 in the brief and delete the line about the video shots, for about 7.5 credits. Write-up with a sample video: https://community.n8n.io/t/321339

This workflow was created by Jesus Rojas and shared publicly on the n8n community template library. n8nFind indexes it for discovery — the workflow remains the property of its original creator.

Nodes Used (4)

Anthropic Chat Model
@n8n/n8n-nodes-langchain.lmChatAnthropic
Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm
Code
n8n-nodes-base.code
HTTP Request
n8n-nodes-base.httpRequest