HomeVideos

How To Build Entire AI Ad Campaigns With Claude Code (free repo)

Now Playing

How To Build Entire AI Ad Campaigns With Claude Code (free repo)

Transcript

1755 segments

0:00

What if you could build and launch an

0:02

entire meta ad account? Dozens of image

0:04

ads, scroll-stopping UGC videos, even

0:08

claymation ads using nothing but your

0:10

voice and Claude code. No designer, no

0:13

video editor, no VA, and no touching Ads

0:17

Manager. I'm about to do all of it live

0:19

in this video. And I'm giving you the

0:21

exact system that I'm going to be using

0:23

for free. First, I'm going to take one

0:25

product photo and turn it into 30 image

0:28

ads across totally different styles

0:31

without writing [music] a single prompt.

0:33

Then I'm going to show you how to clone

0:34

any ad that you've seen in the wild, a

0:36

competitor's winner, a random ad in your

0:38

feed, and rebuild it with your own

0:40

product in seconds. Then we go into

0:43

video. I'll show you the full AI UGC

0:46

creative workflow and how to nail

0:48

perfect character consistency. Then I'll

0:50

show you how you can add B-roll, lo-fi

0:53

sound effects, background music,

0:55

voice-over, everything that you possibly

0:57

would add to a video and have to edit

0:59

and post, you can do inside of Claude

1:02

code. No opening CapCut, no Canva, no

1:05

Adobe, no Final Cut Pro. Literally,

1:07

you're just talking to Claude as if it

1:10

was your creative manager. I'll even

1:13

take a random TikTok and show you how I

1:14

can recreate it shot for shot using one

1:16

of my own products. Plus, I'll show you

1:18

how to make animation style ads that

1:20

look like claymation or Pixar style. And

1:22

then finally, I'm going to show you my

1:23

favorite part of this entire system,

1:25

launching the ads into your actual ad

1:28

account without you touching Ads

1:29

Manager. Claude is able to pull all the

1:31

data from your ad account and learn

1:32

exactly what's working. Not only that,

1:34

but it can scan all of your image and

1:35

video ads to understand with perfect

1:38

context what every ad should be about

1:40

and then write you the perfect ad copy

1:42

that is specific to every single Google

1:44

ad. This system alone will save you

1:46

hours every single day and give you the

1:48

unlock you need to launch more ads in

1:50

your account today. And the best part,

1:51

this lives in a free GitHub repo that I

1:53

built that you can get in the

1:54

description below. If you've never used

1:56

Claude code and have no idea how to even

1:58

use GitHub, it doesn't matter.

2:00

Literally, all you have to do is grab

2:01

the link [music] that you get, toss it

2:03

into Claude Code, and it will handle the

2:04

entire setup for you. So, if you run

2:06

Meta Ads or want to run Meta Ads, this

2:08

video is the cheat code that you've been

2:10

waiting for. And this might be one of

2:12

the most important videos you watch all

2:14

year. Let's get into it. All right, so

2:16

the first step in getting all this set

2:19

up is getting Claude Desktop installed

2:21

onto your computer. So, you're going to

2:22

go to claude.com /download and click

2:25

this download for Mac OS button. Once

2:27

you have Claude Desktop installed, it

2:30

should look something like this. We'll

2:31

have co-work and then over here we'll

2:33

have code. This is what we're going to

2:35

be using today. So, go ahead and click

2:37

on code.

2:39

And we're going to click this new

2:40

session button. The way Claude Code

2:42

works, everything exists within a folder

2:43

on your desktop. So, we have to create a

2:45

new folder for this. So, I'm in Finder

2:47

right here, and I'm just going to click

2:50

new folder

2:52

and call this AI Meta Ads

2:57

demo. So, now I've got a folder here. I

2:59

can pop back into Claude Code. Down

3:01

here, you'll see a couple different

3:03

settings.

3:04

Um here you'll see a folder. You can

3:06

click open folder.

3:09

And then I'm going to navigate to where

3:12

it exists on my computer.

3:15

And now you can see we're working out of

3:17

that new folder we selected. The next

3:19

step here is to grab the URL for the

3:21

repo here. You can get that in the

3:23

description below. So, now we're going

3:25

to paste in the GitHub URL to this

3:28

project and just say something super

3:30

simple like help me set this up. So, now

3:34

Claude Code is going to fetch the repo.

3:36

It's going to like read the read me and

3:38

start doing stuff. Um you'll you'll see

3:40

some of this stuff pop up where it's

3:42

like asking you to allow um for your

3:46

mode. I would suggest going to auto

3:48

mode. If you know exactly what you're

3:50

doing, you're really advanced, and you

3:52

trust the repo, I would do bypass

3:54

permissions, but again, like this is the

3:56

more risky option.

3:58

Bypass permissions allows Claude code to

4:01

basically do anything on your computer.

4:02

Auto mode is the safer bet and usually

4:05

um gives you everything that you need to

4:07

get this installed. While this starts to

4:10

get everything set up, we're going to

4:12

pop over to Meta to grab some keys that

4:16

we need. So, we're going to go to

4:18

developers.face

4:20

book.com. Um if you're logged in, you

4:22

should see this my apps thing, and this

4:24

is just your normal Facebook login. And

4:26

this step is super important. It's

4:27

literally what unlocks this entire

4:30

project or agent to do everything that

4:32

we're going to do in this video. So,

4:34

make sure you do these steps to get what

4:37

we're essentially what we're getting is

4:38

our Meta API key. So, we're going to

4:40

click create app.

4:42

And I'm just going to call it

4:45

Claude code

4:48

Meta ads.

4:51

Um I'm going to change this email to

4:53

caleb@mrpagesocial.com.

4:57

We're not allowed to use Meta in the

4:58

name, so I'm going to call it Claude

5:00

code ads.

5:02

And we want to create and manage ads

5:05

with the marketing API. So, we're going

5:06

to click this first one.

5:09

I'm going to select my business that

5:11

I've created in Meta.

5:14

And then we're just going to click

5:16

create app.

5:20

It's going to ask us to authenticate.

5:27

All right. So, now that we've created

5:28

the app, there's a couple more steps we

5:30

have to do to get this thing live. First

5:31

thing we're going to do is go to app

5:33

settings, basic, and then we need to put

5:35

a privacy policy URL in here. This can

5:37

literally be any privacy policy URL

5:39

because you're not making an app for

5:40

public use. This is all just going to be

5:42

used for internal. So, you're going to

5:44

select um a privacy policy. You can just

5:47

grab it from your website or a

5:48

competitor's website, whatever you want

5:49

to do. I'm just going to put in my um

5:51

Mr. Pay Social one here. Click save

5:54

changes.

6:01

And next what we were going to do to get

6:03

our API key is we're going to on the

6:05

left here it says use cases. Click on

6:07

that. And then there's this tool section

6:10

here

6:12

where it says get access uh token. Now

6:14

we can select all of these permissions

6:18

and select get token.

6:21

And before we can use anything, uh we

6:23

need to make sure that this is

6:24

published. So we're going to click on

6:25

this publish button and click this

6:27

publish down here. So now that this is

6:29

published, we can actually use that API

6:31

key.

6:42

>> [sighs]

6:43

>> So now we're going to grab our API key,

6:47

pop back over to Cloud Code here,

6:50

and it's going to ask us to paste in our

6:53

keys to this .env file. A .env file is

6:57

basically a file that lives locally on

6:59

your computer that stores sensitive

7:00

information.

7:02

Um, so you never want to paste keys

7:04

directly into Cloud Code. That's a

7:06

security risk because you could always

7:08

come back into a chat, scroll through,

7:10

and find it.

7:11

Um, so to do this the easiest way, what

7:13

I like to say is

7:15

um ask Claude just to open this file for

7:17

me. So I'm going to say, "Please open

7:20

the .env file and give me

7:25

or

7:26

so I can paste in the keys."

7:30

I'm going to click trust workspace and

7:33

it looks like it opened the .env file

7:36

for me in finder.

7:39

So I can pull up pull that up here and

7:40

show you what that looks like.

7:42

Basically, this is just like a template

7:43

for all of the different keys that it

7:46

needs. So, we've got a placeholder for

7:48

our Arc Ads API key. I'm not seeing the

7:50

Meta API key here, so I can just tell

7:52

Claude, "I have my Meta API key, and I

7:55

need to add that to the .env file. Can

7:57

you make sure that there's a placeholder

7:59

for that?"

8:01

Open that .env file for me one more

8:03

time. Okay, now it added some more

8:06

options here for the .env file. I'm

8:08

going to put where it says Meta Meta

8:10

access token, I'm going to paste this in

8:12

here.

8:15

And then the next thing we need to do is

8:17

grab our Arc Ads API key. So, to do

8:21

that, we're just going to go to

8:22

arcads.ai.

8:25

If you don't have an account, make sure

8:27

you log in or sign up. Full disclosure,

8:29

for this API to work, you have to be on

8:33

the pro plan. So, I'm going to click on

8:37

the top left icon here, click on the

8:39

settings for my account. There is a

8:41

public API area here, create new

8:44

credentials.

8:45

And I'm going to copy my client

8:49

authorization down here. Go over to the

8:52

environment variables,

8:55

and paste that in there. And now I can

8:58

close this .env file, and tell Claude,

9:02

"Okay, I've added my environment

9:04

variables for Meta and Arc Ads. Both API

9:08

keys are in that file. What's next?"

9:12

And this is what's so cool about Claude

9:13

Code, is I

9:15

I've done this multiple times, I messed

9:17

it up. I pasted it in the wrong area,

9:19

and it's automatically

9:22

changing where it puts that for me.

9:25

Okay, it looks like we forgot to add our

9:27

Meta ad account that we want to be

9:29

connected. Um I could just tell this to

9:32

not have a selector in the environment

9:35

variables, and just like use the API

9:38

key,

9:38

but I do think it's a little bit more

9:40

secure just to limit access to only one

9:42

ad account. So, I'm going to go ahead

9:44

and ask it to open the file one more

9:46

time. Open the .env file one more time

9:49

so I can paste in my ad account ID.

9:51

While it's doing that, I'm going to pop

9:53

over to Ads Manager. I'm going to my ad

9:56

account and I'm just going to grab my ad

9:58

account ID from the URL right here and

10:01

I'm going to paste my ad account ID

10:02

there. Close this.

10:05

Hey, I just added my ad account ID. We

10:06

should be good, right? Looks like I

10:08

forgot to add the ACT_ so it's fixing

10:11

that for me. I know this first setup

10:13

might feel like a lot, but you only have

10:15

to set this up once and then you get the

10:17

full power of this entire system. Looks

10:20

like we got it verified that the Ark Ads

10:22

API key works, our Meta token is valid

10:28

and working, and our ad account is

10:31

correct. Okay. So, now the first example

10:34

we're going to go through using this

10:35

whole Claude code setup is I have a

10:37

series of I think 36 different image

10:40

templates that I've put into this repo

10:44

that I'm going to use to generate images

10:47

for a fictional product that I made for

10:49

my Mr. Paid Social brand. So, I like my

10:52

hats. I've got this cool hat with Mr.

10:55

Paid Social branding. Um I made this

10:57

with AI, but we're just going to use

10:58

this for the example. So, I'm going to

11:00

take this product image. I'm going to

11:02

toss it into Claude code and then I'm

11:05

going to say something like, "I want you

11:07

to generate static image ads across all

11:10

the templates in this repo for this

11:12

product." And then I'm going to give it

11:14

my URL. Because I'm not actually selling

11:16

this on an e-commerce store, I'm just

11:17

pointing it to my school community. It's

11:19

going to be kind of weird. Like we're

11:20

going to have some like interesting text

11:22

on these ads, but with an e-commerce

11:24

product, but it's totally fine. And I'm

11:26

just going to press enter. And right now

11:27

Claude is basically just doing some

11:29

investigative work trying to figure out

11:31

like where the templates are and all

11:33

that good stuff. All right, so told me

11:34

that there's a couple blockers that it

11:36

needs me to clarify. Um one is it needs

11:40

the image file on the disk. So,

11:42

basically this is just a weird quirk

11:43

with Cloud Code where it needs the file

11:45

in the actual

11:47

folder. So, I'm just going to copy that

11:49

file and go to

11:53

this folder here that we created. Create

11:56

a new folder, call it product reference

12:00

image.

12:01

And I'm just going to paste that in

12:02

there. Now, I'm going to right click on

12:03

it, click get info.

12:06

I'm just going to give it this uh like

12:08

where it exists and click command C to

12:10

copy that.

12:12

And paste that here. So, I'm going to

12:14

say this is the product image location.

12:20

For number two, it's asking me about

12:21

which workspace. I'm going to say just

12:24

create a new folder in the main Arc Ads

12:29

work space.

12:32

I'm going to tell it I want you to use

12:35

Chat GPT image two for generating all

12:38

these. Let's go ahead and start with

12:42

five to make sure

12:45

we nail everything down correctly.

12:50

All right, so now we've got five

12:53

different templates. We've got a fake

12:55

Chat GPT, a fake Slack, a Brutal Honest

12:58

Typography Hero, an iMessage thread, and

13:01

a Stat Hero with chart. And it's going

13:03

to generate all these for us, all the

13:05

prompts and everything. So, you can see

13:07

it says creating. We can click into this

13:09

thing and see exactly what's going on.

13:12

I can even open this and see like what

13:14

the prompt that it's writing looks like.

13:18

Now, it is running all of these in

13:20

parallel, meaning it's sending all of

13:22

them at the same time. So, you see down

13:24

here it says running five in parallel.

13:26

Shows you like all the code. Basically,

13:28

it's structuring all of the prompts with

13:31

the images and packaging all of that to

13:35

send out to the Arcads API. And then in

13:38

Arcads, we're going to see some images

13:39

start to populate. All right, looks like

13:41

four out of the five succeeded. For some

13:43

reason, one of them failed, but then

13:45

it's automatically going to retry that.

13:46

And here's my favorite part about using

13:47

Cloud Code for this is it's

13:50

So, it says all five generated. Let me

13:52

view each one and assess quality before

13:55

recommending next steps. So, it's going

13:57

to automatically do a pass of the images

13:59

and see how they turned out.

14:02

And if they look like garbage, it's

14:04

going to flag that and then refine the

14:06

prompt and retry or give you the option

14:09

to like tell it what you want it to do.

14:12

But it just it just takes some of like

14:13

the mental load off of even having to

14:16

think about if you do this like on 100

14:18

images, right? Like that's a lot to have

14:19

to sift through and QA or QC or

14:21

whatever. And right now, it looks like

14:23

one of them is saying the compositions

14:25

off and it's giving us some options.

14:27

Approve all five.

14:29

Let's see if we can actually look at

14:31

these. I'm going to say

14:34

open the folder that all of these images

14:36

exist in because we want to see them.

14:39

Okay. And so now we've got

14:43

this folder here.

14:48

Cool. We've got one ad here. Got another

14:52

ad here.

14:55

Here is one that actually used the hat.

14:57

Just like you actually scale spend. This

14:59

is hilarious.

15:00

>> [laughter]

15:02

>> That looks pretty dope actually.

15:04

Here's an iMessage one and Stat Hero. I

15:07

mean, it definitely like did a good job

15:09

incorporating the hat into some of

15:11

these. So, this is pretty sweet. Okay.

15:13

So, now I'm going to say those pretty

15:15

much all look great. Let's run this for

15:18

all remaining 32 ad templates. Also, for

15:23

the output, can you not put them all in

15:25

separate folders? I want them all in one

15:26

folder so I can easily review them uh at

15:29

the same time. And by the way, you might

15:30

have noticed that I'm just talking to my

15:31

computer. Um I use something called

15:33

Whisper Flow. They are not a brand

15:36

partner, but I genuinely love their

15:38

product. Basically, it's just something

15:40

that allows you to talk to your computer

15:43

and it will like It's just a way better

15:44

voice transcription and you get like

15:46

it'll like make lists and stuff for you

15:48

if you have a lot of things you're

15:49

saying. And I have it a shortcut on my

15:51

mouse. All I have to do is hold down

15:52

this middle button or like hold down

15:54

something on your keyboard and you just

15:55

talk to your computer. Um so anyway,

15:57

big shout out to Whisper Flow. Big fan

15:59

of them. Okay, this is pretty dope. Now

16:00

it's firing off all of the remaining 32

16:04

in parallel, which means that it's

16:05

sending them all to the API at the same

16:07

time. Um so basically, we're we're

16:08

having 32 ads just like generated for us

16:11

in the background with us having like

16:12

I'm not prompting like I'm literally You

16:14

can see I'm just like do this, do that,

16:16

you know? And what's beautiful here is

16:17

in Claude code, you can have multiple

16:19

agents running at the same time. So, we

16:22

could have, you know, another session

16:24

where we're using the same folder and

16:25

we're prompting it to do something else

16:27

like work on a video or work on cloning

16:30

an image ad or any of these things that

16:31

I'm going to show you to do next in the

16:32

video.

16:33

Um but we could be doing this all at the

16:35

same time and then instead of you having

16:38

to be the one creating these things,

16:40

you're acting as the creative director

16:42

overseeing all of these separate agent

16:44

workflows that are generating your

16:46

images, your videos, blah blah blah. Um

16:49

it's just like you can do so much more

16:50

when you're not doing one thing at a

16:52

time and you're delegating it all out to

16:54

these agents to do it for you. So, it's

16:56

saying now we're done with all 32

16:58

templates. So, let's take a look at how

17:01

they turned out. Okay, so now we've got

17:03

our 32 images done. Let's take a look at

17:06

how they look.

17:08

Um why I switched to the Mr. Paid Social

17:12

hat. Here we've got an editorial style,

17:16

modern retail. looks pretty legit,

17:18

premium performance gear, hot take on

17:20

the new media buyer uniform isn't a

17:22

Patagonia vest, it's Mr. Paid Social

17:24

Five Panel corduroy.

17:26

>> [laughter]

17:27

>> That's pretty cool, actually. I've got a

17:29

Google ad, the best hat for media buyers

17:31

on Loom calls. Like, okay, this is

17:34

what's actually insane to me is I didn't

17:37

write a single prompt for any of this.

17:39

Like, this is all templatized and Claude

17:42

code took my image of the hat, took a

17:44

little bit of image about what I offer,

17:46

and made all these ads. Like, got a us

17:49

versus them comparison,

17:52

uh this ruins your agency uniform, got

17:54

another like us versus them template

17:55

here. This looks so good. Got the

17:58

post-it note ad. We've got a whiteboard

18:02

/ like poster board, whatever this is,

18:05

but it's like another us versus them

18:07

kind of five reasons why ad. We've got a

18:09

feature benefits ad. This looks so good.

18:12

Like, the text is perfect. The um letter

18:15

board ad.

18:17

Oh my gosh. We've got the

18:20

uh this is like a comment response ad.

18:22

Is the Mr. Paid Social hat worth it for

18:24

an agency owner looking for something

18:26

that doesn't scream tech bro vest? This

18:28

is hilarious. How it started, it's

18:30

showing like the tech bro outfit, eight

18:33

whale corduroy. This is so cool. Okay,

18:35

so this is a style of ad where it's like

18:37

breaking down all the different

18:38

components of it. So, it's like zooming

18:40

in on the corduroy fabric. We've got the

18:41

patch, the sweatband, the adjustable

18:44

strap, the fact This is actually super

18:47

and if I didn't like this, I could throw

18:49

this back into Claude code and have it

18:50

generate a hundred variations of it for

18:52

me like without me having to do

18:54

anything. Brain space running the tests,

18:56

brain space what I should wear on Loom.

18:58

Okay, cool. Cool. The old way versus the

19:01

new way. Airdrop ads, ask me anything

19:04

ads. This one turned out weird here.

19:06

We've got the the bill on the front and

19:08

the back. So, this is something where

19:09

like I I just throw that in the Claude

19:10

code, have it clean it up. Uh the napkin

19:13

ad, uh this one included like the CTA

19:15

burned in. So, this is something where

19:17

like if I was actually going to run

19:18

this, I would just tell it to strip that

19:20

out and it would do it very easily. I

19:21

think this turned out super good. We've

19:23

got the calendar ad, which is kind of

19:27

interesting. Before and after next Zoom

19:29

call, pretty dope, pretty dope. Receipt

19:32

ads, this is insane. There's so many.

19:35

One hat every operator, match upper

19:38

status.

19:39

Try to just sing like a middle manager.

19:42

This one got kind of like distorted,

19:43

little fat, so it could probably

19:45

regenerate that. Uh this is an editorial

19:47

ad. This is insane. Next, I'm going to

19:49

show you how you can actually take an

19:51

image ad or like a folder of image ads

19:53

from like a competitor and make new ads

19:56

with them with Cloud Code. So, for

19:58

generating a copy or clone of an image

20:01

ad, there's two ways we can go about it.

20:03

One is we can just like be on our phone

20:06

or use something like forplay.co

20:09

or motion or any of these tools that

20:12

have a lot of templates and ad spying

20:14

capabilities. Or we can actually use

20:16

Cloud Code here and ask it to comb our

20:19

competitors' ad libraries, which is

20:21

pretty wild. So, while we're looking and

20:23

combing for some new ads to try, I'm

20:26

also just going to start a new session

20:28

here in this project. So, I my AI Meta

20:31

Ads Demo folder open. And here's what

20:33

I'm going to say. I want you to comb

20:35

through a few of my competitors running

20:38

ads to their school communities. You can

20:41

find my competitors by just looking at

20:44

my URL and then combing through the

20:47

school discovery and finding which

20:51

communities are the largest and running

20:53

ads to their schools for AI automation,

20:57

Meta ads, all this good stuff. I want

21:00

you to focus on pulling image ads for

21:03

now. And if you can, I want you to find

21:06

ads with like high impression count if

21:08

that's something that the Meta Ads

21:10

Library API allows you to pull, but put

21:12

all of these image ads into a folder,

21:14

and then I want you to rank which ads

21:17

you think would be the highest leverage

21:20

for me to try for repurposing for my own

21:24

school community.

21:26

Here's my URL, and I'm going to press

21:29

enter. To give us a good example of how

21:30

to clone some ads, I found like three

21:33

just like hat ads that I thought you

21:36

know looked good or whatever that I want

21:38

to try and clone with my fake hat

21:40

product. So, what I'm going to do is I'm

21:42

just going to drag these over into my

21:44

folder, and I made a hat ads subfolder,

21:46

and then I'm going to take the location

21:51

of these. So, I'm going to go right

21:52

click, click on where, copy that, go to

21:54

Claude Code, and say, "I want you to

21:59

clone these ads using the image ad clone

22:02

skill." I'm going to paste that, and

22:05

just see what happens. Now, it's getting

22:06

to work. It's found the clone skill with

22:10

all the information in the repo with all

22:13

of the instructions and everything

22:17

that's needed to make this work, and now

22:19

it is setting up iterations for us to

22:22

fire off into Arc Ads. All right, now

22:24

it's doing phase two, which is the

22:26

visual analysis, and it's breaking down

22:28

each one of those image ads that I gave

22:31

it into basically a format, and it's

22:33

drafting the V1 of the prompts and

22:35

firing them all off to Arc Ads in

22:37

parallel. While we're waiting on the new

22:41

image clones, I wanted to check on the

22:44

competitor analysis that we had start

22:47

that we started a little bit while ago.

22:48

Um so, it like did all this stuff in

22:51

Claude Code, um used the Meta Ads API,

22:55

found like people running school

22:57

communities for me, blah blah blah. It

22:59

was able to grab the 1,200 results,

23:02

count 600 of them, uh downloaded 58

23:05

images, blah blah blah, isolated like

23:07

basically some gaps and whatnot, and

23:09

then downloaded all these, put all these

23:12

into a folder for me right here, and

23:14

we've got all the different like

23:15

competitors, and I can expand these and

23:18

it shows me all the ads that they're

23:19

running. So, we've got some Ben Heath

23:20

ads here.

23:22

Uh, mainly just like pictures of him

23:23

with like simple text um with some

23:25

reviews of his school community.

23:28

Uh, we've got some from this guy.

23:31

We've got some from Sam P. We've got his

23:36

modules, some basic stuff here. Um,

23:40

looks like some screenshots of people in

23:43

school. So, now we can take this

23:45

information and I'm going to ask Claude,

23:48

can you generate five new image ads that

23:51

you think would work well in my ad

23:53

account for my specific school community

23:56

based off of the research you've done on

23:58

my competitors. Don't make anything up.

24:00

Don't generate any fake reviews. And let

24:02

me know if you need any images of me

24:05

>> [sighs and gasps]

24:05

>> to use in the ads. All right, so it's

24:07

asking for some images of myself, so I'm

24:10

including this folder and saying, here's

24:13

where you can find images of me to use

24:14

for the ads. Another thing I like to do

24:16

with Claude code, if I like want to make

24:18

sure it has more information, is I can

24:21

say something like, I want you to

24:23

interview me by asking me 10 questions

24:26

and having me answer them to make these

24:29

the best ads possible. Ideally, have me

24:32

be able to like click a box to answer

24:34

your questions, make them really easy

24:36

for me to answer. And this is what I

24:37

love right here with Claude Co, it'll

24:38

pop up this like multiple choice

24:40

question thing. So, who is the number

24:43

one person you want clicking on these

24:44

ads? Agency owners running their ads,

24:46

in-house media buyer at a brand, sole

24:48

media buyer, freelancer, coach, course

24:50

creator. I would say agency owners and

24:52

in-house media buyers at a brand. What

24:54

is the number one pain you'd put in the

24:56

headline? Creative fatigue, running out

24:58

of winning ad ideas, raising CPMs, AI

25:00

overwhelmed, probably AI probably AI

25:02

overwhelmed since we're doing a lot of

25:04

AI content here. What's the signature

25:06

outcome members get? 10 times faster

25:08

creative production via AI. Yes. Do you

25:10

have real free entry point I can

25:12

promote? Um nope. Okay, so we got some

25:16

ads back from Claude code off of the

25:19

competitor analysis that we had it do.

25:23

So, we got this one. Looks pretty solid.

25:26

We've got like two versions of that.

25:27

Here's another one. That's kind of cool.

25:30

Okay, I like this one. It's like got

25:32

some scarcity. Overall looks pretty

25:34

solid. And then let's see this last one.

25:37

What you get? A masterclass. I mean,

25:40

yeah, this one's also pretty solid. I

25:41

would actually run all of these, I

25:42

think. All right, now let's take a look

25:43

at some of the clone version of the ads

25:47

that it did for us here. So, as a

25:49

reminder, we had the version of the ad I

25:52

saw that I liked. And this is the AI

25:56

version that it made for me. So, not

25:58

bad. It didn't quite adhere to like the

26:01

way the hats were stacked in this one,

26:04

which is fine. We've got this image here

26:07

and our version of the AI. So, like, you

26:10

know, actually looks pretty decent in

26:12

comparison. We've got some fun marketing

26:15

media buying random stuff on the back

26:17

wall there. That's kind of cool. And

26:18

then we've got this one, which was kind

26:20

of like a more typical like ad look. And

26:23

then we've got our ad here with the hat

26:26

kind of following that same outline. So,

26:29

pretty cool. Did a really good job, I

26:30

think, at like prompting everything in a

26:32

way that clones the ads pretty close to

26:35

the original. And the beautiful thing

26:37

here is once you clone an ad, part of

26:39

the skills, it saves it as another

26:41

template. So, like, when I start first

26:43

started running this, we ran with 36 uh

26:46

templates. So, now we could add

26:47

basically three more. So, we'd have 39

26:49

templates that we could run an an ad or

26:52

a product through and have them all

26:54

generate. So, the more you do this, the

26:56

more basically of a library you'll

26:58

accumulate that you can just like always

27:00

have, which is pretty dope. All right,

27:02

now we're going to change gears a little

27:03

bit and start generating some video ads

27:05

using this Claude code agent. For this

27:08

one, we're going to use the the workflow

27:10

where you generate a starting frame for

27:12

each scene and have a little bit more

27:14

control. So, we're going to prompt

27:16

Claude code to do that. So, I'm going to

27:17

say, "I want to create a new AI UGC

27:20

video, but I want to generate the

27:23

starting frames for each scene using

27:26

Chat GPT image 2. Can you help me put

27:30

this all together? I also want to

27:32

generate a persona to use. So, look

27:36

through your skills to figure out the

27:37

right way to do that. I believe there's

27:39

a way where we can generate like a

27:42

10-image style sheet of a persona that

27:45

we want to use for the ad and then

27:47

generate all the subsequent images using

27:50

that person. I want all these images to

27:52

be generated using Chat GPT image 2 and

27:54

then the video model to use will be C

27:57

Dance 2.0. So, I'm going to fire that

27:59

prompt off. Here's the product.

28:03

So, I'm saying, "Here's the product. Uh

28:05

persona description. Let's do a stressed

28:09

stay-at-home mom is the persona." And

28:12

then I want I want Claude to come up

28:14

with a storyboard. So, I'm going to say,

28:15

"You come up with the storyboard outline

28:18

and the dialogue for us to use. And for

28:20

this, I want to have dialogue from the

28:25

character generated in C Dance." And so,

28:27

I'm going to respond with that stuff.

28:29

While we're waiting on this, it looks

28:30

like the one shot we tried failed from

28:33

Arc Ads for some reason. Let's see if it

28:36

figured that out. It just said it

28:37

failed, but not for technical reasons. C

28:39

Dance content checker rejected the

28:41

audio.

28:42

Says, "Audio output has sensitive

28:43

content. Probably the trigger was

28:45

combining making me unwell two weeks of

28:47

these and X happened. So,

28:51

my guess here is Claude code is just

28:53

going to regenerate a different script

28:56

and it looks like it's doing all that

28:57

for us. Let's send this with the tweaked

29:01

script for you to use. So, now it's

29:03

firing it off with V2 with the revised

29:06

dialogue. Okay, so now it just needs us

29:09

to basically say go to start creating

29:13

the persona, the storyboard and the

29:15

dialogue. So, went ahead and said go and

29:17

off it's now it's working, it's doing

29:19

its thing. Okay, so it went ahead and

29:21

generated the first image of our

29:24

character. Here she is, she's kind of

29:26

the tired mom vibe. It's asking us if we

29:29

want to go ahead and generate the other

29:31

nine angles. We're going to go ahead and

29:33

say go and now we're going to have

29:35

basically this character in nine

29:38

different angles that we can use for

29:40

prompting the rest of the scene. Okay,

29:43

this is what's so sick about Claude.

29:44

It's like it fired them all off and then

29:46

it automatically goes and does QA on

29:49

them. So, it's telling me like, "Okay,

29:51

angle 10 failed, angle three worked, two

29:55

worked, seven worked, four, six, five."

29:58

Yeah, now it's got all the angles, it's

30:00

QAing them now visually. So, it went

30:02

through and it QAed all of them. It

30:04

basically said they all passed the QA

30:06

check. So, here they all in the folder.

30:08

Let's see how they look.

30:10

So, here's our hero image. Looks good.

30:13

Wow, these all look extremely

30:15

consistent. Got the close-up. Okay, this

30:18

is wild. Like, look at the skin, look at

30:20

the freckles, look at the like lighting

30:23

off the skin, the hair. This looks

30:25

actually realistic. And this

30:27

[clears throat] all comes down to the

30:28

prompting structure that Claude code is

30:31

set to use when generating these images

30:32

cuz it's saying like including

30:34

blemishes, including wrinkles on the

30:36

skin.

30:37

Basically, all these keywords that allow

30:40

these images to be generated without

30:42

that like plastic look and feel that you

30:44

get from AI images sometimes. We've got

30:46

the backside,

30:48

>> [clears throat]

30:48

>> front center, walking.

30:51

Yeah, we've got plenty of reference

30:53

images here for our style sheet. So, now

30:56

it's asking us if we're ready for phase

30:58

two. Now we're going to generate four

31:00

scene starting frames with the product

31:02

shot. Okay, ready to go. Phase two. And

31:05

I'm going to say,

31:06

"Yeah, the reference images look

31:08

amazing. Let's move on to phase two."

31:10

Okay, it looks like we've got the four

31:13

scenes for this like the starting images

31:16

generated using Chat GPT image two using

31:19

our original like mom. Uh we've got her

31:22

in the kitchen, on the couch holding the

31:24

ashwagandha, opening it, and taking a

31:27

bite of it, and holding the ashwagandha

31:30

again. And now we're going to basically

31:33

have these four reference images be what

31:38

we use for each of these scenes. So, I

31:41

need to approve the script, the per

31:43

scene durations, and the credit estimate

31:46

that it's going to cost. All right. Uh

31:49

scene one duration 10 seconds. Hook in

31:53

the kitchen, head shake, blah blah blah.

31:56

Okay, I love my kids, but if one more

31:58

person screams mom after or before 7:00

32:00

a.m., I'm going to need something for my

32:01

nerves. So, I start taking these

32:03

ashwagandha gummies. Obviously game

32:05

changer. 20 minutes in, my shoulders

32:07

drop. I can actually breathe again. My

32:09

mom or mom life is wild. This push Well,

32:11

okay. All right. Let's just send it. I'm

32:14

just going to say, "Send it."

32:17

Let's see how it works.

32:19

And what's pretty dope about this, it's

32:20

going to fire all these videos off into

32:22

our ads at the same time. All the videos

32:24

should ideally be done at the same time.

32:27

And then from there, basically we're

32:29

going to have Claude code edit all the

32:31

videos together with music, and it's

32:34

going to be dope. We just got a version

32:36

of this video. Let's check it out.

32:39

>> Okay, if one more person screams mom

32:41

before 7:00 a.m., I'm losing it. So, I

32:43

started Mr. Paid Social Ashwagandha

32:45

Gummies. 20 minutes in, my shoulders

32:47

[clears throat] just My shoulders just

32:49

drop.

32:51

Honestly,

32:52

game changer.

32:55

>> I mean, that was a pretty solid one

32:57

shot. And look at this prompt that it

32:58

put together. It's like super long,

33:00

super detailed. We didn't write any of

33:03

it. It gives exactly the beats for each

33:05

section of the video, the different

33:07

frames, what needs to happen. There was

33:10

a slight thing here that, you know, she

33:12

starts saying, "My shoulders drop." But,

33:14

it doesn't quite make it out of her

33:16

mouth right. And then, she says it again

33:18

here. We can fix that in post. Also, I

33:21

think it would be really dope to have

33:23

Claude code generate some AI B-roll for

33:25

this video and throw in some music over

33:28

it. So,

33:29

let's prompt it to do that next. All

33:32

right. So, now we're going to tell

33:33

Claude code,

33:35

"Now, I want to generate some B-roll to

33:38

go along with this 15-second video. I

33:41

want to generate some B-roll shots of

33:44

things like unboxing the product, maybe

33:48

a scene with her kids screaming at her

33:52

for something or being annoying, maybe

33:54

another scene where she's like finally

33:57

relaxing in a chair or something or her

34:00

bed or outside. Basically, just generate

34:03

maybe like 10 different shots for B-roll

34:07

that could be used in with this video.

34:10

And we're going to edit this as overlays

34:13

to the base video that we just

34:15

generated. So, the video we generated is

34:18

going to be the base video, and we're

34:20

going to generate B-roll shots to layer

34:22

on over this in post-production. Now,

34:24

I'm going to say, 'I want you to

34:27

generate all of the prompts for

34:30

generating the B-roll in C Dance 2.0,

34:33

and then fire all of them off into the

34:35

Arcads API

34:37

and sending that out to Cloud Code. So,

34:39

now Cloud Code will get to work

34:40

generating this B-roll for us. Okay, now

34:42

it looks like it put together 10

34:44

different shots for a shot list for us

34:46

and the duration of each one, the

34:50

references that'll be used. So, we've

34:52

got our character Mara and the product

34:55

and actually what's going to actually

34:56

going to be happening in each shot and

34:58

it just fired off all 10 jobs in

35:00

parallel. So, let's take a look and I

35:03

think we can see them in Arcads actually

35:05

being generated here and there they are.

35:08

This is great. So,

35:11

we can actually see all the prompts

35:12

being used. So, we're going to let those

35:14

generate. All right, looks like we got

35:16

the B-roll shots done.

35:19

Um they all look super good.

35:21

They [clears throat] all don't have

35:22

audio, but they are just a handful of

35:25

different shots of like the product, of

35:27

the main character. Um we've got her

35:29

like stressed out. We've got some like

35:31

kids yelling at her, you know, opening

35:34

the

35:35

the jar and pouring the gummies out.

35:38

Like the brand and all of that still

35:40

there. This one looks really good of her

35:42

like opening it.

35:44

Um so, what I'm going to do next is I'm

35:46

going to go back to Cloud Code and I'm

35:48

going to ask it to basically like layer

35:49

these shots of B-roll into the original

35:51

video and it's going to look awesome.

35:54

So, I'm going to say, "Great, these

35:56

shots look awesome. Can you now like

36:00

analyze all of these shots and determine

36:04

which sections belong in this 15-second

36:07

video as B-roll? Then I want you to edit

36:10

together a few variations of a final

36:13

video that has the these B-roll layered

36:16

in over the original video at the key

36:19

points in the transcript when

36:23

it makes the most sense."

36:26

Okay, sending that out to Cloud Code. So

36:28

now you can see Claude code is basically

36:30

like analyzing all of the shots that it

36:34

pulled out of the videos so it can get a

36:37

sense of what is going on. All right, so

36:39

it was able to basically analyze all of

36:42

the shots

36:44

and then pull the transcripts and figure

36:46

out what belongs where and it created

36:48

three variations for me to choose from.

36:50

Uh let's take a look.

36:52

>> Okay, if one more person screams mom

36:55

before 7:00 a.m. I'm losing it. So I

36:57

started these Mr. Paid Social Gummies.

37:00

20 minutes in, my shoulders just drop.

37:04

Game changer.

37:05

>> Wow.

37:07

Okay, that

37:08

that is actually insane that like

37:11

>> [clears throat]

37:11

>> I didn't open this in CapCut. I didn't

37:13

do anything. It just grabbed the B-roll

37:17

and just like figured out where it was

37:19

the right point to layer it in. It just

37:21

did this all for me. Let's check out

37:23

this other one.

37:23

>> Okay, if one more person screams mom

37:26

before 7:00 a.m. I'm losing it. So I

37:29

started these Mr. Paid Social Gummies.

37:32

20 minutes in, my shoulders just drop.

37:35

Game changer.

37:38

Okay, if one more person screams mom

37:41

before 7:00 a.m. I'm losing it. So I

37:44

started these Mr. Paid Social Gummies.

37:47

20 minutes in, my shoulders just drop.

37:50

Game changer.

37:52

>> Wow.

37:54

Pretty awesome. Now I feel like maybe we

37:57

want to add some like background music,

37:59

maybe some trending lo-fi. So let's see

38:01

if we can do that. Now I want you to

38:03

generate some background music for these

38:06

variations, maybe something that's just

38:08

kind of like lo-fi beats, pretty chill,

38:11

just music in the background. Can you

38:13

generate this music using Eleven Labs?

38:17

So it's checking to see if we have an

38:19

Eleven Labs API key. This was something

38:21

I forgot to throw in when we first

38:23

started this. So, if you don't have an

38:25

11 Labs account,

38:28

you can make one. I think it's like five

38:30

bucks a month.

38:31

And you get access to their API. So,

38:35

basically, if you have an account, it'll

38:37

look something like this. So, down here

38:38

in the bottom left, there's a developers

38:40

button and then API keys. And then I can

38:43

create a key.

38:45

So, I'm going to create one. We'll call

38:47

this Arc Ads Claude Code API. And we

38:53

want

38:55

I'm not going to restrict it. Monthly

38:59

create key. It's going to give us the

39:01

key. Then we're going to throw it into

39:03

the environment variables again. I'm

39:05

going to ask Claude, "Hey, can you open

39:07

that environment variable file for me to

39:09

paste the key into?" Again, the only

39:11

reason I asked Claude to do this is cuz

39:13

I'm lazy and it's nice just to have it

39:15

automatically open it for me. "Can you

39:17

add an 11 Labs placeholder into this for

39:19

me to paste into and then reopen it for

39:21

me?" All right, I'm going to say, "I've

39:23

added the API key to the environment

39:25

variable file."

39:28

All right, sweet. So, now it's firing

39:30

this off to the API and creating three

39:32

variations of the music for us. It's

39:34

doing this like super quick, like in a

39:36

couple seconds it's generating the music

39:38

for us, which is awesome. And we've got

39:40

three different lo-fi vibes that we can

39:44

listen to. Let's check them out.

39:47

Oh, hell yeah. Mhm.

39:49

>> [clears throat]

39:51

>> There's one.

39:52

>> [music]

39:55

>> Yeah, that's good, too.

39:58

I like version three as well.

40:01

>> [music]

40:02

>> Not bad.

40:03

All right, so to get a lot of creative

40:05

variation, I'm just going to ask Claude,

40:08

"Can you have three versions of each

40:10

Final Cut video, one with each of these

40:14

music types?" So, the nine final mixes.

40:17

So, that's another thing that's pretty

40:18

dope is like it's it makes getting some

40:21

of these like iterations and variations

40:23

super super fast where we're going to

40:25

end up with nine, which is awesome.

40:27

Something that's cool here is it knows

40:28

to bring down the volume of the music to

40:31

not overpower the dialogue. So, it looks

40:34

like they all popped up right here.

40:36

Let's see how some look.

40:38

>> Okay, if one more person [music] screams

40:40

mom before 7:00 a.m., I'm losing it. So,

40:43

I started these Mr. [music] Paid Social

40:45

Gummies. 20 minutes in, my shoulders

40:48

just drop.

40:49

Game changer.

40:52

Okay, if one more person Okay, if one

40:55

more person screams mom before 7:00

40:58

a.m., I'm losing it. So, I started these

41:00

Mr. Paid Social Gummies. 20 minutes in,

41:04

my shoulders [music] just drop.

41:06

Game changer.

41:07

>> Dang.

41:08

Yeah, I mean, these all look

41:11

pretty freaking good for 100 like

41:14

literally 100% AI generated. Like Claude

41:18

code did all of this for me. So, um if

41:21

we wanted to, we could even have like it

41:24

add some text overlays,

41:26

some captions. So, let's do that. Now, I

41:29

want you to add captions to the video in

41:33

the bottom third of the video. All

41:35

right, Claude code did what we wanted.

41:37

Now, we have all of these with captions.

41:39

>> Okay, if one more person [music]

41:41

screams mom before 7:00 a.m., I'm losing

41:44

it.

41:44

>> Amazing.

41:44

>> So, I started these Mr.

41:47

>> And they all look

41:48

>> Okay, [music] if one more person screams

41:50

mom before

41:51

>> Okay.

41:52

>> Okay, if one more person screams mom

41:54

before 7:00 a.m., I'm losing [music] it.

41:56

So, I started these Mr.

41:59

>> So, yeah, we were able to create

42:01

basically a front-to-back UGC style

42:04

video for a supplement brand that I

42:09

created fictionally, but the point is

42:11

like you can create an AI video from

42:13

start to finish inside of Claude Code

42:16

from the scripting

42:17

the starting frames, the character

42:19

building, generating the B-roll, putting

42:23

it all together, editing it together,

42:24

adding the subtitles, captions. You can

42:27

do all in Claude Code now, which is just

42:28

insane. And like I'm not going to lie to

42:30

you and say this took like 2 minutes to

42:31

make all these videos. It took a while,

42:33

but while it's doing its thing, you can

42:35

be working on other stuff or you can

42:36

have multiple sessions running. Like I

42:38

can have 10 different agents working on

42:40

10 different video concepts for me and

42:42

like firing everything off into Arc Ads

42:44

and or whatever other API that you want

42:46

to use and generating all the assets and

42:49

putting them together and like you turn

42:50

into the creative director

42:53

and Claude Code just turns into your

42:55

creative strategist and video editing

42:57

team and you can just mass execute and

43:00

be like this is the idea, this is what I

43:02

need, go execute. All right, the next

43:03

thing I'm going to show you is how you

43:04

can actually use C-Dance 2.0 through

43:07

Claude Code to clone

43:10

a video ad for your own product. So, I

43:12

want to create an ad for my Mr. Page

43:15

Social shoes that I like, you know, it's

43:18

another fake version or whatever. But if

43:21

I go, I'm going to just pull up a new

43:23

tab here. We've got the Mr. Page Social,

43:27

yeah, these ones. Oh, so I want I want

43:29

to create an ad for these. I want it to

43:30

be AI, but I want it to look and feel

43:32

like a video that would be on TikTok.

43:34

So, what I did is I went to TikTok and I

43:36

just searched like Vans shoes. If you

43:38

had a different shoe brand or different

43:39

shoe like that wasn't like a Vans

43:41

knock-off or whatever, you could search

43:43

the style of like shoe

43:46

that you wanted to find on TikTok. But

43:47

the point is like you're scrolling

43:49

through TikTok trying to find a video

43:50

that looks and feels like really organic

43:53

and native.

43:54

So, what I did was

43:56

downloaded this video. All right, so

43:58

we've got a new session of Claude Code

44:00

open. I have attached the image and the

44:03

video that I wanted to reference.

44:05

And now I'm going to say

44:07

"I want you to analyze the attached

44:09

video in extreme precision. Like if

44:13

you're using the vision skill, get like

44:16

100 frames or whatever. Extract the

44:20

transcript. Like really dissect the

44:22

video as closely as you can. And then I

44:25

want you to use the clone video skill

44:27

that you have to clone this video, but

44:30

replace it with the product that I

44:33

attached the shoes that I attached."

44:36

All right, I'm sending that prompt. All

44:38

right, so we've got a lot of good info

44:39

here. Was able to pull all these

44:41

different frames from the video itself

44:43

to understand what's going on with it.

44:46

We've got

44:47

>> [clears throat]

44:47

>> the traits of the video that we're

44:49

trying to transfer. We want certain

44:51

things to get swapped. Generation mode,

44:52

we're going to do seed dance to one

44:54

clip, aspect ratio, and estimated cost.

44:59

And now we're continuing on to putting

45:02

together the script. All right, we got

45:03

some variations to check out. Uh let's

45:06

look at this one.

45:07

>> Okay, so Mr. Paid Social literally just

45:09

dropped these old skis and I had to grab

45:11

a pair. The whole side is wrapped in the

45:13

word lock and the print is so clean in

45:15

person. It actually goes hard. And how

45:17

cute is the little smiley face on the

45:18

tongue tab? I'll try to link them, but

45:20

I'm telling you these are going to go

45:21

fast.

45:22

>> That looks so good like in comparison to

45:25

the original video. Let's check this one

45:27

out.

45:27

>> Okay, so Mr. Paid Social literally just

45:29

dropped these old skis and I had to grab

45:31

a pair. The whole side is wrapped in the

45:33

word mark and the print is so clean in

45:35

person. It actually goes hard. And how

45:37

cute is the little smiley face on the

45:38

tongue tab? I'll try to link them, but

45:40

I'm telling you these are going to go

45:41

fast.

45:41

>> I mean, I would give this like a solid

45:43

nine out of 10. Any of the imperfections

45:44

you could easily hide with some other

45:47

B-roll or like cutting it slightly

45:51

differently. Could have the same source

45:53

audio and have different shots, all that

45:56

stuff. We could even have Claude Code do

45:58

that. Um but this is pretty incredible.

46:00

Like literally you can find any video

46:04

like, whether it's an organic piece of

46:05

content, an ad from a competitor,

46:07

whatever, that someone's running and

46:10

just repurpose it with your own product

46:11

or your own offer, like

46:13

and we didn't steal this person's video.

46:15

Like, this isn't

46:16

this isn't her voice. Like, this isn't

46:19

her. It's the same vibe, but like, this

46:22

is just blowing my mind. I'm going to

46:23

switch gears really quick and show you

46:25

how you can be creating these animation

46:27

style ads using this Claude code skill.

46:30

These ads are popping up all over the

46:32

internet right now in places like

46:33

LinkedIn and X. They're probably some of

46:35

the most brand safe ads you can create

46:38

with AI. Because they're obviously fake,

46:40

they're not trying to convince you of

46:41

anything or trying to deceive you or

46:43

pretend like they're real people, and

46:45

they're just super fun and really good

46:46

for storytelling. I'm going to show you

46:48

a couple examples really quick so that

46:49

you can see what's possible. So, one

46:51

really fun use case with these

46:52

claymation style ads is similar to what

46:55

we've done already where you can find a

46:57

video out in the wild that you really

46:58

like and then basically have Claude code

47:01

convert that into like a claymation or

47:04

Pixar style animation ad. So, here's a

47:06

video I found on the internet that I

47:08

thought was like a really strong ad for

47:09

this like bug catcher thing and then I'm

47:12

going to show you the claymation version

47:13

of it.

47:15

>> single mosquito in my yard and it's been

47:17

weeks. This thing basically wipes out

47:19

mosquitoes and bugs in up to a 1-acre

47:22

area. It's got a built-in solar panel,

47:24

so you never have to plug it in or

47:26

charge it. Just set it to auto mode and

47:29

it turns on at night and charges during

47:31

the day. It's completely wireless, so

47:34

you can put it anywhere. Backyard,

47:36

patio, even camping. And it's not just

47:38

mosquitoes, flies, wasps, all the other

47:42

annoying bugs. After I started using

47:44

this, people kept asking me how I don't

47:46

have bugs out here. I just point to

47:47

this. If you're tired of getting eaten

47:49

alive every summer, you're going to want

47:51

one of these. They always sell out once

47:53

it gets hot, so I've got it linked right

47:55

here.

47:56

>> So, I thought that was a pretty cool ad.

47:58

A lot [clears throat] of like features

48:00

and whatnot. I think this might have

48:01

like showed up organically in my Tik Tok

48:03

or, you know, it had a lot of views or

48:04

something, so I knew it was doing well.

48:06

And then, so this is the final version

48:09

of that. That's all claymation. Check

48:11

this out.

48:12

>> seen a single mosquito in my yard and

48:14

it's been weeks.

48:16

This thing basically wipes out

48:17

mosquitoes and bugs in up to a 1-acre

48:19

area.

48:20

Built-in solar panel, totally wireless,

48:23

put it anywhere.

48:24

And it's not just mosquitoes. Flies,

48:27

wasps, all those annoying bugs.

48:30

After I started using this, people kept

48:32

asking how I don't have bugs out here.

48:33

[music]

48:34

I just point to this.

48:36

If you're tired of getting eaten alive

48:37

every summer, you're going to want one

48:39

of these.

48:40

They always sell out once it gets hot.

48:43

So, I've got it linked right here.

48:45

>> So, pretty cool little video, little

48:47

claymation version of that. You know, it

48:49

hit like a handful of the key points,

48:52

but the process of converting this into

48:55

like a little claymation story ad, I

48:57

think is what's really cool to showcase

49:00

here cuz all of those clips were

49:01

generated separately. The audio was

49:04

separate, like the voice-over was

49:05

separate, the bug sounds, all the sound

49:07

effects, all that was separate and

49:09

generated through Claude code and then

49:10

edited together. Even added the

49:12

captions. So, here's the project folder

49:15

for this exact video. You can see that

49:18

we have multiple clips, so it generated

49:21

all of these separately.

49:23

>> Meet Solar Zap. The bug zapper that

49:26

actually

49:27

It's totally solar powered, so it

49:29

charges all day in the sun.

49:32

>> So, something you'll notice here is on

49:33

these generated videos, they had their

49:35

own audio and I wanted to control the

49:38

entire narrative. So, what I did is I

49:41

had Claude code create a um voice-over

49:45

here. So, we got this voice-over version

49:48

that is kind of like synced to each

49:50

clip, but that way we can keep the

49:52

voiceovers consistent and then also

49:54

layer them on the video that's already

49:56

being created.

49:57

>> If you're tired of getting eaten alive

49:59

every time you step outside.

50:01

>> So, we've got all these voiceovers. It

50:03

also is able to generate the background

50:07

music for me. So, here we've got the um

50:10

normalized music here. Just like a

50:12

little bit of like acoustic vibe,

50:14

whatever, but it generated that with 11

50:16

Labs. We also got all these sound

50:19

effects.

50:21

Like the spraying down.

50:24

This is just like random outside

50:25

effects.

50:30

We've got the sound of the bug flying

50:32

around. So, like Claude Code literally

50:34

generated all of these assets for me,

50:37

even the captions. And then it was able

50:40

to like put all of it together into this

50:42

final version of the video that was 33

50:44

seconds long. And I felt like the final

50:47

version actually turned out super well.

50:48

And here's what this looked like inside

50:50

of my Claude Code environment in real

50:51

time. So, I basically pointed it to this

50:55

original video and I said, "I want you

50:57

to recreate this ad as a claymation ad

50:59

using the Arcas API." And then basically

51:02

it goes through figure like analyzes the

51:04

video, figures out like all the key

51:07

points, recreates a script. Then I was

51:09

able to have it generate like the

51:11

voiceover script, put it together with

51:14

everything, add the audio and the

51:17

effects, change like the like how loud

51:20

things were, and then create that final

51:21

version for me. Here's another AI ad. Um

51:24

it's more of like the Pixar style that I

51:26

used for promoting this like

51:27

Ashwagandha, you know, Mr. Face's social

51:29

stress relief boning product big product

51:31

that I made with AI. But basically all I

51:34

did was gave it this image and then

51:37

said, "I want you to create like a Pixar

51:39

style ad promoting it." Here's what it

51:40

came up with. Check this out.

51:42

>> Your brain shouldn't be doing this.

51:43

[music]

51:44

I keep you up at 3:00 a.m. replaying

51:46

that one text. So, she tried something.

51:49

Two weeks [music] of these and my brain

51:51

finally went quiet.

51:54

Inside, Ashwagandha [music] gently

51:56

untangles racing thoughts, dims

51:58

over-firing neurons, and lets your

52:01

nervous system breathe.

52:05

Try Mister [music] Paid Social

52:07

Ashwagandha. Premium stress relief.

52:11

>> So, this one also kind of a cool way

52:14

that it put it together. It generated

52:16

all the clips like separately within

52:19

Seedance. So, like this clip

52:21

um was its own clip. This girl was its

52:24

own clip. The brain was its own clip.

52:27

Um and then it was able to edit all

52:29

these together. When I looked at the

52:30

video by itself, there was like a lot of

52:33

gaps in the video.

52:35

So, then I asked Claude Code to create a

52:40

voice-over um to like layer in between

52:44

the gaps. So, that's why at the

52:46

beginning you hear it say like

52:48

your brain shouldn't be doing this.

52:49

>> Your brain shouldn't be doing this.

52:51

>> Like that was added after. And then this

52:54

like So, she tried something.

52:56

>> She tried something.

52:58

Two weeks [music] of these and

53:00

>> So, there's kind of this like narrative

53:02

storytelling happening unfolding like in

53:05

between the characters talking, which

53:07

can work really well.

53:09

And then there wasn't any like piano

53:11

music or anything.

53:13

Um so, we had Claude Code also generate

53:17

the music for it. So, I just said, "Can

53:19

you generate background music track

53:21

using 11 Labs?" And then it spun up that

53:23

like wellness piano background music

53:26

MP3. It let me listen to it before.

53:28

Basically, yeah, it was able to again

53:30

put all these assets together, mix the

53:32

the volumes to the right amount, add the

53:35

captions. It even added this like end

53:38

card here using hyperframes. So, like if

53:41

I wanted to, I could have said like put

53:43

the product at the end here or make like

53:44

a product ending card and it would like

53:47

design that for you. So, yeah. I mean,

53:49

these Pixar-style ads are super cool.

53:52

The ClaudeCode environment has some

53:54

skills that I've built out just through

53:55

testing it through these versions of the

53:58

ads that I made. So, feel free to like

54:00

go crazy. Um

54:02

make some animation ads. Right now,

54:04

we've got the claymation and the Pixar

54:07

style. Uh you could easily give it a

54:10

video of a different type type of

54:12

animation ad, ask you ask it to recreate

54:14

it for you. I think that's the beauty of

54:16

a system like this is like it has its

54:18

built-in kind of knowledge base that

54:21

I've given it, but then it's completely

54:23

up to you to do with it what you want in

54:26

terms of like having it recreate new

54:29

styles or

54:31

um

54:31

you know, reverse engineer certain

54:33

creatives that you see in the wild. All

54:35

right. So, in this last section of this

54:37

video, we're going to get to the part

54:38

that's probably my favorite. I'm going

54:40

to show you how you can take all these

54:41

AI assets that you've created within

54:43

ClaudeCode and actually launch them into

54:46

your ad accounts without even touching

54:48

Ads Manager. So, on the right, I just

54:49

really have Ads Manager up here for like

54:51

demonstration purposes. Um you can see

54:54

like I have ads in my account. I just

54:56

used this process to upload a bunch of

54:58

these like AI animation videos. You can

55:00

see it like created a naming convention

55:02

for me.

55:03

Um it uploaded all the creatives for me.

55:05

These are all like AI animation videos

55:07

like I'm currently running promoting my

55:09

own school. And earlier in the video, we

55:13

had created like all of these statics.

55:15

So, we've got like 30 nine static image

55:18

ads that we need to create. And I am not

55:22

going to go into Ads Manager and upload

55:25

these images one at a time into one at a

55:28

time and write ad copy and do all that

55:31

because we can have ClaudeCode do all of

55:33

this for us. And what's even crazier

55:35

here is we can have it understand what's

55:39

currently working in our ad account

55:41

here. Like I can have it pull data from

55:44

the ad account for however long I want,

55:46

extract the ad copy frameworks that are

55:49

working in the ad account already, and

55:51

then I can have it analyze the ads. Like

55:53

actually look at these new ads that I'm

55:56

wanting to launch, like this ad,

55:58

to understand the context of the ad, and

56:01

then rewrite new ad copy for this

56:04

specific ad using what's already working

56:07

in the ad account. So, you get

56:08

hyper-specific ad copy that is per every

56:12

single ad that you're launching without

56:13

having to even touch a single thing. So,

56:15

how do we do this? I've got this folder.

56:17

I am going to grab the location here,

56:21

go into Claude code, open up a new

56:23

session. So, here's what I'm going to

56:24

say to Claude code. I want you to take

56:26

this folder of image ads and upload them

56:29

into my Mr. Paid Social Ad Account into

56:33

a new campaign called AI-generated

56:36

statics. I want you to use the ad set

56:40

structure from the top-spending ad set

56:42

in the ad account. First, I want you to

56:45

analyze all of the ad creatives that are

56:49

currently doing well in this ad account

56:51

and figure out which versions of ad copy

56:54

are performing best. And when I when I

56:56

say ad copy, I mean primary text. And

56:58

then I want you to take every image from

57:01

this folder that I'm about to give you,

57:03

study it, analyze the images, and write

57:06

me five variations of ad copy to go

57:08

along with each image ad based off of

57:11

what's already working in my ad account

57:13

right now. And I'm also going to tell

57:14

it, "I want you to group these image ads

57:20

appropriately by creative concept.

57:22

Understand each image so that you can

57:25

group them accordingly. I also want you

57:27

to implement a naming convention so that

57:28

it's easy for me to understand what each

57:31

image ad is all about, okay?" And I'm

57:33

going to give it the destination where

57:34

all of those image ads are, and I'm

57:37

going to click enter. So, right now it's

57:39

launching the Meta ad builder skill to

57:41

handle this. I've got to change the

57:43

permissions to auto mode here, so that

57:45

it just continues to do this without me

57:47

baby-sitting it. And once again, like

57:49

this is one of the things I love about

57:50

Claude code is it's kind of going

57:52

through the skill, but it hit a an error

57:55

where it wasn't able to pull up a copy

57:56

fields,

57:57

but now it's pulling it from a different

58:00

spec, meaning it just like it knows how

58:02

to navigate the API when it hits like a

58:04

barrier and just figure it out. This is

58:08

way better than if you were trying to

58:09

like vibe code and like a a rigid SAS

58:12

that always had to follow a certain like

58:14

way of doing things. The agent we've got

58:17

going in Claude code can iteratively

58:19

figure this out. So, if like Meta makes

58:21

an update to their API or whatever, it's

58:24

just going to figure it out. Like you

58:25

don't have to go back and forth. Like

58:28

I've built a little micro SAS on top of

58:31

Meta's API where I had to literally go

58:34

in and like reverse engineer the entire

58:36

thing to figure out how to even

58:38

structure these calls,

58:40

and now Claude code can just like do all

58:42

of that for you, which is just insane.

58:44

Individualize this for you about like

58:45

what this is actually doing. In my ad

58:47

account, I can show like a breakdown of

58:50

the top ad copy here. So, it shows like

58:52

all five variations of ad copy for every

58:54

single ad. And essentially what Claude

58:56

code is doing is pulling all this for me

58:59

in the background so that I don't have

59:01

to worry about any of it. And if you

59:03

didn't have ad copy in an ad ad account

59:06

for it to analyze and figure out, this

59:07

Claude code environment is trained on

59:10

all of my top ad copy frameworks with

59:12

examples here. So, I have this Google

59:14

Sheet. This is where I I keep all this

59:15

stuff handy, but I have all of these ad

59:18

copy frameworks that I've used over the

59:21

years or I've seen in the wild that I

59:23

think are really good. And I think

59:25

there's what, like 18 or 16 different

59:28

versions of ad copy and like ways to

59:30

like structure them. And this whole

59:32

thing is in the knowledge base for this

59:34

repo. And if you don't have like ads

59:37

that you wanted to learn from, it'll

59:38

learn from this document instead and

59:39

write you like it'll fill up the five

59:42

versions of ad copy that you get within

59:44

Meta. So, if I click on edit here on

59:47

this ad within Meta, you can see that

59:49

there are five different variations of

59:52

primary text that you can use. I always

59:54

recommend people to use all five of

59:55

these because it's like free bets at the

59:58

at the table.

59:59

And similar with headlines. But what you

60:01

can do is leverage five different styles

60:04

of ad copy for each one of these. And

60:06

then, you know, you're just testing

60:08

significantly more angles and ways of of

60:10

doing all this. So, that's what Claude

60:12

Code is working for on for [snorts] us

60:14

right now. All right, so now Claude Code

60:16

is asking us some questions to clarify

60:18

on certain things. Like what budget

60:19

should the new ad set campaign launched?

60:22

It says paused. Let's do just a $50 CBO

60:26

campaign. This is all just for mock, so

60:28

um doesn't really matter what I'm

60:30

putting in here, but you would put in

60:31

like the settings exactly that you

60:33

wanted to use. It's creating the

60:34

campaign and ad set now, all paused. It

60:38

looks like it grouped these into 1 2 3 4

60:42

5 6 different ad sets. We've got a

60:44

native phone desktop UI versus

60:47

comparison ones, tactile artifacts,

60:50

editorial, product spec sheets, and

60:52

poster bold statements. And shows all

60:55

the different ads. So, I've got 11 in

60:57

this one, all the way down to two in

60:58

just the poster one. Looks like it gave

60:59

us a campaign ID. Let's see if this

61:01

exists in the ad account by pasting that

61:04

ID in here. And we can see it's created.

61:07

It says it's paused. We've got it at

61:10

$50 campaign budget like we told Claude

61:13

Code. This is awesome. If I go to the ad

61:15

set level, we've got looks like it's

61:17

creating one ad set for all concepts

61:20

first. And if I click in here, it should

61:23

show Yep, it's got my Mr. Paid social

61:25

pixel, the purchase event. Everything is

61:28

selected exactly how I have it set up on

61:31

my top-performing ad set that I told it

61:33

to copy from. Right now, it's deploying

61:35

all 32 ads, and it says it might take 5

61:37

to 10 minutes to get all this done. And

61:39

what's super cool is if I like go into

61:42

Finder and go into the folder where like

61:44

all this lives, which is like this Meta

61:47

AI statics folder that it created for

61:48

this, it shows me like all of the like

61:51

raw data that made So, like this is like

61:54

the ad copies that it made with the

61:57

headlines and descriptions.

61:59

And you can see that they're different

62:01

for every single unique image ad, which

62:04

is pretty wild. It even shows me like

62:07

the top ads data that it pulled. So,

62:09

like this is like all of the data that

62:12

it scraped from my ad account and is

62:14

using for references for generating all

62:16

this stuff. So, I just refreshed this ad

62:19

set, and I can see all of these ads.

62:21

We've got 24 built already in here that

62:25

have the creatives. It has if I click

62:28

edit, we can actually see all of the

62:30

different variations of ad copy that it

62:32

wrote for us. Pretty sweet. And like

62:35

here's a preview of what that looks

62:37

like. And I cannot emphasize enough like

62:39

for a normal media buyer to set up 24

62:43

ads manually in their ad account,

62:45

writing five variations of ad copy that

62:47

are specific to the creative that you're

62:50

running would take hours. Like this

62:52

would take so long for you to do. And

62:55

you can just tell Claude code, "Here's

62:57

Here's what I want you to do. Here's the

62:59

creatives. Here's how I want you to

63:00

structure them. Here's how I want you to

63:02

write the ad copy for them. Here's the

63:04

data. Here's the context. Go do it."

63:06

Like hand Claude code everything that

63:09

you would normally hand off to a VA,

63:11

give it the API key, and let it build,

63:14

and it'll just do the work for you. This

63:16

is something you would hand off to a

63:18

junior media buyer or a VA and it just

63:20

does it and like you don't have to sit

63:22

and babysit it. You can like go work on

63:25

other stuff and this is building ads for

63:27

you in the background. It's just it's

63:28

wild. All right, so let's address the

63:30

elephant in the room with Claude code

63:32

and attaching it to your ad account and

63:33

all that stuff. Is it safe? You know,

63:35

we've had people that I think most

63:38

people have seen online people sharing

63:40

stories about getting their ad accounts

63:41

disabled

63:43

um because of connecting it to Claude

63:45

code or Claude. Um some of these it's

63:48

like I I would say like some of these

63:50

aren't even from Claude code. Like some

63:53

of them are, you know, like I was

63:54

working in an account recently with a

63:56

client. They had their ad account go

63:57

down and eventually they finally got it

63:59

back and the reasons why it was

64:01

disapproved were it was a false positive

64:03

meaning like it got disabled by accident

64:06

or something triggered their system

64:09

which like doing a lot of automated work

64:10

can make that happen.

64:13

But in those instances you can't get

64:15

your ad accounts back. The main thing to

64:17

consider when using Claude code for

64:20

doing stuff like this is not to allow it

64:23

to autonomously change your budgets and

64:27

your bids because

64:29

that's when you're going to get like

64:30

hundreds and hundreds of like micro

64:32

tweaks and changes every single day and

64:35

that's what's that's what's going to be

64:36

more likely to flag everything. Also, if

64:39

you run this as your own within your own

64:41

app like we did at the beginning of the

64:42

video, we got the API key, we created

64:44

our own little app that's a much safer

64:45

environment than if you're using like

64:46

maybe an um

64:48

MCP server or something like that. I've

64:50

been using this. I haven't had a single

64:51

issue so far. That being said, there's

64:54

always a risk. So, if you are managing a

64:56

massive account for a massive brand, I

64:59

would say if you were wanting to layer

65:01

in AI activities into that, maybe

65:04

consider starting out with a a new ad

65:07

account that you can set up specifically

65:09

for AI and testing this out first so you

65:11

can get comfortable with it and make

65:13

sure that it's not going to go down

65:14

before you potentially jeopardize your

65:16

entire main ad account. We covered a ton

65:20

in this video. We went through getting

65:22

your Claude code system set up using the

65:26

GitHub repo, building a Meta API app to

65:30

get the API key, connecting everything

65:32

together, using Claude code to do

65:35

research on competitor's ads, creating a

65:37

ton of image ad templates and cloning

65:40

image ads in the wild. We went through

65:42

generating numerous styles of video ads

65:46

using the Arc Ads API, including AI UGC,

65:49

cartoon ads, and really cloning any

65:52

style ad that you would want. This is

65:53

the ultimate media buyer system from end

65:57

to end inside of Claude code, and you

65:59

can get it completely for free from this

66:02

GitHub repo. Any third-party APIs being

66:05

used in this repo, like Arc Ads, 11

66:08

Labs, anything else that was in here,

66:10

you will have to pay whatever your usage

66:12

is, so it's not completely free in that

66:14

sense, but I'm giving you a huge head

66:16

start here. If you're interested in

66:18

learning more about how to set these

66:19

kinds of systems up for yourself, or if

66:21

you want to see what else I've got

66:22

cooking, consider joining my private

66:24

community on school. It's called the AI

66:26

Ad Alchemists. We've got over 500 media

66:28

buyers, founders, agency owners, and AI

66:30

enthusiasts in there continuing to build

66:32

out the coolest stuff for their

66:34

workflows. That's all I've got for this

66:36

video, but if you got anything out of

66:38

it, please give this video a like and

66:39

consider subscribing to the channel. I'm

66:41

a career media buyer gone full-time

66:43

content creator, so every subscriber

66:45

helps. All the information you need from

66:46

the video is in that description below,

66:48

and I'll catch you on the next video.

Interactive Summary

This video is a comprehensive tutorial on using Claude Code to automate a full Meta advertising workflow. The creator demonstrates how to set up the system, use it to generate static image ads, clone competitor ads, and produce high-quality AI video content, including UGC and animation styles, without manual editing tools. Furthermore, the video shows how to use Claude Code to directly launch these assets into a Meta ad account, analyze ad performance, and generate hyper-specific ad copy.

Suggested questions

4 ready-made prompts