in this video I'm going to show you how to fully automate AI generated videos and your own customized avatars using hen air table and make. com to create videos just like these and then we'll go through and build out an automation just like this from scratch all right so now let's talk about how this demo air table base works with haen and how that connects up with our make automation so we'll go through that example and then I'll actually help you build out a more simplified version that you can use today in your own automations and then you can use this a table base as inspiration for building your own solution so let's go ahead and start in air table I have a few different tables here in this table here scripts this is where we store all of our scripts we can generate those scripts automatically from two different places we can either record voice notes in slack and import those create a transcript and then generate a script or we can actually drop in a link to a Tik Tok video we'll download that video create the transcript and then generate the script from there and then it's in this column here where we can actually select which Avatar we want to generate our video from and by that I mean we can upload different avatars they can be vertical videos they can be horizontal they can be wearing different clothes here I'm wearing a polo shirt and then I've got a sweater on this video here so it allows me to create a wide variety of videos to select from but before we do that let me show you how we generate the transcript and then also the script so this automation here allows us to import our voice notes in from slack I'll show you how to build this but it basically watches for new messages downloads the file trans describes that file into text and then writes that script into air table and so you can see here we have that file we have that transcript and then once any one of these scripts actually has a transcript then there's another automation that we run right here that will take that transcript convert it into an actual video script and then we'll write it back to air table now for generating that script from a Tik Tok then when we put in a Tik Tok URL here it will actually execute this automation where we use appify to actually download that Tik Tok then we download that file transcribe it and then we write that transcript back to air table and just like when we transcript our own voice from slack and again quickly to demonstrate how that works I have a channel here called speak to social I recorded my own audio notes into that channel to get the transcript to generate the script the same thing's happening here except that we download the Tik Tok we get the transcript and then it will execute this automation here to take that transcript and generate the script and then write it back to air table just like this so it doesn't really matter what that Source input is we get a transcript and we create the script and then we select the Avatar and so now if I were to select the Avatar we'll go ahead and pick this Avatar here vertical Steven in business attire that's going to trigger the automation it's going to send a request to hey Jen once Heen actually processes that video it's going to send a web hook to this trigger here in air table in which case we can actually save that new video to the video table here where it references the script but gives us access to that hey Jen video so this video was created a few minutes ago but the one I triggered here should be generated in just a few minutes but if I were to come to videos here I could open this up I could watch the video in this video I'm going to share a and of course I could download it and then I have these other tabs here this is for our avatars I can add in all the avatars that we've uploaded into the haen system so that when we are generating videos from the script we can access those here this is going to give us a complete list so if I wanted to generate the same script in a different Avatar instead of doing the vertical Steven I could also do the horizontal Steven and now that's going to trigger a nether automation we were to come back to make we can see here it just issued two new requests for videos and so in just a few minutes we should see a video come through here and so you can actually see here that we have a new request coming in from hey Jen we can actually see the response from their service here in the body looks like the video was a success and they give you that resource so in this automation here where able to create that Row in our videos table and here we have that row here we can take a look and we can play it out in this video I'm going to share a gamechanging tip on how you can take your YouTube so just by recording some raw audio into your own slack Channel importing that into air table or pulling down a Tik Tok and transcribing it we're able to create that script and generate that video now if you want access to this air table template and the make blueprint so you can simply import the blueprint and have that automation just pop right up make sure to jump into the no code Architects Community we have a make an air table course and an automation Vault that includes the automations that you're seeing today and a bunch of others all right so now let's get into the actual build of this automation you are going to need a slack account so you can get this for free you don't have to have a paid account I went and created a new workspace and I created a channel here called speak to Social and then I simply went into that channel and as myself the the only member of this group I recorded I think about a 45 second actually it looks like it's about a minute long I just simply off the top of my head I started talking about one of the biggest things that I have learned when creating YouTube videos and I didn't spend much time trying to script this out I just from the top of my head and I meandered around a little bit it's really not important chat GPT will clean up your thoughts later but you do need to have this workpace a channel setup and a voice note to import into your make automation you're also going to need a hey J account I believe it might be possible to have a free account and use the API in that case it usually puts a watermark on your video but I'm not 100% sure on that so make sure to check out their pricing and keep in mind they have two different types of pricing models one for when you are using the interface so that is when you are creating videos from within the interface and then they also have a nether pricing plan when you are using the API so it does look like they have a free version here that gives you 10 free credits but it is going to include that Watermark so you need to create your haen account you need to come down here to avatars and you'll need to create that new Avatar once you have a avatar then you can also upload additional looks and different formats and wearing different clothes and you will need to upload those and let them process because we will need these IDs here for the API and you'll also need to create a new air table base from scratch here I have a brand new base that I'm going to start working through in this video and then you'll also want to have a make automation ready to go where you can start a new scenario it does take 10 or 15 minutes to process your avatars when you upload your video so make sure to get that process started now so that when we get to it later in the automations it'll be ready to go so again first things first you want to have your slack workspace set up you want to have your channel here I'm using a private Channel and you want to record some audio here that includes your thoughts on a specific topic and then once you have that we can come back to our make Automation and then we can go ahead and add a new module in this case I'm going to look for slack I'm going to go ahead here and show more so I'm going to come here I'm going to go to watch private Channel messages I I already have a connection created for this particular workspace if you don't already have a connection to that workspace you'll need to add that here next I'm going to come to input method I'm going to go ahead and leave it as select from a list it's going to give me a list of private channels and then I'm going to go ahead and select speak to social which is the channel That I put my voice notes in you can go ahead and leave the limit at two now with these types of triggers when you turn them on they're always looking for new content so if you recorded this previously and you run this automation over and over it's not going to continually find the audio notes when you're testing you'll want to come to choose manually which will actually give you a list of previously sent messages you can select that audio note and then you can run the automation looks like there was some sort of error but it doesn't look like anything's here I'm going to go ahead and resave that error one away now I'll go ahead and run it so now it's finding that message here and we can see that there is a file and we have a audio file from the channel which is this audio here now again if I wanted to run and test this again I would need to come back here I would choose where to start choose manually and then I could choose that audio note over and over again for testing and building out this automation once I'm done with this Automation and I turn it on then this trigger will always find the new messages and I won't have to use this choose where to start method so from here we're going to go ahead and continue on we need to now download that audio file so that we can transcribe it in a module here so right here we are going to go ahead and download that audio so I'm going to go ahead and add another step here and again we're going to use the slack module we are going to download a file we'll use the same connection we did before for the private download URL we're going to use the URL from Step number one come over here to files URL private download and we can go ahead and click okay now I'm going to add a filter here as well so that we only process the messages that that have a audio file so I'm going to come down here and I'm going to add a condition on whether this URL private download exists and we can change that here to exist so now it's only going to get past the step when it's an actual audio file that we can download otherwise it's going to skip it I'll go ahead and click okay and so what I mean by that is if I were to come here and type a message then it's going to skip that message it's not going to download anything because it can't it's not an audio message and so it'll just ignore it so periodically make sure to save your Automation and again just for testing I'm going to come here I'm going to go choose where to start choose manually I'm going to go ahead and select that previous message I have the audio message I'll run once and now you can see it's able to download that it's able to pass the filter and then we were able to download it and now we have the data that we can use so the next thing we need to do is we need to actually transcribe that audio file so I'm going to go ahead and use chat GPT whisper we'll create a transcription if you don't already have a connection to open AI then you'll need to create that connection I'm going to go ahead and use my existing one and for the file to transcribe I'm going to go ahead and use the file that we got in this previous step we don't need to add a prompt we can leave all of this as is we can go ahead and click okay looks like it's got another error there saying that values are empty I'll double check that they look okay so I'll go ahead and click okay again sometimes that happens just have to go through that process I'm just going to assume that works I'm going to go ahead and move forward what I'm going to do here is to simplify our automation a bit from the way I did it in the demonstration what I'm going to do is I'm going to download that file I'm going to transcribe it I'm going to generate the script and actually use it all in a single automation that's just going to make it a little bit easier to build out and then you can customize it as you see fit so next up I'm going to come here and I'm going to use chat GPT I'm going to create a completion again I'm going to use the existing connection that I already have and for the model I'm going to go ahead and use GPT 40 I'm going to go ahead and add a new message for the role I'm going to use user for the text content I'm going to go ahead and paste the transcript from the previous step just like that into the prompt hit enter a couple times I'm going to jump back to this automation here and just grab the prompt that I was using before here this prompt says read the transcript above write a 45 second video script for a social media video only include the script do not include anything else only the pure script that can be read aloud do not include seen instructions or suggestions about the video and how it should be filmed only include the script that can be read start with in this video so let's just take that let's drop it right here and then we can just go ahead and scroll down go ahead and click okay now from here let's go ahead and test everything I'm going to save it let's come back to slack let's choose where to start choose manually grab that audio note once again click okay and then we'll go ahead and run the automation once this should do the transcription and then we should take that transcription to actually generate the video script so now we have an actual video script that was taken from the audio notes that was recorded from slack in this video I'm going to share the secret that helped me Skyrocket my YouTube channel and business growth on and on so now we've got our script so now the only thing we need to do now is to call hey Jen have it create that video and then when it's done we'll have it send that request back into air table so we can write all the information here so before I actually modify this table let's actually just see what the data that comes back from haen actually looks like so let's go ahead and just start in the automations here I am going to add add a trigger and the trigger is going to be when web hook received so now we have a web hook here that can accept the response from haen but before we can actually use this web hook we have to register it with hen so I'll show you how to do that now now if you go to the haen documentation for their API I'm at docs. hen.
com reference add a web hook endpoint what they have here is a list of all of the different API endpoints that they have available to use and it's actually more than just a help page that shows you all of the different endpoints you can actually use this help screen to test out the endpoints so when it comes to creating these web hooks something that we only do one time sometimes it's just easier to take care of it here on their documentation page where everything's set up all you need to do is add your API key right here in this header section I just deleted mine you'll notice that the X API key goes right here so if you come back to haen here and you select on your account and you you go to subscriptions you will see your API key here you can copy that you can come back to the haen documentation you can come down to add a web hook endpoint add that API key right here then you also need to scroll down here and you need to add the URL that is coming from Air table so we'll come back here to air table we'll grab this web hook here we'll copy it we'll come back here to the documentation I'm going to add that URL right here and what you can see it's actually building the request right here and then we can simply say try it I'll click that now and we have a success I can actually come here to web hooks list web hook endpoints this is going to allow me to make a call that lists all the web hooks that I have registered in add a web hook endpoint so I'm going to go ahead and try that it's going to remember my API key and keep that here I'm going to go ahead and try and now you can see I actually have two web hooks that have been registered because I already had one and I just added a new one and because I don't need two of them I can simply come here to the m Point ID I can grab that I can copy it I can come down here to delete a web hook endpoint again it's going to keep that API key here but I can simply take that endpoint ID I can add it here to the delete a web hook endpoint and I can try it and we have another success so if I were to come back here to list web hook endpoints and try it again now I'm back to just having one registered web hook and so once you've registered that web hook that came from Air table into haen once we request a new video to be created once that video is done it will send a request to this web hook now if you're enjoying this video make sure to like And subscribe to the channel it tells me what type of content you want more of all right so now that we've registered that web hook the only thing that we need to do now is to make the call to hey Jen to generate that video so that it can trigger this web hook and then we can finish out our a table automation so I'm going to jump back to make here and I'm going to add a another module in this case I'm going to add the HTTP module we're going to make a request for the URL you can go ahead and copy and paste what I put here for the method we're going to go ahead and use a post for the header here I'm going to add an item we'll type accept application SL Json then we'll add another header here called X API key again you'll come back to hayen and grab your key and I'll add that here next up we're going to go ahead and set the body type to raw and then we can select content type Json application Json and then I'm going to copy this request content in from a previous example I'm going to go ahead and reposition this try to make it easier to read now you do see here we have some make. com automation placeholders that are getting copied in from my previous example so for all of these we're going to have to delete those and add in our own one other thing to keep in mind as well when you copy something like this into this request content sometimes spaces and new lines will cause this to break and when you run it you'll get a 400 error if you run into that and I might myself when I execute this so we'll see but if you run into that the best thing to do is just to remove all of the enters and all of the spaces from this content so it just looks like a Big Blob of characters but it's definitely easier to type out in this format like this so I'm going to come down here we have the video inputs and we have the Avatar ID I'm going to go ahead and remove this here also and just to make this easier I'll put this text in the YouTube description below so that you can copy and paste it directly into this automation but for the Avatar ID I need to jump back to hey Jen and then I'm going to pick one of these avatars here I'm going to go with this one this is camerab bmov so I'll come down to these three dots I'll get avatar look ID then I'll come back to the automation here and then I'll add that right here to the Avatar ID make sure you drop that right in between the two quotes now we need to pass in the script so I'm going to erase the previous placeholder that was there and then I'm going to use the script that was generated from the previous step here in the result again make sure you get that right in between the two quotes and now for the Avatar voice ID I'm going to remove this placeholder I'm going to come back to hey Jen this is camera B so I'm going to go to the AI voices we have one for camera B here I'm going to go to the three dots get voice ID come back here and I'm going to drop that here in between these two quotes and then for the dimensions this particular Avatar camera B is a horizontal video so in in the automation here I'm going to put Dimensions width is 1920 and the height I'm going to remove the placeholders is 1080 now when it comes to the Callback ID and the title the Callback ID is used as a reference point you can pass pen an ID and when it's done processing that video it will send that ID back to you so that you can reference which video they are sending you a response from in this particular use case the way we've set this up we don't really need the call back ID that's more important in a more complicated solution like this where we already have an existing row that is generating the video and once the video is done we want to relink it with this existing Row in this automation where we're creating the video on the fly so we don't need the Callback ID I'm just going to go ahead and pass something arbitrary I'm going to go ahead and use this system fingerprint that came back from chat GPT I'm going to go ahead and put that right in the quotes there and then for the title I'm going to go ahead and use the system fingerprint as well again I'll drop that right here in between the quotes and then in your particular solution you can go ahead and expand on those as needed so now that I've gone through and replaced all of the placeholders we should be good we've got the Avatar ID we've got the voice ID we've got the script we've got the dimensions and we have the Callback ID and the title so I'm going to go ahead and click okay I'm going to go ahead and click save I'm going to come back to step number one I'm going to go choose where to start choose manually we'll go ahead and click those voice notes we'll click okay and let's go ahead and run this now we're creating the transcription now we're creating the video script now we're sending it to hey Jen so let's take a look at our response here we got a code 200 that is a good sign that means it was successful so now all we're waiting for now is for that video to complete and when it's done it should send a request back to our air table web hook so we'll just wait for that to process it could take up to 5 to 10 minutes all right so I'm waiting here for that web hook to Fire and I noticed that it wasn't coming back and I started to remember that when I set up the web hook in the hey genen documentation I added the new web hook and then I deleted the extra one and the one I deleted happened to be the new web hook that I created for this demo so I went back to the haen documentation and I added this particular air table web hook back into my configuration and I'm just showing you this because it's good to have these debugging skills I'm going to go here and just list my web hooks again I'm going to have two of them and it's the second one that is the most important I believe I'm going to look at the URL here I'm going to scroll over this is ending in v4n and this is ending in 3jt so actually if I come back here it looks like this is the web hook that I want so then the one I want to delete is actually this endpoint right here I'll take it come back here to the delete of web hook endpoint I'm going to add that endpoint here I'll go ahead and try it if I come back to list web Hooks and try it again now we'll just see one and we have the web hook that we need which is this web hook here in our demo so now I'm going to come back to our make automation I'm just going to run this once more again I just showed you that to show you how things do happen and you need to be able to navigate those situations and find your way out so we'll go ahead and select that audio note again I'll run this from scratch downloads the file creates the transcript creates the script and then we'll call hey Jen again we'll check out hey Jen looks like it's a 200 I believe if we come to the haen UI we should be able to refresh our projects and see the video being generated so it's 140 and so we can see that the API video is processing so once that's done this time it should properly trigger this web hook all right so now that video has completed sometimes it does take a few seconds to respond you'll notice that it just came through so when that request hits this URL right here you should see it right away you can also test the trigger here but it should pop up on its own assuming the video creation was success and you've set up the web hook URL correctly and so now what we have to do is process this information here in the body so I'm going to go ahead and expand it to see what's in there so we have event type Avatar video success and then we have some more information here in the event data so I'm going to go ahead and open that up it looks like we have a video ID a URL and a callback ID so then all we have to do is come over to air table I'm going to go ahead and just rename these things accordingly video ID we we go ahead and save it so we'll go ahead and add a URL here as well I'll make it a URL just like that we'll save it we'll also save the call back ID we'll change it from user to single line text we'll go ahead and save that and then we can also add an attachment to actually download the URL automatically so we'll change this to attachment we'll call it the actual video we'll save it we'll actually rename this table to hey gen videos save it and then we'll change the base name to hey genen video generator and so now we can just come back to our automation we'll come to this second action here we'll add an action we'll create a record and for the table we're going to select the haen videos we're going to add the fields video ID call back ID URL and video for the video ID we'll use the body event data video ID for the Callback ID We'll add the body event data and the Callback ID and for the URL We'll add the URL from the body event data URL and then for the video we can simply pass the URL again to this attachment field which will make it download and save it to air table URL and we can actually come down here to run as configured scroll down run test and then if we jump back to to air table we should actually see it create that row here I'll delete the test records and so now we have the video and it it creates a cool little thumbnail for us as well now I did notice here when I was running my test that it was just giving me a gif here so it looks like as part of the process of their automations is that there are several different things that will trigger when you actually generate a video and one of them is just an automated GIF like this so then what I noticed was that I came back to the autom and just a few seconds later another automation triggered into the web hook so now I'm taking a look at the body here and now this is an Avatar video success if you went back and looked at the earlier spot in the video it said Avatar video GIF success which I didn't notice I did read it but I didn't notice it and so now it's actually passing us the video and we can come in here and we're seeing the video ID the URL and the Callback so what we probably want to do here is instead of just writing every single row that comes into air table we're only going to save and create a row when it is Avatar video success so what we can do here is we can add some conditional logic and we'll go ahead and update the condition here based off of the body and the event type in this case we're going to type Avatar video. suuccess and we can change this to is Avatar uncore video do success what will happen is is it'll only create this row when we get back the web hook for the actual video being successfully completed not just the animated gif so it does show you that their API is able to send you various different types of assets that you may be able to use you might actually have a use Case For That animated gif I do believe also when you set up the web hooks if I scroll down here to add a web hook you can actually use this here when you set up the web hook this events body parameter to only issue a web hook under certain circumstances so if I open this up here this is another endpoint that will give us a list of the web hook events if I go ahead and try that it's going to show us all of the different events we can trigger on and so then when we add the endpoint if we only wanted to trigger off a video success and not a video GIF then when we add that web hook here we can first add the URL and then we can add that string here and now when we add this web hook it's only going to fire under this circumstance and then back in the aor table automation once you have this configured I'm going to go ahead and run this on the new data so we'll test the condition so that failed it looks like because I have a spelling issue here I'm going to come back to the condition here that we set up previously I'm going to edit that condition I'm going to update this to success add the other s then we'll go ahead and test the condition again so so again we're testing the web hook that had the video success not the GIF now it's successful so now we should be able to create this inner row with the data run is configured run test jump back to the data here should see a new row this time it's the actual video and if I click on this here it should show me the video or it's allowing me to download it or I can watch it directly here in air table you can play it in this video I'm going to share the secret to skyrocketing your YouTube channel once you've done that and you've tested it you can come back here you can turn on this automation of course you can come back to your make.