n8n workflow
Turn new episodes into Shorts with n8n
Import one workflow file with 11 built-in nodes and n8n runs the whole loop. It watches a Google Drive folder, sends each new episode to clipsdk, waits for the webhook, uploads clips scoring 85 or more to YouTube and sends the rest to an Airtable review queue.

Upload as a Short
true

Add to review queue
false
The workflow
11 nodes, all built into n8n
No community nodes and nothing to install. Pick a node to see how it's set up in the file.
Trigger
Upload the episode
Make clips
Route by score
Publish or review
truefalseresumes on webhookCreate clips
HTTP Request node
Starts the job and hands clipsdk this run's resume URL as the webhook. With wait=0 it answers right away.
- Method
- POST
- URL
- https://api.clipsdk.com/v1/clips?wait=0
- Authentication
- Header Auth
- Body
- 10 clips, 20 to 60 s, 9:16, auto reframe, bold captions
- webhook_url
- {{ $execution.resumeUrl }}
Starts the job and hands clipsdk this run's resume URL as the webhook. With wait=0 it answers right away.
- Method
- POST
- URL
- https://api.clipsdk.com/v1/clips?wait=0
- Authentication
- Header Auth
- Body
- 10 clips, 20 to 60 s, 9:16, auto reframe, bold captions
- webhook_url
- {{ $execution.resumeUrl }}
Setup
Running in six steps
About ten minutes, most of it signing in to Google and Airtable.
| Account | n8n credential |
|---|---|
| clipsdkGet an upload URL, Create clips | Header Auth |
| Google DriveNew file in Drive, Download the episode | Google Drive OAuth2 API |
| YouTubeUpload as a Short | YouTube OAuth2 API |
| AirtableAdd to review queue | Airtable Personal Access Token API |
- 1
Import the workflow
Download the file, open a new workflow in n8n, then pick Import and From file in the workflow menu. From URL works too, or paste the JSON straight onto the canvas.
- 2
Add your API key
Create a Header Auth credential and select it on Get an upload URL and Create clips.
Name: Authorization Value: Bearer csdk_live_...
- 3
Pick the Drive folder
Connect Google Drive and choose the folder to watch in New file in Drive. It checks for new files every 5 minutes.
- 4
Connect YouTube and Airtable
Sign in to both, or swap them for any node that takes a file or a row, like Slack, Notion or Google Sheets. The Airtable table needs Title, Score, Reason, Clip and Caption columns.
- 5
Let clipsdk reach n8n
The Wait node resumes when clipsdk calls its URL. n8n Cloud works as it is. Self-hosted n8n needs a public address, set with the WEBHOOK_URL variable.
- 6
Publish and drop an episode
Publish the workflow (older versions say Activate) and add a video to the folder. Clips that score 85 or more go to YouTube as private uploads. The rest land in Airtable.
Make it yours
Change it without starting over
Move the bar
Change 85 in the If node to post more clips, or fewer, without a review.
Shape the clips
Edit the body of Create clips: clips (1 to 20), min_seconds and max_seconds (10 to 90), prompt, aspect, reframe and captions.
Skip the upload
Video already at a direct file URL? Delete the three upload nodes and put that URL in video_url.
No public URL
Drop webhook_url and swap the Wait node for a loop that GETs the job's poll_url with wait=60 until the status is succeeded or failed.
Long episodes on n8n 1.x
Older self-hosted versions hold files in memory. Set N8N_DEFAULT_BINARY_DATA_MODE=filesystem before you send big files through.
Go public
Upload as a Short starts private. Switch Privacy Status to Public once you trust the scores.
FAQ
Questions, answered
Is there an official clipsdk node for n8n?
No. The workflow uses n8n's built-in HTTP Request node, so it runs on n8n Cloud and self-hosted n8n without installing anything.
Why does the workflow upload the file instead of sending the Drive link?
clipsdk needs a direct file URL or an upload. A Drive share link opens a web page, not the video, so the workflow downloads the episode and sends it to a clipsdk upload URL.
What does the Wait node do?
It pauses the run. Create clips passes the run's resume URL as webhook_url, and clipsdk calls it when the job is done. The run then continues with the clips in body.job.result.clips. It stops waiting after 2 hours.
My n8n runs on my laptop. Will this work?
Only if clipsdk can reach it. Use n8n Cloud or give your n8n a public address. If neither works, drop webhook_url and poll the job instead, as in the No public URL tip.
Can I change the score needed to post?
Yes. 85 lives in the If node named Score 85 or higher. Raise it to post fewer clips without review, lower it to post more.
What does a run cost?
clipsdk charges $0.03 per source minute with every clip included, so a 60 minute episode costs ~$1.80. A failed job costs nothing. Your n8n, YouTube and Airtable plans are separate.
Start free
Your back catalog is full of shorts
Your first $1 is free: 33 minutes of video, every clip included.
