# Generate AI B-roll clips from videos with OpenAI: n8n workflow

> Started by an event in a connected app, and works across Google Cloud Storage and Telegram. It hands the judgement calls to OpenAI.

Source: https://millionrounds.com/workflow/generate-ai-b-roll-clips-from-videos-with-openai (Millionrounds; every figure on the page links to its filing or article)

[Automation library](https://millionrounds.com/workflows) · [Content](https://millionrounds.com/workflows?category=Content#library)

# Generate AI B-roll clips from videos with OpenAI

Started by an event in a connected app, and works across Google Cloud Storage and Telegram. It hands the judgement calls to OpenAI. 25 steps, 1 branch, 2 loops or waits: large, and worth reading before you trust it with anything live.

Large Calls a model: OpenAI

[Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fgenerate-ai-b-roll-clips-from-videos-with-openai)

**25 steps** Large: read it before trusting it with anything live

**1** Branch: places the flow splits

**2** Loops or waits

**2** Services it connects to

## The flow

Starts it 1 Model 2 Logic 10 Service 12

The steps in the order they run, from what starts it.

- 1 **Manual Trigger** Manual trigger *Starts it*
- 2 **Set Video URL** Set *Logic*
- 3 **Set API Credentials** Set *Logic*
- 4 **Generate JWT Token** Jwt *Service*
- 5 **Request OAuth Token** Http Request *Service*
- 6 **Fetch Video from URL** Http Request *Service*
- 7 **Extract Data from File** Extract From File *Service*
- 8 **Prepare Analysis Prompt** Code *Logic*
- 9 **Post Video for Analysis** Http Request *Service*
- 10 **Select Key Moments with AI** Open Ai *Model*
- 11 **Split Moments into Items** Code *Logic*
- 12 **Batch Process Items** Split In Batches *Logic*
- 13 **Aggregate Results** Aggregate *Logic*
- 14 **AI B-Roll Selector** Open Ai *Model*
- 15 **Send Telegram Message** Telegram *Service*
- 16 **Set Unique File Name** Set *Logic*
- 17 **Set Project Details** Set *Logic*
- 18 **Generate JWT for Video** Jwt *Service*
- 19 **Request OAuth Token Again** Http Request *Service*
- 20 **Post to Video Generation API** Http Request *Service*
- 21 **Wait 20 Seconds** Wait *Logic*
- 22 **Post to Check Status API** Http Request *Service*
- 23 **Route Based on Status** Switch *Logic*
- 24 **Convert Data to File** Convert To File *Service*
- 25 **Upload File to GCS** Google Cloud Storage *Service*

## How it's built

- **Starts on:** An event in a connected app
- **Steps:** 25, with 1 branch, 2 loops or waits
- **Size:** Large: read it before trusting it with anything live
- **Connects to:** Google Cloud Storage, Telegram
- **Model:** OpenAI

## Questions

What does it need to run?

An n8n account, plus your own Google Cloud Storage and Telegram accounts, and a key for OpenAI. You connect your own accounts after importing it; none are included.

What starts it?

It starts on an event in a connected app.

Does it use AI?

Yes. It calls OpenAI. Model calls are billed by the provider, not by n8n.

How long does it take to set up?

Take your time. At 25 steps it is large: read it before trusting it with anything live.

How do I import it?

Copy the workflow, open a new workflow in n8n and paste. The steps appear on the canvas, ready for your own accounts.

**Before you run it**

Nothing here has been tested by us. It is somebody's working automation, read and described from its own steps. Treat the connections it wants as a list of accounts it will touch, and read the 25 steps before you point it at anything that matters.

## Run it in n8n

- **Create your n8n account** Free to start. n8n is where the workflow runs. [Create an n8n account ↗](https://millionrounds.com/n8n)
- **Download the workflow** Free with a Millionrounds account. [Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fgenerate-ai-b-roll-clips-from-videos-with-openai)
- **Paste it into n8n** Open a new workflow in n8n and paste. Then connect your own accounts.

Stored with the author's traces removed: canvas notes, instance identifiers, saved credential names and any live document they had left behind.

## Connects to

Each opens the other workflows that use it.

[Google Cloud Storage](https://millionrounds.com/workflows?service=Google+Cloud+Storage#library)[Telegram](https://millionrounds.com/workflows?service=Telegram#library)

## Workflows like it

Also content, with the same services where possible, closest in size first.

- [**Automate RSS-to-social media with Claude and Gemini** 25 steps · calls a model · Google Sheets, RSS](https://millionrounds.com/workflow/automate-rss-to-social-media-with-claude-and-gemini)
- [**Automated WordPress Blogger with Claude and OpenAI** 25 steps · calls a model · Google Sheets, RSS](https://millionrounds.com/workflow/automated-wordpress-blogger-with-claude-and-openai)
- [**Create & publish affiliate product videos with Sora-2** 25 steps · calls a model · Google Sheets, Telegram](https://millionrounds.com/workflow/create-and-publish-affiliate-product-videos-with-sora-2)
- [**Daily Dermatology Watch: Automating Article Summaries** 25 steps · calls a model · MongoDB, RSS](https://millionrounds.com/workflow/daily-dermatology-watch-automating-article-summaries)
- [**Generate LinkedIn posts with Telegram and Supabase** 25 steps · calls a model · LinkedIn, Supabase vectors](https://millionrounds.com/workflow/generate-linkedin-posts-with-telegram-and-supabase)
- [**Generating AI videos with VEO3 and Blotato** 25 steps · calls a model · Google Sheets, Telegram](https://millionrounds.com/workflow/generating-ai-videos-with-veo3-and-blotato)
