I'm going to do a full walkthrough of the social media automation which is 100% automated what does that mean this system is going to use deep seek AI together with make.com which is going to fully automate your video content creation process and publish it to social media platforms for you so in summary this automation is going to in real time do research on what to write about it'll then write a script for a video it'll then actually generate that video with subtitles and a voice over and it will then go ahead and actually publish it
onto the different social media platforms which is Facebook videos YouTube shorts LinkedIn videos Instagram reals as well as Tik Tok videos so the fact that this is 100% automated means that you can set up the system and it'll automatically generate thousands of videos and post it across hundreds of different social media accounts where you can actually then collect ad revenue or send leads into your finals for your business or whatever the case is so that's what I'm going to be showing you in today's video it's a technical walk through step by step through each of
the modules how I set it all up so you can go ahead and set it up yourself if you do want to just copy paste this you can H to futurize decom you can get started create an account and inside our AI automation Academy Community I will include the blueprint or you can just simply come click this more button import blueprint choose the file you can select the file and then click open and it'll then import this entire automation for you so you don't need to set it up step by step inside my futurized community
I do include a course where I show you how to set up each of these modules completely from scratch by the end of that course not only would you have built this 100% automated content generation system but you will also have learned all the technical skills to use make.com and to build AI automations with deep seek so the way that I've set this up you don't need to manually come and click run once it'll just automatically run you can go along with your day and in the background whenever a new piece of content is posted
on the internet it'll scrape that article evaluate it generate the video and publish it so just for this demo I'm just going to manually trigger a run so I'll click R after running it manually let's go check out the videos so we can see ever wondered how much Ai and automation could slash carbon emissions in buildings the numbers might surprise you imagine this a typical office building emits around 2 megatons of CO2 per square meter all right so I'm not going to watch the whole thing but let's just go make sure it's posted on all
the platforms if I refresh YouTube there's the new video LinkedIn um refresh there it is Schneider Electric assist AI nobility it's quite cool Instagram there you go and Tik Tok it's refresh oh no that's not it uh I think it's still needs to post uh I know Tik Tok does take a little bit longer cuz we use a workaround to post to Tik Tok talk but in a few minutes it should be available here great so now I'm going to go through each module step by step and I will show you exactly how we configured
each of these modules so the first module that gets run is this RSS module so if you right click and say add new module and you search RSS you can see there's two watch and retrieve RSS so RSS stands for really simple syndication and what it is it's an easy way to retrieve realtime updates from websites that you care about so basically in this case we are going to be using Google News every time there's a new article posted to Google news we are going to pull that article scrape it and then create a video
based on that new article so the module you want to use for that is this watch RSS feed items and that will trigger basically as soon as the new articles posted on Google so you'll see as input it takes two items the one is the link to a valid RSS okay and if I show you what this actually looks like if I copy paste this you will see it's basically a list of these news articles descriptions and this is the part we interested in which is the link to that article in order to generate that
RSS link you want to go to RSS app I do include an affiliate Link in the description if you want to support this channel then what you want to do is you want to create an account and then go to my feeds all right so you can see I've got a few feeds already set up here but I'm going to show you how you would set it up from scratch so you want to click on new feed and what you want to do then is you want to enter a topic over here so that's how
I do it you can also come scroll down and you can choose which feed you want to use you can uh for example every time a video is added to a certain YouTube channel you can create a YouTube feed you can create a LinkedIn feed you can use an Instagram feed Etc so you can see if you scroll down there's a lot of options there's CNN feeds there's medium feeds so you can kind of just look through here and choose what you think would work best for your Niche but in my case I'm just going
to use Google news and if you just type in a topic it uses that by default so I'm going to type in AI automation I'll then click generate and you'll see it then generates the news feed so you can see this is the video we just created Schneider Electric sustainability um if you want to use the paid features they give you some pretty cool filters you can use uh one thing that I recommend you always enable is this auto cleaner and what the auto cleaner does is it will remove any branding from the titles of
the blog post so for example over here aoo brings blah blah blah and then here it's got finovate as part of the title so you can see it automatically removed that if you scroll down you might see another example there's another one Florida newswire it removes that and that's because sometimes we're going to be using this title inside the title of our YouTube shorts video so we don't want to have that branding in the title the other feature that is pretty cool is this white listing and what that allows you to do is it allows
you to only return the listings based on either a keyword in the title or description or the link so I'll show you what it works like for the link so if I click this link and let's say we only wanted to return Floridan newsy.com I'm going to copy this and I'll paste this in there and I'll click add and now it should remove all the other options so you can see all of these are gray art it's kind of hard to see but if we scroll down you can see this one uh you can see
that title's in black and it hasn't been removed and that's because this is the one from Florida newswire then let's say we also wanted street.in we can add that one you can see this one's now also enabled all right you can also Blacklist domains so if you don't ever want it to show a certain domain you can add it here but there is limitations with this white listing I'm currently on the free trial of the basic plan uh so you can see here on the basic plan it gives you access to add up to 20
whitelisted keywords and then on the developer and pro plans you can add up to 50 whitel list keywords or 200 whiteless keywords all right and you can see you can also enable filters if you come to the free plan as you can see here when my trial runs out I won't have access to the filters okay and I can only have two RSS feeds I only need one one so that's not a problem so this is the only feature that I would need um and that would be a reason why I would upgrade to the
paid plan all right so then all you need to do is come here click copy come here paste in that URL and then for the maximum number of returned items you want to set that to one we're only ever going to be processing one article at a time so we don't need this to be any higher and we can then click save just as a note if you want to set this up for your production in environment you just right click say choose where to start and then you want to make sure from now on
is selected and that means from now on whenever a new article is published on Google News uh it will then trigger this automation another thing that you need to have enabled is you want to click on this little clock all right and you want to make sure that at regular intervals is selected and you can basically choose um any amount of minutes here so I have it set to 60 minutes so every hour it basically runs so in order for this to actually trigger you just need to make sure that this is enabled next we
want to scrape the article from that URL so if we come here to the output here is the URL okay so I'm just going to copy paste this so you can see what that looks like and we have Schneider Electric and you can see there's a whole bunch of text on this page right there's text on the right here there's text in the header there's ads there's all this extra text at the bottom so if you were to scrape the whole web page it's going to include all this extra extra HTML and all this extra
text that's not necessarily what we're interested in because we only want to analyze the article itself all right and I found a really cool API and it's really affordable uh it's called URL to text it's basically the cheapest and easiest way to extract only the article from a blog post I will include a link to it in the description but basically what you want to do is you want to come uh after you create an account you want to go to API key and you basically want to uh copy this API key that it generates
for you over here let me just show you how the pricing works so if I come to dashboard uh you can see that they give you $1 in free credits um and you can see after running this 112 times basically 112 articles have been scraped it only cost me about 3.2 uh or 32 cents so that's not bad at all so you can see the pricing per request over here all right so it's 0.0015 per request so I know they do have a paid plan which is about $20 a month if I'm not mistaken but
I mean you can always just go and create a new account on URL to text and get a new $1 and generate a new API key cuz I feel like this would uh last quite long so to use the URL to text API you want to add in a HTTP module so if you right click um go to http then you want to use this make a a request module okay and let me show you how I set that up so this is the endpoint okay it's the URL to text endpoint you want to use
the post method and then two header tags authorization and content type here is where I added my API key that I copied from over here then remember to keep your API key a secret you don't want to share that with anyone in the body type you want to set that to Ru set the content type to Json and then in the request content you want to paste in this all right you want to set the output format to text extract main content to True render JavaScript to true and residential proxy to true and then here
under the URL this is where we enter our Dynamic value which is the link that was generated as the output of this module over here so if I come to download output bundles you can see we have the URL over there okay and we also have that same URL over here which is the one I'm using the link over there all right they're both both exactly the same so you can use any of them and the way you'd enter that Dynamic value is you'd simply just click in here and then you would select it just
like that or in my case by clicking link all right you also want to make sure pass response is set to yes so that we're able to extract the actual article and when this runs you'll see the output would be just the article as you can see over there so can digitization and AI help us decarbonize so it starts from there let's go see where that is in our article so you can see it started scraping it from over there all right and it excluded all this unnecessary fluff before it like the dates the share
button Etc what it does is it sometimes like breaks up this text into like new lines as you can see there and that's kind of um annoying because it'll make it a little bit more difficult for the AI to interpret what it's all saying so what I do next is basically I get rid of all these um line breaks and the way we do that is by replacing new lines with spaces before we get into that I'm just going to briefly mention what I did over here and what I did here is I added a
break module I just renamed it to retry twice if error and basically I set the automatically complete EX execution to yes and then number of attempts is true which means it'll retry this if it runs into an error twice and it waits 1 minute between each um error so the reason I added this is because sometimes this API um would run into an error for some unknown reason um so I realized adding this rearry mechanism fixed that issue back to our replace new lines with spaces so if we come here you can see I used
a set variable module so to use that you can just search search set variable and you want to use this one over here okay and what I did here is I used the replace function so you enter your body of text in this case Hello World then what you want to replace in this case hello and what you want to replace it with in this case high and you can see if this gets run it would replace the word hello with high and then the response would be high world right so in our case we
have provided the data content which is the actual article that was scraped and what we want to replace is a new line and replace it with is a space that will basically get rid of all the line breaks and just return one paragraph of text if you're wondering how I got this space over there if you click and you go to a um for text and binary functions under the keywords you can see there is space and there is new line so you just need to click it and it adds it in great so once
we now have one body of text the article we can then count the amount of words inside of that article and there's two main reasons for this reason number one is our API didn't scrape the full article for whatever reason sometimes um it doesn't work reliably most of the time it works just fine but there is a case where the way the people created the website you're scraping from they didn't kind of structure it correctly and then it doesn't know which are the body tags which are the header tags and it doesn't know how to
actually scrape it correctly the other reason is is if an article's too short I'm assuming it doesn't contain that much valuable information but in general I would recommend setting this number to 600 and basically what it does is it'll check if the article word count is greater than 600 and the way we get the word count is by using another set variable module I created the variable name called article word count and then I use this expression so this will count the number of words inside of the final article and the way it does that
is we use the split function and we split every single um word by the space so wherever there's a space inside of that paragraph it split it and it creates an array a comma separated array um of every single word in that final article and then we use the length function to count the amount of items in that array the length function can be used to count the number of characters in a string or the amount of items in an array so our case we were counting the amount of items in the array and then
the output of this if we look here we can see the article word count is 1,136 okay uh and the reason it ran through here is because we added a filter on this 1,136 is higher than this number 300 and so it moved through if the number was less than 300 it would then not pass through and it wouldn't run this deep seek module over here here so that's basically the First Quality check the second quality check is to check does the article actually contain valuable information all right so this is where you would usually
use a human in the loop to go and evaluate the article and then either approve or disapprove um that article to be processed in our case we can just use Ai and this is where I use the Deep seek module all right so you can just right click click add module search deep seek make sure you use the verified one all right it's deep seek AI uh don't use the community one if you come here you can then use create a chat completion module okay and then you can set up all the parameters you can
see this is how I set it up first thing you want to do is you want to create a connection and you do that by adding your deep seek API key so if you don't have one you're going to have to go create one then you come click add and you paste in your API key over there the place You' get this is you would go to deep seek.com and then you want to click API platform top right hand corner and uh I know deep seek has been having issues the past few days because they're
going viral around the world right now I think they uh busy with a lot of Maintenance so I don't really have access uh to actually show you how to set this up uh every time I come here it just seems to be freezing and stuff so uh I don't think this is going to work but anyway if you do want to see how to set up your API key for deep seek you can go to my community the first link Link in the description below and in there I'll have a course where I'll show you
how to set this up as well as where we build out this entire automation from scratch once you've added your connection you then want to create a system message so select the role to be system and then this is where you put in your main prompt all right so you can see I provide a role Your Role is to use the article quality score card below to score the provided article out of 100 so the provided article is down here in the content of this user role so I created a user I said this is
the article to score and then I entered in the final article that was generated in the previous step uh over here then you can see the scorecard I provide uh the amount of points and the different scoring criteria like accuracy and factual support depth and Analysis Innovation and insight organization writing quality Etc and then it generates a score and um then respond in a Json dictionary with both the score and the comment where the score is an integer whole number score and then the comment um would be the comments outstanding excellent good adequate Etc right
we don't actually use these um that's just more for the ai's understanding but uh we do use the score that gets entered here and note how I didn't put any double quotes over here and that's because we wanted to return an integer not a string and that's because we're going to use that number to to actually perform operations on to do a check if that score is higher than a certain amount or not so I'll show you that in the next step but I also give an example of what the response should look like for
example the score is 61 then the comment would be adequate if I scroll down see we can choose from two models you can either choose the Deep seek Reasoner model or the Deep seek chat model so the Reasoner is the smarter of the two and that's because it does reasoning and it thinks about the answer in the background before it actually gives the answer to you so for a prompt like this we wanted to actually really evaluate the article and score it based on these criteria so giving a time to think returns a more accurate
score than using the chat model the chat model is cheaper than the Reasoner CU it uses less tokens I do show you how we use the chat model um in a later module then over here we can set a maximum amount of tokens so that's basically the total amount of completion tokens so if we come to the documentation we comes to the reasoning model uh we can see Max Tok Max tokens is the maximum length of the final response after the Chain of Thought output is completed all right so the default is 4,000 tokens with
a maximum of 8,000 so basically what that is referring to is the total amount of tokens in our response so we know our response is always going to be very short over here that's probably only about like 20 or 30 tokens so it's not actually a lot so we don't necessarily need to set this to 8,000 we could have just left it to something like 30 or 40 tokens then we set the temperature to 0.3 all right so the higher the value the more random the output would be so it would be more of a
creative response when you use a lower number it's more of a focused or deterministic response which basically means if you set the temperature to zero and you provide a prompt the response would always be the exact same if you set the temperature to zero whereas if you increase that temperature value to one then the response will most likely always be different what's also good is the lower the temperature value the more strictly it usually follows your input prompts as well so that's also something to note then for the response format you can see you can
either choose text or Json object so if you using the Reasoner model uh it doesn't allow you to use uh structured outputs which is the Json output but it does allow you to return a text of a Json which is basically what we did so if we look at the response here you you can see the result is just a string that looks like a Json right it's got the score it's got the comment and then what we need to do is we kind of need to convert this string into a Json so that we
can extract the actual score value and we do that using the pass Json module so to get that you click add module you search pass Json and that's the module You' be using once you connect it you'd be able to configure the parameters so if I click here uh you can see what I did is I didn't even provide a data structure all I did was provide the Json string from the previous response which is the choices message content so if I come here you can see under choices and then message content there is our
string Json uh that we wanted to extract the score from note it also gives us the reasoning content so if you're curious you can come read through this this and you can see how it actually scored that specific article so now if I click the output of this we'll be able to see that the output is able to separate the score there it is it gave gave us a score of 75 and then the comment we don't actually use the comment we're only going to be using the score and we use the score on the
filter of this Branch over here so if I click here um we have the condition score is above 75 and then the condition is score and then I use the uh numeric operator so scroll down to numeric operations and then you want to use greater than or equal to and then over here is where You' enter the number so I changed it generally this should be 75 I just changed it to 10 um just so that uh this uh when I run this it actually works because most of the times when it runs it doesn't
pass all these quality check filters I just wanted to run it just once just so that I can demo it to you for production I would come back and change this to 75 if it's below 75 it would just stop there and it wouldn't continue but in our case because it is above this value which was 1075 uh which was by coincidence that was the score 75 it's above 10 it then now moves on to our next module where what we do here is I do a check to make sure that that article that I'm
referencing isn't AI generated by the publisher of that website right A lot of people don't know how to use AI properly and they just use chat GPT and it write some article for them and it's usually just garbage and it's not actually valuable content so I use a AI detector API that is able to determine how much percent of that article is AI generated and if it's higher than a certain threshold I exclude it completely or I don't even process it and the process ends whereas if it is human generated the process will continue so
the way I do this is I use an API by rephrasing AI so if I come here um rephrase Ai and you click on API solution you can scroll down and you'll see they have an API for humanizing which is pretty cool what that does is it'll rewrite AI generated content so that it's undetectable to search engines and to AI detectors and plagiarism Checkers um and it makes it undetectable that it was written by AI so that's pretty cool um but what we using is this detector API all right and and it gives us an
example here and this is the Endo so it's detected. refr blah blah blah and you can see it's a post call so if I come here there is our endpoint that I copy there I select post and then for the headers we have an authorization header and a content type header and then we have Bearer space and we enter your API key there and then the content type is application Json so you can see I just copied that authorization Bearer there's my API key make sure to include a space in between don't have a trailing
space over there uh and then for the other header we have content type and application Json so set it up exactly like that in your case you want to use your API key so to get your API key uh you're going to have to uh create an account let me just log in cool you can see I am currently on a paid plan it's $21 a month and you get 200 credits or 210 credits or something like that then if you scroll down that where you can copy your API key and paste it in over
there I do include an affiliate Link in the description of this video if you want to use refy so if you do want to use rr's API you would need a paid plan I try to keep it as cheap as possible and use the free plans wherever possible um but I did want to include an AI Checker which will detect if the content's AI generated CU I thought that's quite important if I scroll down here you can see uh for the body so this is the body body that you want to copy all right it
takes two parameters then the mode is just left as an empty string so it's just left blank and then it will return a overall score where zero would mean it's human generated and 100 means it's AI generated so if I come back here here's my request content uh basically you can see I got the structure there the text and the mode and then for the text I'm doing a whole bunch of functions in here firstly what I'm doing is using the substring and and what the substring is doing is it's basically taking the entire final
article and if the article is longer than 14,900 it basically cuts it at the 14,900 character and that's because um this API this rephrase API doesn't allow an input of larger than 15,000 characters so I just did 14,900 just to allow for a bit of room for error um and then I used a replace where I replaced any um actual quote with a literal quote right and that's because we're using quotes over here all right these double quotes um so if a quote is included inside the actual article over here this is going to run
into an error so you kind of want to make sure that doesn't happen by replace it with literal quotes um and then what I also do is I replace any new lines with any spaces and that's also because in a Json text request it needs to be a single string like a single long line um so I can show you what that actually looks like so if you come here and you go to input bundles uh that's basically what the request needs to look like it's one long line and any line breaks is replaced with
like a back sln for a line break uh you don't need to worry about that for now but basically if we look at the response from this we come to scores we can see on the overall this responded 0.995 that's less than one okay um remember this value range is between 0 and 100 there's only a 0.99 AI detection which is basically nothing right it's less than one so that means this is human generated then I have a condition here and this basically only allows to pass if the AI generated content is less than 10%
right so currently I have it set to 90 because remember I just uh allowed for some room for error but generally I would keep this as 10 and then I click save then what I do is I add a sleep module so if you go to add module you search for Sleep you want to use that one okay and I just set it to 60 seconds and the reason for that is uh sometimes with these deep seek um API calls there is some kind of I think it's rate limiting where it uh it just doesn't
return a response I don't know if it's cuz they're currently doing maintenance at the time I'm making this video but basically adding a delay between uh these deep seek modules kind of prevents that issue the next step is then we add in another deep seek module okay and what this does this is uh where it actually generates the script for the video that we are going to generate so you can see I named it generate hook and paragraph with deep seek if you want to know how to edit these names you just write click and
say rename and type it there okay but this is just a normal deep seek module and then once again I set a system prompt this is the prompt I provide okay I give it writing style instructions um I to aoll which is a social media AI automation specialist who specializes in writing post um so that's the reason I say AI automation specialist is because usually the topic of the title has got to do with AI automation based on the RSS feed we generated earlier then if I scroll down here in the user prompt you can
see our provide the article and then there's the dynamic variable to the final article okay the model I'm using here is deep seek chat okay we could have also just used the reasoning model but I just use the Deep seek chat uh you can experiment by trying chat GPT or Claude or um anthropic it's clae 3.5 Sonet model over here cuz that's also a very good model for writing I'm not entirely happy with deep seeks writing um it's not bad uh but I think clae is a little bit better maybe if I change this to
the reasoning model it would um give us a better script so when you're using the the model deep seek chat um then you can set the output to Json object so whenever you can use structured outputs you should that's just best practice and you can see at the bottom here I provided it with instructions saying respond with a Json dictionary blah blah blah and then I give the example of a hook and paragraph and then I tell it that it must only be 200 words uh and that's because we don't want the video to be
so long we only want it to be like a one or two minute video then once it's generated The Hook and the paragraph uh we then want to extract that hook and paragraph using the past Json so we enter in our output so if I come here and view the output you can see it's got a string with the hook and there's the hook ever wondered how much Ai and automation blah blah blah and then uh the paragraph there's the actual SC script that will be used in the actual video so we pass that we
are now able to extract The Hook and the paragraph to use them separately in later modules I then add another sleep uh 20 second over here just because we're about to use another deep seek module and what we do here is we basically fragment that original Deep seek paragraph So if I open this uh you can see I say Your Role is to take a text input and break it up into seven text fragments and then I give an example Json over here so we have text fragment number one where the first text fragment is
the hook and then a search term so what we do is I tell it over here also generate a relevant search term for video for a video on the topic of each text fragment the search term will be used to search the pixels.com site for a relevant video based on that text fragment all right so that's how we actually get the videos that play in the back background uh of the video so uh that comes over here all right this is where we use the pixels API to actually go and I think it's pixels I
don't know if it's pixels or pixels but anyway um if we look at the output response from this we can see we have text fragment number one all right and that's basically uh the first snippet of the video and then it'll have a video in the background based on this search term AI automation carbon emissions building so if we look at our video it basically chose uh how much Ai and automation it kind of chose this video of an AI playing chess it's kind of random it doesn't really fit so much I guess that's just
a limitation of relying fully on automation but I guess it's because it detected the word AI Automation and then that's why I kind of used that something to do with carbon emissions would have been better I guess I could always reprompt it to um be more explicit on like the Search terms to be something more relevant and visual based on that text fragment but anyway there's all the text fragments and all the Search terms once again we pass that so that we can um extract each one individually okay and now that we can access each
search term and text fragment separately we can then move on to actually getting the videos so if you're not familiar with what pixels is where is it this is it here it's basically a website which gives you royaltyfree stock photos and videos so if I come here to videos okay I can then search for some free videos so let's come back here and search that same term it generated over here which was AI automation carbon emissions so I'll show you exactly where it actually got that chess video from so if I search this okay that's
weird I don't oh I think it's cuz I need to apply filter or so we only want to look at the vertical the portrait ones okay and there's that chess video okay so we can see that we had got it and let me show you exactly how we use the API in this case to extract that so within the pixel's API documentation it guides you on how to actually set this up so the endpoint is api. pixels.com SLV videossearch okay and if you want the documentation you can just search pixels API and then you can
click on documentations and then under videos search for videos and there is the endpoint that we are using so you can see it's a get query and it takes in this search term which is the query in the orientation which is optional so I chose portrait because it's going to be short form portrait video content so if I come back here you can see there's the get method there's our endpoint then the authorization I added the header authorization and added in my API key I'll show you where to get that in a moment then in
the string query I have query and then I have the search term number one all right which got from the output of this past Json and then the orientation I set to Portrait right I'm thinking now uh I might not actually want to limit this to Portrait and that's because uh the landscape videos actually seemed to be more relevant right so if I come here back to all orientations these look more related to carbon emissions uh maybe not so much the these robot dog videos but these top three definitely are more relevant so I might
uh consider changing that to or just removing this parameter completely so what this will do is that will basically return I come here to the data you can see it basically provides a whole bunch of different URLs all right I think it provides actually all of them that's quite a lot but anyway what we then do is is we then pass that once again we use a pass Json module uh so that we can extract the actual videos or the URLs and then over here I use a a set variable module and what I'm doing
here is I'm basically taking the top five videos cuz usually the top five are the most relevant to the keyword that was searched then I shuffle them and I choose a random one and I only use that one in the video I mean what I could have done is I could have just chosen the first video but sometimes the AI will generate a search term that's not unique and then across all my videos I'm going to be having the same video content showing up so for example let's say the search term is something like AI
automation it's always going to use the same video whereas if I shuffle it it reduces the chance that I'm repeating videos great so you can see then the output of this would be just a single video and there is the URL so if I copy that here is that video what I then do is then I repeat this process for uh the search term number two and then for search term number three uh Etc and it then gets the URL for all seven videos for each of the seven text fragments that we generated in this
deep seek module I did say I was going to show you where to get this API key so to get your API key you want to go to pixels.com AI SL key and then you can copy the key you may be required to create an app before you can uh generate the key but just follow the onscreen instructions and then you'll be able to uh copy your key come here and then paste it in to the value for your authorization header the next step is we need to compile the video so we have all the
text fragments we have all the videos or the stock footage then what we need to do is we kind of need to put them all together and we then need to add a voice over we need to add subtitles we need to add transitions between all the videos and we do that using a software called Creator mate right so there is another one called Json to video uh but I found creat to be much better and it's also cheaper and you can generate more videos Creator mate is this software over here Creator mate.com you can
just come here and create a new account okay and then what you want to do is you want to make sure you click these three dots go to Project settings okay and you then want to enable 11 Labs over here 11 Labs is another software that we're going to be using for our text to speech let me show you 11 laabs so that's over here 11 labs. okay so you want to go there and you want to create an account I have included a link in the description to 11 Labs it is a affiliate link
I believe and then what you want to do is you want to come to your profile at the bottom and go to API keys and then you can create a new API key so click here give it a name and then you can copy the key just one thing to note you're most likely going to need a paid plan to use 11 Labs because there is a limitation so you can see there is a free trial but it only gives you 10,000 credits and that's how long it's only 10 minutes of text to speech per
month so that's only about what like five videos that you can have so I signed up to the Creator account yeah I have the Creator account and I can generate one 100 minutes of content so that's what that's about 50 videos if it's a or maybe 100 videos if it's 1 minute per video but if I do need to generate more content I'll then just upgrade to the pro uh or the scale plan also another really cool thing about 11 Labs is that you can use your own voice so if you come to voices over
here you can click on add a new voice click on professional voice clone and I'm in the process of doing this but basically make sure you read all these instructions click Start then you want to upload some high quality audio files um of yourself speaking I think it requires about 3 hours that's optimal you give yourself a description at some labels and then you create a professional voice and then in Creator mate you'll be able to actually choose your own voice as opposed to one of the standard voices provided by 11 Labs right if you're
wondering about pricing of the software they do have a free version but you can only create I think like um they give you 50 credits so you can see um on the paid version I have 2,000 credits it's $50 per month and they give you 2,000 credits so that's about 600 videos per month if like each video is one to 2 minutes long in high quality uh with the 50 credits it doesn't output a high quality video um I think it's like 320 pixels or something like that so it's not an HD video um and
that will use about uh three credits per video you generate whereas when you're using the paid version because it's outputting an HD video um it's going to be using about 17 to on average about 20 credits per video that it generates okay so you can see there's the resolution of the outputed videos but you can see when I was using the free version um it only used one credit but it was a very low resolution let me go show you how to actually generate these templates so you want to go to templates okay and this
is the one I'm using using but what you do is you click new and then you want to go start from scratch then you want to make sure you choose um uh the vertical one 9 by 16 all right that's the aspect ratio for short form video content and then click create template okay and you can then give it a name all right so my first template then what you want to do is you want to add in an AI voice over all right so there's the voice over this will be our 11 Labs you
can see the provider 11 Labs on the right hand side there you can also choose your voice over there um you can then click AI subtitles and then you can use this upload file to upload a video um and then you can make the video Dynamic uh there is a few extra settings you'd have to change so I'm just going to go to my um template Oh wrong one it's this one short automation so this basically how you to set it up you want to make sure you create a group you can just select these
uh click control on your keyboard right click and then um group and then it'll create a composition okay and then I also grouped so I have seven compositions one for each text fragments and um video then I also have a main composition all right so within your main composition you also want to um set these uh properties over here so you started at zero and the duration needs to be adjusted to the track within this right if I double click this you can see I've got all those compositions and within each of these you want
to this one starts at zero and the duration is auto just to track then the second one um starts at Auto which need to adjust to the track so whenever this one ends it needs to start this one and the duration must be adjust to track so basically as long as this video is that's how long it must be um so you can just go copy all of these settings and then when within each of these you can go copy all of these settings all right okay you can just pause the video and just go
copy those those settings all right start at fixed and then you can just um continue with the pattern for the other seven um compositions okay in terms of the properties for each of these so for the subtitles uh you can change how they look here you can change the color um so it gives you a whole lot of options on how to format that for the voice over uh make sure you have 11 Labs selected the model make sure you use 11 multilingual V2 that's the best one at the moment from 11 labs and then
the voice you can choose the voice from the dropdown um I don't know why the first one's Matilda that's supposed to be George me just go change that back you can choose uh any any voice you like if you had generated with your own voice it should show up um under these voices over here which would be your custom voice and then what you want to do is you want to make sure that this Dynamic module is checked all right so for the voice over Dynamic is checked and that's where we're going to be inputting
the text over here so this was just me when I um building this out I just used a static text who the chickens art and I was using a chicken video um but you want to select this and then you'll be able to pass in custom text snippet from make.com into create itate and I'll show you how to do that in a moment then for the video you also want to make sure Dynamic is checked so that you can pass in a dynamic video instead of using um a static video I did also add some
transitions over here so that it fades between the different videos so basically it fades out and Fades into the next one it just gives it more of a professional look okay but if I come back to make.com what you want to do is uh you want to use the Creator mate module so you just add module search Creator mate module there it is and the module you want to use is the render a template okay once you've added that in okay you will also need to connect to it so you need to click add and
then put in your API key from Creator mate so to get your API key click these settings go to Project settings then here under API key you can click to reveal and then you can copy this come back here paste it in there and then you will connect to your create mate account then you'd be able to choose your template ID from the dropdown there's the one we just created now my first template but this is the one I'm actually using the short automation uh and then here are all those fields remember when we selected
the dynamic property for the text and the video that's why it now allows us to add in a dynamic value for the first video and the first voice over so basically what you want to do is for the first voiceover you want to add text fragment number one and we got that remember from the output over here text fragment number one okay so that's what we entered over there and then for the video you want to use this static part of the URL pixels.com down/ video slash and then you want to add the ID of
the video so remember here the output of the video that it found it gives us an ID all right it also gives us the URL but we just want to reference the ID and by doing that it'll actually give us the actual video URL um over there so that's another format of the video URL without having the name inside it so you then repeat that process for the second video and the third video and the fourth video all the way down to the seventh video once this module runs and we look at the output here
you will will see that it generates this output URL this mp4 file and that is our actual video that it generated ever wondered how much Ai and all right and this is the URL we're going to be using later on so some modules in make.com allow you to just enter the URL to reference a video but others require the actual file the actual downloaded video and that's what we do in The Next Step all right so um we use a get a file module so if I come to add module search HTTP within here there's
a get a file module which downloads a file from a given URL so you want to use that module and if we look at the properties here all we do is pass in the URL from the Creator mate note when you hover over this it'll actually it'll Shimmer over the um module that it's referencing so that is the URL that we just outputed once we've done that um what I do is I like to back up that file in my Google Drive so just so that I have somewhere that I can go to actually see
all my videos all right cuz I do pay for all these videos through all these apis um so I don't want to just like lose those videos even though I am uploading them I still want to have them stored somewhere so I use a Google drive module to upload a file then you just uh select um your my drive you select the folder you want so just go to Google Drive create a new folder and then select this HTTP geta file which is referencing this module over here and then you can click save and it'll
then automatically back up that video for you so if you come to my Google Drive here's my folder AI generated shorts you can see it backs up all the files even though they all have the same name they are actually different um they are different videos after that I basically use another Google drive module to get the link that I use later on for my Google sheet sheets so the get a share link Google drive module what that does is you provide us input the file and the file is the file ID which is the
output from this module over here we look at the output here there's the file ID and that is the input into the get the link so this will give us the link to this Google drive file so we have file ID and then I just set the role to reader which means you can't edit and then the type is anyone can access it if you want stricter permissions you can choose uh one of these other ones and then click save the output of that would then be this share link so later on we're going to
be setting up this Google sheet where at ads a row and within here we're going to include the Google Drive link right so once we've got that share link we'll be able to store that in our Google Sheets that I'll show you later on in this video the next step is we want to count the amount of characters in the title and the reason for this is because uh some platforms like YouTube have a character limit in the title that you can add they also have character limits for descriptions but it's usually easier to hit
the character limit in the title CU it's much shorter so that's what we do in this module over here it's a set variable module I just gave it a name Title Character count and then what you do is you use the length function and then the title value from the RSS all right remember if I scroll all the way down here there's a title from our RSS feed um make sure it's inside these brackets and that will count the amount of characters inside that title then what we need to do is we need to make
sure that that title is less than the character limit which for YouTube it's 100 so if I scroll out here you're going to see we use a router okay so if I right click add module there's one called router okay what the router allows you to do is it allows you to run different processes in parallel all right so basically if you run everything linearly and one of them break the process breaks whereas if you're using a router it can run multiple processes um and if one of them break it doesn't affect the other one
and that's what we want cuz for some reason maybe the YouTube module might fail but then at least the video is still posted to Facebook LinkedIn Instagram and Tik Tok another thing that's important to note is when you're using a router the way these Run is it actually runs in order as you can see how it's highlighting it runs from first to last so you can right click and can order the roots and you can basically drag and drop these to basically set the order in which you want them to run the first one I
want to run is renaming the title so over here uh in the first Branch I have a condition and on the condition it only runs this if the Title Character count which we just counted in this module over here is greater than or equal to 100 cuz remember the character limit for YouTube's 100 so anything above 100 should be renamed so what I then do is I use deep seek to rename that title so I provide a prompt with the original title the context blah blah blah and then the prompt is to rewrite the title
to a new video title Which is less than 95 characters and the reason I say 95 is because the AI might respond with like let's say I say 100 it might respond with1 characters and that's because AI language models aren't good at accurately outputting an amount of characters so I just gave a buffer of about five characters if I find this runs into errors and it's still generating titles longer than 95 or larger than 100 I will then change this to like 90 or 80 or something like that then you can see I tell it
to return a Json where there's just a single item which is the new video title okay and I highlight the importance of the title having to be less than 95 characters over there all right in the user message I provide the video video title as well as the video transcript just for additional context so that if it need to rename the title completely at least it's got the context of what the um video is actually about I'm using the Deep seek chat I set the temperature to one just so that it's nice and creative and
once again we're using Json object because we want a structured output okay you could also do text but then it doesn't always guarantee the response would be Json although I did prompt it to try and do that all the time based on what I said over there all right uh once we've done that we use a pass Json once again to extract the video title and then over here we then use a set variable where we create a variable name and this quite important we call this shortened video title okay you can call that whatever
you want and then there is the new video title then in order to access this variable inside of these other uh branches over here you have to use a get variable module so I come here add module and I type in get variable this is a module you want to use and in the variable name right we would enter we would enter this variable name over here so you can see here it is the get variable there's the shortened video title you can see I basically use a get text in all of these branches and
I'll show you where I use that in a moment you'll also notice I have a whole bunch of sleep modules so I basically have have 10 seconds between each branch and that's just because of the rate limiting with the Deep seek modules so I just give it some time to breathe in between each generation uh then we have this upload a video so if I come to add a module and I search Facebook um and then uh upload a video here it is so that's the module I'm using and that uploads a video to my
Facebook page all right so to create a connection you need to click add and then you need to um sign in with Facebook and then once you signed in you'll be able to choose your page so here's my different Facebook pages that I have um so I have one with my own name and one with futurize so I select that one um the type we want to upload a video all right select a file this HTTP get a file that is referencing this get a file for the description over here what I did is I
used a language model or I used deep seek to actually generate a custom description for that Facebook video so if I open this up once again I have a role your Facebook social media expert who specializes at writing descriptions about and then that's the title give it all the instructions okay I even tell it to comment Ai and I'll message you the invite link to join our free futurized community there's all the content and then here's the user prompt and the content is says here is the transcript of the Facebook video cool The Hook and
the paragraph goes there I use the deeps model th000 tokens 0.3 temperature response format text then let me just show you if I come to the YouTube description uh so for the title I use the IF mty function and what the IF mty function does is it Returns value one if the value is not empty otherwise it Returns value to so you can see in this case a b um if a is not empty returns that one um else it returns B so if it's unknown or if it's an empty string it returns B so
in our case we have the shortened video title that we generated over here but sometimes it doesn't need to be shortened because it's short enough already so if it is shortened it uses the shortened video title else it uses the original title and then at least we know this time every single time it'll always be less than 100 characters the file we select our get a file and then you can choose your category of the video so if you have a YouTube channel you'll be familiar with this you can choose the category that your video
falls under so it makes it easier for the algorithm to categorize your content and then over here you can either post it so it immediately goes public or you can set it to unlisted or private um where you can then go later and upload it um or make it public based on if you approve it or not but because I'm building a fully automated system here um I sent it to public so that it's automatically public all right then I added a description over here similar concept with two fmts I enter the description if there's
no description it uses the shorten title if there's no shorten title it uses the actual title originally when you created YouTube shorts you kind of had to tell YouTube with # shorts that it is should be a short video and not just a normal video but I think based on the aspect ratio it's smart enough to detect if it should be a short or an actual video because if you go to your YouTube channel um and you go to YouTube Studio you'll notice that there's two separate sections for videos and shorts so here's shorts so
you can see it added them uh all over here all right so this is a brand new channel that's why there's no views or anything actually all my social medias even on my Instagram it's brand new Tik tok's brand new so we'll see how this is going to actually work back here next we have Linkin right so this publishes a LinkedIn video once again you set the title and the content visibility to public all right our Instagram reals once again okay so this part's a little bit tricky okay in order to set up your Instagram
reel um you have to sign in with Facebook okay so you click add um then when you click add it's going to give you the option to sign in with your Facebook account and what you have to do is within your Facebook account you have to go to your settings SL carbon emissions uh you want to go to settings and privacy go to settings then you want to scroll to linked accounts and then you want to basically link your Instagram so you click here um so you can see I've already connected my @ join futurize
Instagram account for you you you're going to have to link it basically just sign in with your Instagram through your Facebook uh and then once you've done that uh it will be accessible in this page drop down otherwise you won't be able to access it over here also another thing I think it only applies to Instagram business accounts I don't think personal account would be able to be linked it has to be a business account so you'd have to just in your Instagram settings you just need to go and change the the settings to be
a business account the same applies to Tik Tok as well it needs to be either Creator or a business Tik Tok account Anyway video URL so you can see the Instagram module doesn't require or doesn't take as input the actual f it takes us input the URL so there we pass in the URL coming from this module over here lastly we post to Tik Tok so you'll notice that this isn't a Tik Tok module and that's because there isn't any upload to Tik Tok modules in make.com so you'll see here if you go through all
of these there's nothing here that allows you to upload a video to Tik Tok so we are actually using a work around where what we do is we add a sheet we add a new road to a Google sheet that then triggers a zapier Automation and then within zapier it then triggers an action to a software called buffer and within buffer they allow you to schedule and automate and upload to a Tik Tok account via the API all right so it is quite complex um but at least with this system you will be able to
upload to Tik Tok so it's not actually too complicated but I'll briefly walk you through it basically you want to use an add AOW module in make so if I come here search sheets then you want to search for the one which says add a row okay and that'll add a row a new row to the bottom of a Google sheet then within here you just want to make sure you sign into your Google account okay I signed into to my Leon at futurize one then you want to select your drive select your spreadsheet select
your video sheet um and that in my case it was this one over here post to Tik Tok okay then uh this property is asking does your table contain headers uh this is a header over there so if you do include headers you want to set that to yes otherwise set it to no so in my case it's yes this is where we add in all the actual um data so we so I add in the date okay so I just format the date just so it's easier to read this is just for completeness you
don't actually need to add the date what is required is the actual URL so that's what I add there I also include the description we generated in the previous step for Tik Tok I also include the share link remember we generated that share link for Google Drive so that's just for my own reference uh I also then add in the description the share link the title and the shortened video title so basically this is what the result would look like the date the URL the description the the Google Drive Link the title and if there
is a shortened video title it would come into that cell over there okay now what we need to do is within zap here we need to create a new zap when a new row is added to the sheet so if you don't have a zapia account um you want to go to zapier.com create an account I'll include a link in the description for zapia and then you want to click this create button to create a new zap right you will be able to use the free version for this there it is tasks 100 tasks so
basically it should allow you to run this I think 100 times I think unless a trigger count as a task I don't think so so probably 100 times and then I created this zap over here called post Tik Tok video make trigger okay and for the trigger you want to connect Google Sheets all right you can just follow uh how I set it up here so you want to select your spreadsheet the actual worksheet within that spreadsheet and then the trigger column so you can choose any column I chose the video URL which basically basically
means whenever there's a new video URL over here it triggers this zap to run okay then for the actual task that gets run um we want to use the buffer task so you can just search for buffer and select the add to Q all right and buff is another software uh you can come to pricing over here so there is a free plan but you can only have 10 scheduled posts so basically I'm going to have to upgrade to a paid plan over here so yeah you might need to do that as well else you'll
only be able to post 10 Tik Tok videos a month uh at least it's not too expensive the monthly plan is $6 per month okay um and to have a fully automated Tik Tok account that's quite worth it in my opinion you want to basically sign in with your buffer account the event you want to add is add to Q okay and then for organization uh there'll only be one option which would be my organization make sure you select that one then you need to connect your channel Okay so within buffer uh if I log
in you'll need to create an account but CU I've already got an account it's taking me into the buffer dashboard then you can see I've connected my channel here you can also go to manage channels bottom left over here is where you can connect a channel so here's my join futurized Tik Tok account remember it has to be either business or Creator account for this to work going to click um add a new channel and then here's Tik Tok all right there's there also other options if you want to post to other softwares uh but
Tik tok's over there once you've connected it the next thing you want to do is once you've selected the channel um you want to add in the description and then for the actual video we can enter the video URL into that field there then you can also set the method to schedule and then for the schedule date and time you can literally just write in plain English in two minutes and it'll be able to interpret that to schedule the posting in 2 minutes so remember earlier when we ran this the Tik Tok video didn't show
immediately and that's because there's that 2-minute delay within buffer once you've done that you just want to make sure you turn your zap on all right you can see mine's toggled on over here and then it should be successfully connected to automatically post to Tik Tok from your make workflow final thoughts just remember in your RSS you want to right click click choose where to start make sure from now on it's selected and then just make sure that this trigger is set up to to anything on a regular interval as a reminder if you do
want to download this make automation you can simply join my free futurized community in the comments and I will include the file where you can come here and import the blueprints so the blueprint will be included as well as a much more detailed course of setting all of this up from scratch I do also have another video where I fully automate blog posting so if you want to watch that video you can check out the video showing on the screen right right now thank you so much for watching if you enjoyed this video please do
subscribe comment like the video all that good stuff and I will see you in the next video