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.

score >= 85
Clip scored 96, cropped on Daniel Brooks
960:42

Upload as a Short

true

Clip scored 84, cropped on Maya Reyes
840:33

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.

  1. 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.

Credentials it uses
Accountn8n credential
clipsdkGet an upload URL, Create clipsHeader Auth
Google DriveNew file in Drive, Download the episodeGoogle Drive OAuth2 API
YouTubeUpload as a ShortYouTube OAuth2 API
AirtableAdd to review queueAirtable Personal Access Token API
  1. 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. 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. 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. 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. 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. 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.

Two studio microphones on a desk in a dark room lit by a red glow