Transcript for:
Automating Video Creation with AI Tools

in this video I'll show you how to automate mid journey and the new Luma Labs video generator to build beautiful faceless videos for Tik Tok or YouTube we'll use air table to build out specific scenes for your movie that let us generate beautiful images like this with all of the animation including animation like this where you're just literally driving down the road and then finally after all of our scenes are complete we'll take each of those scenes and generate a final movie just like this I'll help you build the entire a table database and the automation step by step from scratch so that by the end of this video you'll have a fully functional system just like this now let me show you how this system works first in this first tab here this is where we Define the movies that we want to build this is going to be a collection of scenes that we build from our mid journey and Luma Labs videos here you can see this movie that I'm building is 1080 by1 1920 a 9x6 aspect ratio so this is going to be a Tik Tok or a YouTube short you build out each of these scenes in the scenes table we've got a status we Define our image prompt here and then we can also use mid Journey CF directive to provide a sample image so that all of our video images come out the same across all of our different scenes that way once we merge all of our video files together into a single movie each of the images and videos that we create will have a similar style and will make for a better end result when we merge them all into a single video so you can simply add in a new scene for each movie you can leave the status blank and you can add in your image prompt show me the Los Angeles City View with all the skyscrapers and then again I can use the same CF image so that the images that I produce will be similar to the others then I can simply tell the system to go ahead and generate the four images that I can then open up and look at and then select from that's going to call this backend automation here which is going to call the go API the status is going to get updated to generating images once those images are ready they'll be automatically uploaded into air table so that we can open them up and take a look and then from here we can select the image that we want to upscale they all look pretty cool but I'm just going to pick this one here so I would just move the image selector to number two and then I would go ahead and tell the system to upscale the image that's going to trigger the next Auto here which will upscale the image then that image will come back into air table where we can review it looks pretty cool and then we can go ahead and added an image prompt based on what we see in the image quickly move forward across the city landscape like a drone was recording footage and then I can go ahead and tell it to generate the video that's going to call this automation here which is going to generate the video on Luma Labs it's going to Loop through here and wait till the video is ready and then we'll see that populate here in air table now we can see that the automation is finished and now we have the new video in air table let's go ahead and check it out this is going to be the first time I watch it myself pretty amazing the way it renders like that of course you could always go back and change your scenes and upscale new images and change your prompts to get the video that you want but once you're ready you can jump over to the movie table and then you can go ahead and generate the final movie that's going to call this final automation down here which calls Json to video to merge all the videos into one movie and once that process is done it's going to upload that video into air table and then from here we can go ahead and watch the movie you can now see it's 20 seconds long because we merg those 5sec videos together into one we can skip through here and see the animations all as one single movie so you may have seen my other faceless video recently in this particular video I really wanted to focus in on the quality using mid journey and Luma labs and using the CF directive so I could provide a sample image to keep all of the video output the same and consistent throughout the video and also being able to more carefully craft the prompts and being able to select from a few different images and deciding which one I upscale to and then also being able to define the actual video prompts to provide the animation that I wanted in each video so now let's go ahead and start the build I'm going to help you build out this air table with all of the columns and the automation step by step we'll test each phase and then finally pull it all together into a final movie now if you want access to the air table database so you don't have to build it and also the make.com blueprint so you can simply import the blueprint and have the automations appear just like that make sure to jump into my new community the no code Architects not only can you get access to a bunch of templates today's video including the air table base and the make.com blueprints you can get TCH support and get all your issues solved and join an active community of people just like you all right so to get started I'm going to go ahead and create a new air table database you want to pick your workspace start from scratch you can go ahead and close this window here I'm going to go ahead and rename this base to Mid journey and Luma Labs I'll change the color and I'm going to go ahead and rename this table to movies I'll rename this table table here to movie name click save and I'm going to delete these default columns and just start from scratch I could modify them but this is easier then I'm going to create a number field no decimal places no thousands separator we'll call this width create field then I'll go ahead and duplicate it rename it to height so we have the width and height of our final movie go ahead and click save then I'm going to create another field called aspect ratio this will be a formula for the formula I'm going to copy this in from my other air table database you can go ahead and pause this and copy it just as it is it's essentially using the height and width to calculate a overall aspect ratio that we can use in our automations go ahead and create the field it's going to say invalid Dimensions until we add that I'll go ahead right now and start to put that in we're going to make a vertical video so the aspect ratio will be 9 by 16 and I'm going to call this movie the LA Story I'm going to go ahead and delete these two rows because we won't be needing them then I'll continue on I'm going to add a link to another record I'm going to name the field scenes then I'm going to go ahead and create a new table I'm going to name the new table scenes as well and I'm going to allow linking to multiple records I'm going to go ahead and create the field now I'm going to jump over to the scenes table I'm going to hide this column here we won't need to see that make sure you don't delete it then I'm going to rename this column to scene name click save and now I'm going to go ahead and finish out this table and then come back to the movies table I'm going to rename this view to movie scenes I'm going to go ahead and add another another column I'm going to call it record ID I'm going to scroll down to formula going to type wreck it's going to come up here record ID all you have to do is finalize the parentheses create field I'm going to go ahead and hide that field create a new column I'm going to call this image prompt this will be a long text create field next up I'm going to add the CF link type CF and then I'll go ahead and select URL create field going to go ahead and add a another formula this is going to be called final image prompt going to pick a formula I'm going to copy this in from my previous demo you can pause the video copy it just as is what this is going to do is it's going to take our image prompt and include the CF link if we added it in this column here go ahead and create the field now I'm going to go ahead and add another column going to call this image go this is going to be a checkbox create field then I'm going to go ahead and add another column images task ID single line text go ahead and create the field now I'm going to create another column images this is going to be an attachment create field go ahead and add another column this is going to be the image select door single select we're going to add four options 1 2 3 and four go ahead and create the field for now I'm going to go ahead and hide the final image prompt we don't need to see it we also don't need to see the images task ID I'm going to hide that now as well next up I'm going to add another field upscale go this will be a checkbox create field I put an exclamation here I'm going to do the same back here save field then I'm going to add another field upscale task ID single line text create field going to go ahead and hide this column we don't need to see it create another column upscale image we'll make this an attachment create field next up going to add another column this is going to be the video prompt we'll make this a long text create field add a new column video go exclamation mark checkbox create field almost done I'm going to create another field this is the Luma Labs task ID single line text create field go ahead and add another column video attachment create field actually I'm going to come up to the hidden Fields here and I'm going to reenable the movies column most likely going to be here back at the beginning and then I'm going to go up to this carrot here I'm going to add lookup Fields then I'm going to go ahead and enable the width height and aspect ratio add those fields I'm going to go ahead and hide the movie again and then I'm going to hide these fields as well and now to finalize the scenes here I'm going to go ahead and add a filter add a condition change the condition to where movies is not empty and then I'm going to group it by movies I'm also going to unhide this one more time and because a scene can only be connected to one movie I'm going to change it from movies to movie and I'm going to disable the allow linking to multiple records go ahead and confirm that change and then I'll go ahead and hide this one last time now I'm going to duplicate this view here and then I'm going to rename this to Orphan scenes I'm going to disable the group and then I'm going to to reverse the filter to is empty and all that's going to do is separate all of our scenes from scenes that are connected to a movie in our movie table and scenes that are not yet connected to an actual movie in our movie table now I'm just going to jump back to the movies table and finish everything out we needed those columns in the scenes to finish our movies so now I'm going to come up to this carrot I'm going to add lookup Fields I'm going to add video I'm going to add that field I'm going to rename it from video to videos I'm going to go ahead and click save now I'm going to add another column movie go this will be a checkbox create field now I'm going to add one more column movie this is going to be an attachment create field and then I'm going to also create one last column record ID I always add these even if I don't use them just so I can reference them if I need it this is going to be a formula again I can type wreck it's going to come up Below close the parentheses and create field that just gives me the unique ID of this Row in air table in case I need to use it in automation I'm going to go ahead and hide this column and then I'm going to rename this view to movies and now we have our aor table base built if we made any mistakes we'll correct it as we build out the automations and if you're finding this video valuable make sure to like And subscribe to the channel it tells me what type of content you want more of so now before we can build out this automation step by step we do need to fill out a bit more information in our a table database so that we have some scenes to actually generate so I'm going to jump over to the scenes table I'm going to jump to the orphans and here I'm actually going to enable the movie column here I'm going to create a new row I'm going to call this freeway number one and then I'm going to go ahead and add it to our La story now that it has a movie it's going to jump over to the movie scenes and now it's going to group all of our scenes that we've got for our LA Story here and now I'm just going to copy over the values that I had in my other demo for our presentation here so for the image prompt I'm going to go ahead and cut and paste what I had in my demo I'm going to come over here to the row height and go to extra tall so it's a lot easier to read here I want to create an ultra realistic image of Los Angeles and the freeway system up close on the 110 freeway with a bunch of cars you can pause this and copy if you'd like and now I am noticing that there was one column that we forgot to create so I'm going to come up to this carrot here I'm going to insert to the left I'm going to type status I'm going to go with a single select now I'm going to add a few different options here generating images dot dot dot generating upscale dot dot dot generating video dot dot dot and video completed I'm going to make all of these red because that's going to be statuses where things are processing and then I'll leave this green for done go ahead and create that field then I'm going to go ahead and move this bar just to the right of that field so the status is always next to the scene name and now we can continue I'm going to go ahead and use my own CF image link here for these links they do need to be public so that mid Journey can access them and use them when creating your images I used this site here which allowed me to update a image image for free and when you click on it it pops right up and this image is going to provide the styling and feel to Mid Journey when we actually process this image prompt now this is all we need for the next step of the automation so now I'm going to jump over to make I'm going to create a new scenario and then for the trigger I'm going to use a web hook custom web hook we're going to go ahead and create that web hook go ahead and click save it's going to generate that remote URL we'll come back and grab that but make sure you click okay so that everything saves click save then I'll go ahead and rename my automation air table to API MJ and Luma Labs I'll go ahead and save everything now I need to jump back to air table and create a trigger so that when I hit this checkbox it will call this remote web hook I'm going to come up here to automations for this automation I'm going to go ahead and call it generate image going to add a trigger when a record matches conditions the table will be the scenes table the condition will be when the image prompt is not empty then we'll add another condition and the image go checkbox is checked now if I jump back to data here and check this and then jump back to the automations we should be able to choose a record and that should pop right up let's go ahead and select that now next up we need to use a script I'm going to go ahead and clear this out here and copy and paste in what I have for my demo you can go ahead and pause the video and copy this just like I have it make sure to pay attention to the case of each of these different letters it matters like here in and record ID and web hook URL now we need to add three variables to the left side here add variable name record ID again make sure you pay attention to the case for the value go ahead and click on this box and then hit the record ID go ahead and add another variable here we're going to type in web hook URL again pay attention to the case and then for the value we're going to jump back over to make we're going to jump into our web hook and we're going to copy address to clipboard jump back to air table and drop that value right here now we're going to add one more variable name is action and the value is generate images that's all we need to do here we can go ahead and finish editing now we need to add one more step which is to update the record and here we're going to select the table again scenes and the record ID is going to be the record from the trigger so go ahead and click this blue box here is the record from the original trigger and we're just going to select This Record ID and then for the fields we're going to update go ahead and choose Fields we're going to scroll down to the status and we're going to update the status to generating images and we'll choose one more field and we will look for the image go checkbox and we will simply uncheck it and we do that so that once we check it it'll call the remote web hook but then it will uncheck so we can call it again later so I'm going to jump back to the automation I'm going to go to the Run script here now before I test this action I'm going to jump over to make.com and I'm going to go ahead and run this module once so that it's waiting for a new request going to jump over to air table going to test that action jump back back to make you should see that come through if not go back through the video and double check your work make sure you're passing everything into this script properly including the web Hook and the actions now from here I'm going to go ahead and add a router going to use the flow control router we're ultimately going to have four paths but we'll just work on one for now the first thing we're going to need to do is load up the record ID that we sent from this web hook so I'm going to go ahead here and use an air table module I'm going to go ahead and get the record we'll need to create a new connection to our new air table base add connection connection type is ooth I'm going to rename this to Luma demo save it's going to ask us to create a connection to our new base add base I'll go ahead and type Luma going to pick the new base that I'm using in this specific demo Grant access now I'll be able to select the base mid journey and Luma labs and for the table I'm going to pick scenes and for record ID I'm going to use the record from our web hook record ID then I can go ahead and click okay now I am going to add a filter here we're going to B that off of the action from this web hook the action is right there where the text is equal to generate images go ahead and click okay next up I'm going to add an HTTP module we're going to make a request for the URL we're going to use this URL go ahead and pause the video and copy it or jump into my new community for the entire automation with everything already installed go ahead and change the method to post then we're going to need to add a header for the name you can type X API key now to get an API key you going to need to go to go api.ai and you're going to need to create an account by going to the dashboard to create a new account you will need to create a GitHub account you can go ahead and log in it's going to take you to that page where you can also create an account if you do not have one now keep in mind this is not an official API from mid Journey so you want to make sure you read all the terms and conditions before you proceed and order to use the mid Journey API you will need a developer account and you will need to add some credits to your account as well you can do that by going to the billing page and making a manual payment and then finally to get your API key you just go to my API keys and then you'll be able to make that API key and copy and paste it here just like I'm doing here then you'll continue forward for body type go ahead and pick raw for content type you'll pick Json and for the request type I'm going to go ahead and paste this in from my previous demo you can pause the video and copy it I have to correct these placeholders because in the copy paste they broke so for the prompt I'm going to go right in between these quotes and use the final image prompt and for the aspect ratio I'm going to remove the broken placeholder and go right in between the quotes and then I will expand the aspect ratio and use this inner value here one and now next up we need to create another automation inside air table going to jump back to the automations I'm going to come here and create two different sections one for triggers and this is where we're going to drop in all of our automations that trigger make.com and then I'm going to create another section for web Hooks and this is where we're going to store all the automations where we make a request to an an external API and where they call our web hook to return our image to us so after this web Hook is called and it is successful they're going to generate the image and then once it's ready they are going to call this web hook with the information about our new image and then we'll be able to accept that request and write it back into this attachments field here so I'm going to go ahead and create a new automation I'm going to call this the images web hook I'm going to add a new trigger when web Hook is received it's going to give us this web hook right here you can go ahead and click copy and we can come back to make.com and we can drop this into our web hook endpoint right in between these double quotes here once you have your web hook in here you also want to come down here to parse response yes and click okay and now the only thing left to do is to update our air table row with the image task ID from go API we'll go ahead and add another module in this case we'll use air table update record for our connection we're going to use the one we previously made in this step here you will need to update the permissions go ahead and click continue just like you did before add the base Luma and make sure you pick the air table base that we're currently working on go ahead and Grant access now go ahead and pick the base and the table scenes now we're going to add the record from the web hook record ID and now we just scroll down to the images task ID and because we've never run this before we don't actually have that so I'm going to go ahead and click okay I'm going to save the Automation and I'm going to go ahead and click run once going to jump back to a table going to jump back to our trigger but first i'm going to move this new automation into our web hooks section now I'm going to jump back to our trigger and now for the first time I'm going to test this action remember we previously chose a record in step one from the record that we created the freeway number one example if I jump back over there real quick we can see this is here and we already have the image prompt and the CF and we've already clicked image go back to the automation back to the script going to go ahead and type Test action jump over to make we're going to see that run it's now calling the go API and now we do have some data back looks like our request was a success with a 200 I can open up the data and that was a success and we have that task ID so now we can come back to our aor table module to our images task ID and now we can use this task ID here go ahead and click okay I'm going to go ahead and click save once again and now we do need to run this again once for a complete cycle and successful operation we want to make sure that we save that task ID back into air table so that we can actually test this images web hook so I'm going to come to make one more time I'm going to run once going to come over to air table I'm going to make sure that the Run of script is again selected I'm going to test that action going to jump back to make going to make sure that that is running looks like it was a success we have a 200 going to jump back to air table going to jump back to the data now if I open up this row here we should now see that the images task ID was added so now we can jump back to the automation we can go to our web hook and now what you're looking for is a step successful which means a web Hook was fired and actually made it back into air table now the only real question question is is the web hook that just came in the one that we first tested or is it our most recent test and it's our most recent test that we want to make sure we use because that's the one that wrote a valid task ID back into a table so it's pretty easy to figure out if we look here our task ID starts with ADB so if we jump back to air table and we look here at the body of the incoming web hook we can expand this and we can see it actually says it ran a few seconds ago before it was a few minutes and if we look at the task ID it says a DB so we're good to go and if we look into the task result we should see our image from the go API so what we need to do now is add the next step we're going to do a find in this case we're going to search in the scenes table we're going to find records based on a condition and that condition is going to be where the images task ID is and then we'll use this gear and change it to Dynamic and use this little blue button and that way we can use the fields from the incoming web hook data expand the body and there is the task ID so we're basically searching for the task ID that came in from the web hook in our database maximum record limit should be one we'll go ahead and test this action we should see a success here where we pull up the freeway number one and now all we have to do is update our air table row update table is going to be scenes record ID is going to be the record in the find record step click into find records scroll down grab the air table record ID for Fields we're going to choose images and we will will use the blue box import from the body scroll down task result we'll take the image URL and then we'll simply also update the status scroll all the way down to status and we'll just leave that blank and we can come down here to run configured scroll down run the test should be able to jump back to the data here and see that we now have our images and they are in that 9 by6 aspect ratio we should be able to open that up and now we have four really cool images from mid Journey so we'll come back and go to the automations and we can go ahead and turn this web hook on I do not recommend turning on any of these triggers until everything is fully tested but in terms of our web hooks we can turn these on after we create them and we test them to be successful so next up we need to create the next automation that upscales the image so I'm going to come back to air table and to go back to the data now in order to upscale an image we do need to pick one I'm going to go ahead and pick this one I think it's cool looking so I'm going to go ahead and pick image selector 4 I'm going to go ahead and check the upscale go I'm going to jump back to the automations now this time what I'm going to do is I'm going to go ahead and duplicate this automation I'm going to rename it to generate upscale for this configuration the table is going to stay the same but we're going to change the conditions I'll go ahead and just remove these add condition where the images is not empty obviously we have to have images to upscale an image add condition and the image selector is not empty add condition where the upscale image is empty so that it won't run when there already is an upscaled image and overwrite it it and then of course one more condition and the upscale go checkbox is checked so now if I come down here to choose record we're not seeing anything yet so let's double check where the images looks like I made a mistake here it's not is empty it's is not empty so choose record now that freeway is showing up so now we can move on to the next step now the only thing we need to change here is for this action instead of generate images we're going to generate upscale now I'm going to jump over to make and we can start to build out this second path here I'm going to adjust the filter where the action is generate up scale go ahead and click okay we're going to go ahead and get the record air table get record base is mid Journey table is scenes record ID is from Step number one in the web hook record ID go ahead and click okay I'm going to go ahead and just clone this module so to make it a little faster change what I need to change here for the URL we're going to change it to upscale you can leave everything else the same for the request content I'm going to remove everything here now I'm going to paste in what I have in my previous demo and then we'll fix everything so you'll want to pause the video and copy everything just like this or jump into the no code Architects for the blueprint template that I'll have all of this already then we just need to update these broken placeholders for the origin task ID we're going to use the images task ID for the index we are going to use the image selector again make sure you're putting these values inside the two quotes on both of these and now we need to create a new web hook inside of air table jump back to air table in this case I'm going to go ahead and duplicate this images web hook duplicate going to rename this to upscale web hook going to come to this first step here going to go ahead and copy this URL come back to our automation drop it here again in between the two quotes I'll go ahead and click okay just like how we configured this automation we need to run this one before we can actually update this one so before I actually create that module I'll just go ahead and save run once jump back over to air table jump over to the generate upscale and from this step I'm going to go ahead and test the action jump back to make we see that come through go through the filter we got the record and sent it to the go API let's check the status looks like that code was a 200 so if I come back to air table and our upscale web hook it shouldn't take long before we see that request come in here to that web hook that we copied from here and added to the make module you saw that come in here so that looks good now we can come back to make and because we have data here we can finish up this last module I'm going to go ahead and update a record from Air table update a record for the base we're going to select mid journey and Luma Labs again for the scene we'll pick scenes for the record ID again we'll use the record ID from the web hook and now we're going to scroll down and we're going to add in the upscale task ID grab that task ID go ahead and click okay click save now I'm going to go ahead and run that once more so that we can test the full process I'm going to jump back to a table I'm going to go to generate upscale again I'm going to be on the the Run script and I'm going to go ahead and Test action jump back to make going to see that come through let's check the status code we have a 400 this time looks like this time it's complaining about a repeat task and I'm just wondering here if I go to the task ID it's 3114 if I come back to air table and come back to the upscale web hook I'm curious what task ID we have here so it looks like a different task ID so in order to just simulate this working I'm going to grab this value here and to come over to to air table I'm going to go to the data I'm going to go into the air table row I'm going to expand the hidden fields and I'm going to update the upscale task ID to the previous just so I can simulate this working now I'm going to go ahead and move forward with the find records and it's going to use that ID that we just grabbed from this web hook right here so now it's going to find that record and again remember we just added that manually to this record here so I'm going to go ahead and test that action now one thing I forgot to do because we copied this web Hook from this one it's looking at a different field notice it's looking for the images task ID in this case we need to look for the upscale task ID it's going to break the value here come back to the Gear go to Dynamic go ahead and click the blue box go into the body of the web hook grab that task ID go ahead and run that search again it's going to find that freeway now we can go ahead and update that record with the URL everything's good here on the scenes and the record ID although we do want to update the upscale instead of the images so I'm going to go ahead and delete this field here I'm going to choose a new field scroll scroll down to the upscale image then I'm going to go to the blue box go into the web hook body scroll down to the task results going to grab this image URL going to move this to run configured scroll down and run the test jump back to the data here and now we have our upscaled image so if you see what I did there all I did was use our previous success and updated that here so that we could get by that either way you need a successful call to the go API which triggers this web hook I'm going to go ahead and turn it on now and I should be able to come back to the data and this time I'm going to select a different image I could have done it this way as well when I had that duplicate task I could have come back to the image selector changed the selector and then come back to the Automation and Trigger that again in make to process this again with a different image that way it wouldn't have had a duplicate task I'm going to go ahead and save where I'm at I'm going to go ahead and run once I'm going to come back up to air table I'm going to come to the generate upscale I'm going to go ahead and re-trigger this and I'm going to choose a new record and I'm doing that because when you change one of these values you have to re-trigger the automation otherwise it's going to use the value that it already had when you picked that trigger and I'm realizing here as well I'm going to have to uncheck the upscale go and also remove this image I'm going to jump back to the automation going to go ahead and choose record still nothing showing up imag is not empty image selector is not empty upscale make sure we check this checkbox choose record now we can select that row again come back to the script again make is waiting for our request patient cently we'll test that action jump back to make that's going to go through we should have a 200 this time there we go jump back to air table won't be long before this web Hook is called jump to the web hook trigger last time it was successful was 8 minutes ago so this should just come through in just a few seconds so it looks like it finally came through I jump back to the data we're going to see here that we have a new upscale image and that is the number two image here so now one thing I do want to mention is that when testing I definitely noticed that you want to ask for the upscale image in a relatively short period of time after generating the images I've had some errors when I tried to ask for an upscale image hours after I generated the images so just make sure to select an image and make that process happen quickly to make sure that you don't run into any errors on your upscale image you might also want to add some error handlers here to handle errors when you are working with the go API for this video I'm going to go ahead and skip that but that's why I open up this bubble here to look at the status code whether it's 200 or 400 to know whether everything is successful so I'm going to go ahead and click save and then we'll move on to generating the video all right so now let's go ahead and build out this next automation here that is going to help us generate the video going to jump back to the live automation that we're building here I'm going to come to the router and add a new route I'm going to go ahead and add a filter now this one is going to be on the action generate video I'll go ahead and click okay and then we are going to get the air table record like we always do in these ones as well get record use the same connection we've been using for the base we'll go ahead and select mid Journey Luba labs and for the record ID we'll use what we got in the web hook just like before grab that record ID then we can go ahead and click okay now from here I'm going to go ahead and save the automation Auto align just to make things look a little bit better again and now we can go ahead and continue to build this out I'm going to resize things a little bit so the next step after getting the record is to call the go API once more I'm going to go ahead and clone one of these previous modules just to save a little time connect it up here to this air table module I'm going to go ahead and open up this module and I'm going to switch out this URL here you can pause the video and copy this just like I put here it's going to stay a post you'll need your API key you can leave the body type and the content type the same for the request content I'm going to go ahead and remove everything from our clone and I'm going to paste in what I have from My Demo automation you'll want to pause the video and copy everything just as I have it or join the no code Architects where everything is already filled out for you I'm going to remove these broken placeholders from the cut and paste and for the prompt I'm going to add the video prompt and for the image URL I'm going to use the upscale image go ahead and expand that and grab the URL here make sure you insert those placeholders inside of the quotes and you can go ahead and click okay now go ahead and click save now we're going to jump back over to air table I'm going to come back to the scenes I'm going to jump over to the video prompt and I'm going to go ahead and paste in the video prompt I was using in my previous demo animate the cars driving on the Los Angeles freeway and also animate the clouds to slowly move around I'm going to go ahead like we've done before and go ahead and click the video go checkbox I'm going to jump back over to the automations I'm going to come up to the generate upscale and I'm going to duplicate this automation save ourselves a lot of time in this case I'm going to say generate video I'll rename this to generate video and we'll need to adjust the trigger as well in this case we're still going to be triggering off of the scenes table but we are going to pick different conditions I'll go ahead and remove these the first condition will be when the upscale image is not empty add another condition and when the video go checkbox is checked if I go ahead and choose record we should have something here now now I'm going to jump over to the run a script these two values can stay the same but in the action we need to update this to generate video should be good there I'm going to go ahead and update this while we're here we're still updating the scenes table and the record ID is going to stay the same but for the status we are going to change this from generating images to generating video and we're going to remove this checkbox this should be video go and so we're going to uncheck the video go but that reminds me since I copied this from the generate upscale I can tell that I didn't correct those because these values here were of the generate image so when I duplicated this to this I forgot to change that so real quick I'm going to come back to generate upscale and to go to the update record and for the status I'm going to change that to generating up upscale and I'm going to remove this field here change that to upscale go and uncheck that so that looks good going to come back to generate video then I'm going to come back to our make automation I always just like to save things I'm going to go ahead and run once come back to air table jump over to the script again we updated the action to generate video if we test the trigger jump back to make should come through down here now so now we got the record and we made the request to go API for Luma Labs we got a status 200 so now we should have some data to use going forward we have a task ID so now we can finish out this automation next up we're going to add a repeater we're going to go to flow control and we're going to do a repeater what this repeater is going to do is it's going to Loop through and check periodically to see if that video has been generated these two API calls had the web hook but the Luma Labs video generation does not yet I did talk to them and they said that it would be available soon but for now we just have to do this Loop so for the initial value you can leave it as one and then for repeats let's go ahead and put 10 that means it's going to Loop through this Loop 10 times before it stops next up we're going to get a variable I'll explain this in a little bit go to tools get variable we'll get the variable name status obviously the first time this runs the status will be empty then we're going to add another module here we're going to go ahead and use the Sleep module it'll put the automation to sleep we'll go ahead and just pick 120 seconds go ahead and click okay next up we need to check back with the go API to see if the video is done I'm going to go ahead and clone this http request one more time and add it to the end here I'm going to go ahead and open this up for the URL I'm going to go ahead and cut and paste in what I had from my previous demo automation pause the video and copy this just as I have it with that slash I do need to fix this broken placeholder from the pasting from the other Automation and we are going to use the data data this task ID this one is going to be a get request and for body type we can go back to empty and we can leave everything else here just like that again we still want to to parse the response but it is a get method instead of a post and we don't have to post any information here because we're just getting a status update on this task ID we can go ahead and click okay now I do want to simulate to see if that video is ready yet I'm going to come here to the output of our Module come to the data go to the data here I'm going to grab this task ID and then I'm going to come here and run this module only I'm going to drop in that task ID here I'm going to go ahead and click okay it's going to go ahead and run we got a status code 200 let's look at the data in here it looks like it was able to finish that video If it hasn't yet go ahead and just wait until that video is ready and then you can proceed next up we will go ahead and update air table pick the air table module update record go ahead and pick your base mid Journey Luma Labs table scenes in this case we're going to go ahead and update the record from the original web hook record ID for the video you can go ahead and add an item for the file URL you can use the data that we looked up just a few minutes ago manually you can go into the data into the data and you can grab the generation video URL and for the Luma Labs task ID you can grab that from data data task ID and then you just want to find that status again here unselect the map and then you from the drop down you can grab video completed go ahead and click okay next up we're going to go ahead and set a variable in this case you can just type set and you can grab set variable make sure not to set multiple variables set variable and for the variable name you'll pick status and then you can just type completed and then you can go ahead and click okay now we need to step back and add two filters one right here what we're going to look for is whether the status in this previous step which is right here is not equal to not equal to completed and then we'll go ahead and click okay and then right after the go API call here we want to add a filter as well and then for the condition here we'll look into the data into the data into this status here is equal to completed and then we can go ahead and click okay and I'm going to go ahead and click save and then I'll explain what's happening here so when we make the request to the web hook for generating a video it comes down this path we get the information for the video and then we make the request to make the video now the video takes 5 to 10 minutes to create so we need to loop with this repeater until that video is ready so initially we get the variable to see what the statuses and if that status is not equal to completed then it will move forward and it will sleep for 2 minutes and then after that 2 minutes it will make the request to the go API and it will see if that video is ready if the status is complete completed it will go ahead and update aor table and then it will go ahead and update the status of the variable to completed and then it will come back to the loop it will get the variable which is now completed and it will no longer do this again and it will no longer run these previous steps but if we make the call to the go API and it says that it is not completed then it will loop back to the repeater here it will check the status which is not completed it will sleep again it will check it and then we'll filter out whether or not it is complete and so basically what happens is is that until it's complete it will just keep looping through these sections here until it's complete and then it will finalize it will update air table update the status and then it will no longer run this section of the automation anymore the repeater will exhaust itself and then the automation will finish and so because we've never done a full test with this automation if we come back to air table we still don't have the Luma Labs task ID in video so let's go back and just trigger this once again we'll come back to air table we'll go to the automation from this run a script test we will go ahead and Trigger the automation from here we should see it make the call to the go API we have a 200 and now you can see it's going into the repeater because the status is not completed and of course it won't be completed because this the first time it's being called it will be nothing but empty we come in here we have a empty status so it progressed to the next phase where it sleeps after 2 minutes it will then make the call to the go API to see if the video is ready and so you can see here it checked the go go API and if we look into the data here it is giving us a status 200 but if we look at the data and the metadata and the generation here it still says that it's processing and not complete and so when it checked the overall status and it was not completed then it went ahead and did another loop so now it's going to sleep for another 2 minutes while you're testing always make sure to run this manually and just inspect this these apis are always getting updated on The Daily and so you never know how these things are going to change so just make sure you're just looking at these values and changing anything you need to change in your automation it's always possible by the time you watch this video they've added the web hook and so you'd want to just copy the same method as we've done here if they have added that and as always you can come into the go API docs and check out their Luma API to get the most upto-date information so now I just jump back to the Automation and it looks like this time if we come into the result here operation number two let's go ahead and look at the data data now we have a message success so it should have written that video back to air table let's jump back to air table jump back to the data here and now we have a video that we should be able to watch and now we've got cars going up and down the freeway so depending on how far you want to go with this you could stop here now we've automated the image creation and the upscaling and the video creation so if that's all you wanted to be able to do then you could stop here and just continue to use that you could come back to your automations and you could turn this part of the program on cuz we've tested those and everything everything seems to be working the only thing that we haven't technically tested is these updates because we've always ran the Run script on its own and we never actually ran these updates so I'm going to just look at these updates and just do like a visual on them so here when this generate image triggers it's updating the status to generate images and then it's unchecking the image go here we are updating the status to generating upscale and unchecking the upscale go and here we are updating the status to generating video and unchecking the video go so that looks good but now if you wanted to take it one step further and you wanted to generate multiple scenes in your movie remember we set up this movie before and we have one scene connected to it then you could always come and add additional scenes I'm going to add three new scenes I'm just going to copy those values in from my previous database we have one scene of the Griffith Observatory the LA beaches and the Los Angeles Skyline I'll copy in these prompts as well and then I'm going to drag down the CF just like that and now that I've turned on these automations here I should be able to say images go we should see the status change here and we should see this uncheck itself if I jump over to the automation we now have a record waiting because I never turned that automation on so I'm going to go ahead and turn that on I'm going to process the old data which is the one that I just sent and now you can see it's now processing that image that we just sent let's go ahead and take a look at the status that's a 200 jump back to air table just going to take a few seconds we should see those images just pop up into this field here and it should clear out our status now that process ran it cleared out the status and now it's giving us the four images of the Griffith Observatory so we can pick the one that we want to use this one looks pretty cool image 4 so I'm going to come over here I'm going to select image 4 then I'll go ahead and do the upscale go jump back to make.com now we've got that running here processed that should just take a few seconds notice it's now generating the upscale and it already unchecked the upscale go for us in just a second we shouldn't see our new 9x6 upscale image there that's coming in here and you'll notice that it's clearing out our status now what I am going to do is I'm going to go ahead and copy in my video prompts from my previous demo now obviously it would be best to wait for the image to actually see what it is and really fine-tune that prompt for that specific image this video prompt says slowly pan to the left and zoom into the mountain landscape let's go ahead and generate that video jump back over to our automation looks like it's running now and there we go and here's our video let's take a quick look at it pretty cool look at that 3d effect back there really beautiful image with really beautiful motion so I'm not going to make you wait but I'm going to go through that same process of generating all the images selecting the image upscaling that image and then generating both videos and then I'm going to move on to the next step here in the movie scene where I show you actually how to combine those different scenes into one final movie and then we'll be done with the video but if you're having issues completing the entire scene then go ahead and stop here and go back and debug based off of the video get that all working and then meet me back here with four completed scenes all with four different videos and then I'll show you that last automation where we use Json to video.com this platform right here to stitch the four videos into a single video all right guys so we're back and I now have four different scenes you really only need two separate scenes to test this next phase two scenes that have been completed all the way through and have a animated video that we can stitch together with another animated video just like I'm showing here now this one is triggered from the movies table we created this at the very beginning the LA Story we made it a vertical video 1080 by1 1920 with a 9x6 aspect ratio and I'll go ahead and expand this row to extra tall we can see these different scenes here by collapse a little bit we see we have the freeway one Griffith Observatory La beaches and the LA Skyline and then we can see we have those four videos that are being pulled from the scenes table through this lookup field and now the last thing we need to do is go ahead and initiate the final movie go checkbox I'll go ahead and do that now because we don't have any automations on that yet that will generate that final movie by combining these four videos using the platform Json to video.com now obviously to move on to the next steps you will need to create an account and grab your API key might as well do that now if you don't have it looks like they've got a free API key that you can try so I'm going to jump back to air table and you might be getting used to this I'm going to jump to the automations and here in our triggers I'll rename this triggers I'm going to duplicate the generate video duplicate and here we're going to say generate movie in this case we are going to trigger on the movie table not the scene so that's going to break just about all the conditions here we'll just remove those and here for the first condition we will make sure that the movie go checkbox is checked and we will also make sure that the videos from the scenes is not empty and then we'll move to the script here and these can stay the same except for the action we're going to generate movie so we'll need to change that and then let's check out the update record this is going to have to change when we copied it it was working off of the generate video so we want to change the table to the movie it's going to break these fields here so go ahead and just remove those the record ID can stay the same but we're going to update these fields all we need to do here is add the movie go and we'll just uncheck it so after it runs the script it we'll just uncheck it so that we can always fire it off again now let's go ahead and see if we have something to pull from I'm going to choose a record we should have the LA Story and now I can move to the Run of script but before I do that let's go ahead and continue to build out our automation I'm going to go into the automation I'm going to add our final route we're almost there in the final stretch going to add a condition here the action is going to be generate movie we can go ahead and click okay I'm going to realign everything going to get a record air table get record use the same connection for the base we will pick our current base but for the table make sure you pick the movie table and for the record ID we're going to use the web hook record ID we can go ahead and click okay and now what we're going to do next is we're going to iterate over all of the different movies we're going to build a Json variable that we can send to the Json to video API call we're going to assemble all the scenes together we're going to create the final Json and we're going to make that final API call to JSA video so first up we're going to add an iterator you can go to flow control make sure you grab the open iterator and for the array we are going to use the videos from the scene you can go ahead and click that right into this field here you can go ahead and click okay next up we're going to go ahead and create a Json so you can type Json create Json now you're going to be asked this question here go ahead and click add for your data structure name go ahead and put Json to video scene and then go ahead and go to generate and for the sample data there is a link in the description of this video that will let you open up this document and you're going to want to grab all of the code that is right here nothing before and nothing after go ahead and copy that come back to your Automation and drop that sample data into this box here and then click generate from here you can just scroll down and click save now you will need to add one element just go ahead and click add item and for the source you are going to use the URL for the type you're going to type video for the zoom you can go ahead and put zero for the width you are going to use the width from this record here you can see that you have the width for height go ahead and click into that and use the height for duration you're going to want to use minus one that just tells Json to video to use the full length of the video and for position just type Center Center make sure you spell everything correctly or it will fail go ahead and click okay you're going to get a warning but you can ignore that it's just telling you that this module can't be the last one in your automation go ahead and move forward and add another module here we're going to use the Json module again we're going to parse the Json and we can use the value from the previous step go ahead and click into Json string and grab that Json string and go ahead and click okay now you're going to go ahead and close that iterator here in the flow control array aggregator now because this automation has never run before we don't have the information that we need to finalize this array aggregator for the source module you're going to want to pick this iterator here in 19 go ahead and click okay then you go ahead and save the module it's going to give you a warning go ahead and click save anyway and now we are going to go ahead and run once it's going to give you a warning again go ahead and run anyway now we're going to jump back to air table we already loaded in our row here from choosing the record we've got that La story now we can move forward to the Run script we're going to go ahead and test that action jump back over to make we're going to see that go down this path this time and it's going to run all the way through remember we have four scenes so you should see this run four times and now we have run this Automation and we can finalize this aggregator now what you should see here is in this section here we have the parse Json elements you can go ahead and click that and click okay now we are almost done here go ahead and add the next module we're going to add a Json create Json and we are going to add another structure this time we are going to call it the Json 2 video movie go ahead and click generate and again in the description below there will be a link that takes you to this document where you can cut and paste this entire section here don't get anything before or anything after copy drop that into the sample data go ahead and click generate then you can just go ahead and click save for the ID you're going to want to use this record ID from the original web hook for FPS you can go ahe and use 25 for cache and draft you can go ahead and select no for width again you're going to use the width and height from the previous step width and click into height and then use the height for the scene you'll want to enable this checkbox here you'll click into that and then just grab the array from the array aggregator now for the exports you're going to want to go ahead and click add item for destinations you'll go ahead and add a new item now for type you're going to go ahead and type web hook for content type you're going to type application SL Json make sure you spell everything correctly application sljs now for the endpoint just like we've done for the other modules we're going to come back to air table and we are going to create a new web hook go ahead and come down to create automation you can drag that into the web hooks section here we're going to add a new trigger when web Hook is received now we can grab that URL copy it to the clipboard come back to our Automation and drop that here into our endpoint make sure there are no spaces before and after any of the these values that will cause a problem in your web hook everything no no spaces before or after in your content type and after you have that then you'll want to just make sure you add the quality that is high and for resolution you want to put custom and with that everything should be good you can go ahead and click okay now next up we just need to add the HTTP call to Json to video so go ahead and add the HTTP module once again like we've done here should probably be here but if you don't see it you can type HTTP we're going to make a request here I'm going to paste in what I have from My Demo you can pause the video and copy this exactly as I have it or you can jump into the no code Architects and get this entire automation you're going to want to change the method to a post you're going to add a new header for the name you're going to put X API key then you're going to want to paste in your key from Json to video for body type you're going to pick raw for content type you're going to pick application Json and for the request content You're simply going to use the J string that we constructed here in the previous step Json string and then you can go ahead and say parse response equals yes and then you can go ahead and click okay you can save your Automation and now we can go ahead and run once we can jump back to air table we can jump over to our generate movie and now we can go ahead and Trigger this once again jump back to make we should see it come down this path it's going to Loop through build the Json then it's going to make the call to Json to video you can open this up we have a status code 200 looking good I recommend that if you get a 200 but nothing comes into to your new web hook and let's update that this is the movie web hook if nothing comes into this although we see that it is now if for some reason nothing ever comes into this web hook jump into the render logs and see if there are any errors coming in from your most previous requests and you'll notice here that the duration of the most recent video that I just issued is 20 seconds long which is perfect because I have four videos that are each 5 seconds so I can jump back to air table I can check out the body looks like we have our new video here so the last thing we need to do is just simply update the row of our movie select the table select movies select the record ID by checking the blue box now you can go into the body and you can scroll down you should see this ID remember in our automation we sent the record ID of this row that we're working with to Json to video in this ID field and then they sent it back to us so that we could look it up in air table and now we simply need to go to the fields we want to update scroll down to the movie attachment field go to the blue box go into our body of the web hook grab the URL from the result go to run configured and run the test and now if we jump back over to air table in our movie we now have that movie here and we should be able to watch the entire show got the freeway Griffith Observatory the beaches that's really amazing and the Drone flying through the LA Skyline so there you go now we can just come back to the automations make sure we turn them all on we can jump back to our make automation that was already turned on and we now have a complete system whenever we want to create a new movie we just create that new movie here next movie you'll put in the width height and aspect ratio then you can jump over to scenes and then you can go ahead and just jump into orphan scenes add a new scene here and then you can add it to the movie in this case the next movie it's going to disappear from the orphan scene because we assigned it to an actual movie and now we're going to see that we now have the first scene ready for the next movie and then from here you can always just add new scenes from here and if you wanted to just a little bit about air table if you wanted to remove all of the completed movies from the movie scenes you could always just duplicate this View and you could say completed scenes and you probably don't necessarily want to filter on the video completed status because these might be completed but the movie is not so to make this work you need to come back to the scenes I'm going to jump to the orphan scenes just because it's already there and I would need to add a lookup field off of the movie I'm going to add a lookup field I'm going to get access to the actual movie I'm going to add that I'll hide this field but now what I can do is I can come back to the movie scenes I can come up to the filter and I can add a condition I can say and the movie from movie is empty and so now you'll see that the completed movie the LA Story disappeared but the first first scene did not and then I could come back to completed scenes and then I could just tweak this so that it showed all the scenes that were completed so I would add a condition change this here to this filter and then I would say is not empty and now it's only showing the scenes from completed movies so there you go if you want to check out another video on faceless videos where I build a whole orchestration system on how to generate the movie from scratch including the prompts and all of the scenes so you didn't have to necessarily do it manually it generated the movie just from a news article and it completes the entire process generating the story generating the scenes generating the images and it just spits out a cool video at the end make sure to check out the video that's popping up on your screen and I'll see you there