This is the coolest side project I've worked on

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ก.ย. 2024
  • Become a YT Members to get extra perks!
    / @webdevcody
    My Products
    🏗️ WDC StarterKit: wdcstarterkit.com
    📖 ProjectPlannerAI: projectplanner...
    🤖 IconGeneratorAI: icongeneratora...
    💀 ScaryStoryGenerator: scarystorygene...
    Useful Links
    💬 Discord: / discord
    🔔 Newsletter: newsletter.web...
    📁 GitHub: github.com/web...
    📺 Twitch: / webdevcody
    🤖 Website: webdevcody.com
    🐦 Twitter: / webdevcody

ความคิดเห็น • 123

  • @murifox_
    @murifox_ 14 วันที่ผ่านมา +100

    This man sure loves his lambdas

  • @efronic
    @efronic 14 วันที่ผ่านมา +56

    For the time being I think, adding some sort of a progress bar/percentage for all the time intensive tasks would be a plus, that way the user would know there is a process happening in the bg and the UI hasn't crashed or not just responding.

    • @WebDevCody
      @WebDevCody  14 วันที่ผ่านมา +11

      yeah I should do that

    • @JohnStockton7459
      @JohnStockton7459 6 วันที่ผ่านมา

      He doesnt need your advice, im sure he knows about progress bars 😂

  • @FlorinPop17
    @FlorinPop17 13 วันที่ผ่านมา +9

    idk what I watched but I watched the whole thing. Cody is a genius

  • @KritX01
    @KritX01 14 วันที่ผ่านมา +25

    Quick tip: I feel like it would be a good thing to evaluate the segments first before generating the images since it can cost you money to generate them. The example shown where you merged two segments and deleted the image could be saved if you were to preview the segments before.

    • @WebDevCody
      @WebDevCody  14 วันที่ผ่านมา +8

      Yeah maybe preview could be useful

    • @visual_chris
      @visual_chris 12 วันที่ผ่านมา +1

      @@WebDevCody an option to improve the writing/story with suggestions and a comparison view between the two might be cool

  • @__mas
    @__mas 13 วันที่ผ่านมา +3

    Could feel the joy in that one, Cody. Nice work.

  • @nustaniel
    @nustaniel 14 วันที่ผ่านมา +17

    It didn't cost the user credits to regenerate a failed image, did it? If so, I'd say that is something I would change immediately. Effectively paying for a faulty result would be offputting. Also allow the user to adjust segments before generating images so they have a bit more control over how many images are being generated and how many credits it will cost them? In fact, maybe let the user supply how many images they want to allow before you even process the story text with GPT. That way you can tell GPT to adjust its segments split based on a specified number the user is feeling okay with.

  • @Dom-zy1qy
    @Dom-zy1qy 14 วันที่ผ่านมา +8

    Ffmpeg and lambda... reminds me of the time I somehow managed to spend 8 hours trying to compile a static ffmpeg binary that included the "drawtext" filter inside a docker container.
    Needless to say I learned a lot about Docker, Linux, and various build tools that day. I ended up just finding a repo that has prebuilt static binaries with all features anyway, so I just download that in my Dockerfile.
    This does seem like a cool project. Handling a lot of async jobs that are dependent on one another was a big challenge for me. Makes me want to get back into web.

  • @dohoangnam9x
    @dohoangnam9x 14 วันที่ผ่านมา +7

    this idea is so good!
    I mean, if I have tons of money, I will put my favorite novels in here and have small comics without having to wait for the actual adaptation of them!

  • @anothermouth7077
    @anothermouth7077 14 วันที่ผ่านมา +6

    Good job babe ! You're doing great!

  • @justintefteller2780
    @justintefteller2780 13 วันที่ผ่านมา +3

    You could add a vector store to this architecture that would save images on draw into the vector store and if a prompt was similar enough (let's say > 90%) it could just reuse that image instead of doing an on demand draw every time. Just a thought.

  • @roach_iam
    @roach_iam 13 วันที่ผ่านมา +1

    Pretty great architecture man. Instead of the lambda + queue+ finaliser queue and all that, you can probably save a lot of this orchestration by using step functions.

  • @branmuller
    @branmuller 14 วันที่ผ่านมา +1

    Cody this is great thanks for sharing love the idea and the system design stuff!

  • @hikemalliday6007
    @hikemalliday6007 12 วันที่ผ่านมา +1

    Talk about a dude who has good fucking ideas for projects, AND have the skill to bust it out. Thats inspiring to me. Im not that far yet. My current goal is simple websites that are robust + auth + users, etc, but further down the line... I like you style

  • @ZodakZach
    @ZodakZach 2 วันที่ผ่านมา

    great video i like the system design talk it was really interesting to hear your thought process. Also a really cool idea to have ai generate a complete scary story video from just text in minutes.

  • @SeibertSwirl
    @SeibertSwirl 14 วันที่ผ่านมา +16

    Sirrrrr!!!! Good job babe! I Love ya ❤

    • @cslearn3044
      @cslearn3044 14 วันที่ผ่านมา +3

      I love him too

    • @joeadeleke
      @joeadeleke 14 วันที่ผ่านมา +1

      Can we share him😅

    • @sriganeshnagaraj9626
      @sriganeshnagaraj9626 14 วันที่ผ่านมา +2

      I was searching for this comment 🙂

    • @SeibertSwirl
      @SeibertSwirl 13 วันที่ผ่านมา

      @@cslearn3044 lol we can all love him… except I get extra 💅🏿😉

    • @SeibertSwirl
      @SeibertSwirl 13 วันที่ผ่านมา +2

      @@joeadeleke lol I can loan but I don’t share, money must change hands lol

  • @chillydill4703
    @chillydill4703 13 วันที่ผ่านมา +2

    Now this is senior development folks. Mad man chart lol

  • @stonedizzleful
    @stonedizzleful 13 วันที่ผ่านมา

    Great video man. So cool seeing an app using all the stuff being built just for fun/entertainment rather than the million other vids that are "100x your workflow..."

  • @Akshatgiri
    @Akshatgiri 13 วันที่ผ่านมา +2

    Why not do the video generation on user side in the browser.
    Send over the images, transcript and audtio to user. Display and render the video in browser using canvas. It'll save all the orchestration, save money and give users a better use experience to be able to view the video before final render.
    The main down side is that the actual render might take longer depending on users machine.

    • @WebDevCody
      @WebDevCody  13 วันที่ผ่านมา +2

      Probably that last one, inconsistent render times based on user machine or phone.

  • @shakapaker
    @shakapaker 13 วันที่ผ่านมา

    It was really interesting to watch, thank you

  • @FuzzyAnkles
    @FuzzyAnkles 14 วันที่ผ่านมา

    amazing project cody !

  • @antonpetrov145
    @antonpetrov145 13 วันที่ผ่านมา +1

    ffmpeg has the threads flag that is used to set how many threads to utilize for operations and it does miracles on CPU only machines (not sure how it will perform on lambda though), but you will have to check the video quality on different settings

  • @bloomee
    @bloomee 14 วันที่ผ่านมา +1

    I like this! Could be cool if you can even make it easier to create those scary story tiktoks. Also I found that using Claude's prompt generator rly does help in making the ai do what u want

  • @temperkan3727
    @temperkan3727 13 วันที่ผ่านมา

    Great Video!

  • @ChRitvik24
    @ChRitvik24 14 วันที่ผ่านมา +3

    Are there plans to create a paid tutorial course for this app, similar to the one for the icon generator? Since it involves several elements, like AWS services, it seems like it would be a more advanced course. I think many people would be interested.

  • @dmost714
    @dmost714 12 วันที่ผ่านมา

    To shorten the perceived wait time, process each story segment before the user presses the generate button. Maybe reprocess the last modified story segment when the user begins editing a new one. By the time the user has reviewed the segments and presses the generate button, you'll already have all the video created and only need to stitch everything together. This will appear to be much faster. Especially if the user makes a video, tweaks the story, and re-generates a new video. Obviously the tradeoff is cost. Perhaps add a "lightning mode" switch that people can turn on for a few extra credits. I'm sure you'll want to optimize too, but then your optimization will be at your leisure and more about cost savings than stressing over a poor user experience. Best of luck. This does look very fun.

  • @8andre3
    @8andre3 14 วันที่ผ่านมา +1

    It'd be really cool to learn how you rewrite the canvas in Go. And maybe a live coding of the progress bar implementation :D
    Regarding the subtitles, it'd be extra nice to have them as the normal movie subtitles that have 1 or 2 sentences on the screen at a time, instead of having each word showing up in real time

  • @gibzrival1565
    @gibzrival1565 4 วันที่ผ่านมา +1

    Maybe buy some Threadrippers and a couple 4090's for a home server but again scaling and distribution would be a problem, I guess no one will ever leave the cloud addiction😅

    • @WebDevCody
      @WebDevCody  4 วันที่ผ่านมา

      Ain’t nothing better than spending $5k on a side project generating zero revenue 💪

  • @thoringham
    @thoringham 7 วันที่ผ่านมา

    Good job🎉

  • @anothermouth7077
    @anothermouth7077 13 วันที่ผ่านมา +1

    is it possible you could talk about your local/dev setup when working on cloud stack like AWS ? For instance When you had to create a lambda did you check it by deploying on some dev AWS account or you used a local stack. At my work we struggle with local development.

  • @iced2916
    @iced2916 14 วันที่ผ่านมา

    Damn this project is really impressive, nice video

  • @DavidDiaz-zg5sv
    @DavidDiaz-zg5sv 14 วันที่ผ่านมา

    Amazing project Cody! I would suggest giving the output option as vertical video so you can upload it to Instagram or TikTok. Great project!

    • @WebDevCody
      @WebDevCody  13 วันที่ผ่านมา +2

      I have that planned for next, it shouldn’t be hard to add in

  • @Vermino
    @Vermino 14 วันที่ผ่านมา +1

    So the user is going to be in the storyboard area for quite some time. 1) I would only have the segment text appear and allow the user to re-write and arrange their segments in their storyboard. Once done, they can generate all image or one by one. 2) If they approve of the image + text segment, allow them to "send to production" button on each segment giving the workers a headstart to build out the video while the user works on other parts their storyboard.

    • @WebDevCody
      @WebDevCody  13 วันที่ผ่านมา

      Yeah that could help speed up the final video generation for sure

  • @montramedia
    @montramedia 6 วันที่ผ่านมา

    It would be in your best interest to use ec2; potentially allowing you to be able to make more complex videos in the future. Also ec2 has an auto scaling feature. But for now just use lambda if money is a factor. it would be smart to have some type of plan to be able to integrate ec2 in the future.

  • @paulroque4179
    @paulroque4179 12 วันที่ผ่านมา

    This would look awesome in a single go server with some clever go routines orchestration.

  • @umerxa
    @umerxa 14 วันที่ผ่านมา

    Impressive engineering 👏

  • @marcialabrahantes3369
    @marcialabrahantes3369 12 วันที่ผ่านมา

    Now we can make our own entertainment.
    make a movie with moving characters next ;)

  • @TheFocusedCoder
    @TheFocusedCoder 13 วันที่ผ่านมา

    Awesome project! would be a great follow up to cover how you built the credit system

  • @TuxBoli
    @TuxBoli 11 วันที่ผ่านมา

    I was surprised to see that you're not using remotion for this. Could probably reduce your lambda costs and complexity since you could do everything in a single go.

    • @WebDevCody
      @WebDevCody  11 วันที่ผ่านมา

      doesn't remotion use lambdas?

  • @mr.javascript1320
    @mr.javascript1320 14 วันที่ผ่านมา

    This is awesomeeee

  • @ugurcodes
    @ugurcodes 14 วันที่ผ่านมา

    You are big inspiration to me! the project is really interesting one, you should definitely add some thrill music for the background. I hope you can market it and earn some $$. Best wishes Cody

  • @Miguelmigs24
    @Miguelmigs24 14 วันที่ผ่านมา

    Cody this was super interesting

  • @k98killer
    @k98killer 14 วันที่ผ่านมา

    This is a very cool project.

  • @EditsByShobhit
    @EditsByShobhit 13 วันที่ผ่านมา

    I was thinking, you could have a feature going forward which helps to convert the segments into a comic book (with the picture and text on a comic-type background) where the user has an option to export as pdf. Cool project btw

  • @ejioforcelestine6119
    @ejioforcelestine6119 14 วันที่ผ่านมา

    This is cool asf🔥🔥

  • @benbowers3613
    @benbowers3613 14 วันที่ผ่านมา

    I've come around pretty hard to convex at this point. The schema validators being composable and exportable is tough to beat. The only thing I'm left wanting for is bulk inserts. You have to manually insert in a loop or make heavy use of objects with arrays.

  • @user-hf4lf6er1u
    @user-hf4lf6er1u 14 วันที่ผ่านมา

    This is really cool

  • @caribouroadfarm
    @caribouroadfarm 14 วันที่ผ่านมา +1

    The technology is really cool in this one. But the video I am not sure how much value it has, considering it's just stitched together images that are zoom in and zoom out. Imagine sitting and watching same zooming image for 30-60 seconds.

  • @davidrobertson6371
    @davidrobertson6371 13 วันที่ผ่านมา +1

    If you want to try something challenging, try and add streaming. If you want to make it even more challenging, while improving the user experience try and add concurrent streaming but raw dog it, and don’t use any libraries like vercel AI, just work with the SSE that are returned from openAI.
    May God have mercy on your soul. Lol.

  • @sumanthprabhu11
    @sumanthprabhu11 14 วันที่ผ่านมา +2

    Can u make a tutorial on this but using google Gemini if its possible.
    As gemini is free.

  • @iamdas.
    @iamdas. 14 วันที่ผ่านมา

    May be ECS to generate audio, video, then putting them together with ffmpeg in a single containe??

  • @wilhelmdewald4322
    @wilhelmdewald4322 14 วันที่ผ่านมา

    Cool project.

  • @samuelmillette
    @samuelmillette 14 วันที่ผ่านมา

    The ec2 instance would make sense in term of performance but also cutting down the img frames part -> putting together -> ffmpeg to ONLY ffmpeg Im just you can do this. Seems lots of trouble for making videos from images with subs.

  • @Roacoelho
    @Roacoelho 13 วันที่ผ่านมา

    I've never created a video or generated many images through AI prompts, but I'm curious about the process. I know, In your app there are many features to customize the final result in a more granular way, and it’s also much cheaper to break the process into pieces and edit those pieces separately. However, could I achieve the same result or something close just by using AI prompts directly and refining the output repeatedly? I'm asking because I'm working on a project to determine the chances that a text is AI-generated. I'm using some Python libraries for text analysis and planning to populate my database with a bunch of AI-generated texts to have a basis for comparison with the input text. The thing is, sometimes I think that simply asking the AI about the chances of a text being AI-generated might give me a better result than my own app. Ans during this moments moments I just thing in give up. But, you know, the truth is that I'm doing this not because it will be a superior product, probably it will just be there in my Github vault... Anyways, I think the point is: it will be fun and I’ll learn something. And great job, loved this app!

  • @shockgalaxy9849
    @shockgalaxy9849 12 วันที่ผ่านมา

    I was wondering if you looked into how to keep character looks the same across all images since they are generated from different parts of your story?

    • @WebDevCody
      @WebDevCody  11 วันที่ผ่านมา +1

      you have to make sure you use the same subject detail in the prompt, so like. A guy in a black suit. In regards to the face, that's not really possible unless you train your own model using images of the face, or run a face swap model against your generate images (which often just looks bad). It makes it even more tricky if you have multiple people in your image.

  • @xeeton
    @xeeton 14 วันที่ผ่านมา +1

    since it renders faster than realtime, why not just stream it? :)

  • @odra873
    @odra873 14 วันที่ผ่านมา

    you have a video about self hosting convex and what you are missing out of features if you do that?

  • @hellsalve017196
    @hellsalve017196 9 วันที่ผ่านมา

    i wonder how much the aws bill would be to run this infrastructure ?

  • @cotyhamilton
    @cotyhamilton 14 วันที่ผ่านมา

    That’s awesome, did the video artifact have voice over also?

  • @_andrewpeacock
    @_andrewpeacock วันที่ผ่านมา

    My friend over at @LetsReadPodcast needs to see this one!

  • @CreateApp-g5q
    @CreateApp-g5q 11 วันที่ผ่านมา

    Can you please create a tutorial of making a similar project?

  • @benjamoreno3347
    @benjamoreno3347 14 วันที่ผ่านมา

    Interesting.. I have one question: Requests to openai are client side or server side using tools like cURL?

  • @Krawcu_
    @Krawcu_ 14 วันที่ผ่านมา +1

    How do you sync transcription with voice? 🤔

  • @mazharansari7813
    @mazharansari7813 13 วันที่ผ่านมา

    What did you use in backend? I mean which framework?

  • @elmalleable
    @elmalleable 13 วันที่ผ่านมา

    how long did it take you to figure all this and build this out. blink and Cody puts out a video on a whole saasable thing

  • @SimonHibbert-k9y
    @SimonHibbert-k9y 13 วันที่ผ่านมา

    What about step functions instead of SQS

  • @NoamTamirMusic
    @NoamTamirMusic 14 วันที่ผ่านมา

    Perhaps profiling to see where exactly your bottlenecks are would help you find interesting ways of optimizing

  • @king-zu3ih
    @king-zu3ih 13 วันที่ผ่านมา

    if you need to run a long running task over 15min what aws service you need to use

    • @WebDevCody
      @WebDevCody  13 วันที่ผ่านมา

      Ec2, fargate, ecs. Something with a stateful machine

  • @415423591
    @415423591 12 วันที่ผ่านมา

    NO GEN AI.

  • @sumitpurohit8849
    @sumitpurohit8849 14 วันที่ผ่านมา +1

    Generate short vertical video bro you will make way more doing that.

    • @WebDevCody
      @WebDevCody  14 วันที่ผ่านมา

      Yeah TikTok is on the todo list

  • @ourlifeinportugal
    @ourlifeinportugal 8 วันที่ผ่านมา

    This would save me alot if time, is the code of this project opensource?

    • @ourlifeinportugal
      @ourlifeinportugal 8 วันที่ผ่านมา

      If have a phew ideas for it, if i can forl this that would be awesome

  • @mr.javascript1320
    @mr.javascript1320 14 วันที่ผ่านมา

    Quick question....why do u need SQS before your lambdas ??? Cant you not trigger the lambdas directly ???

    • @bithon5242
      @bithon5242 14 วันที่ผ่านมา

      To Retry (deez nutz) failed tasks

    • @WebDevCody
      @WebDevCody  13 วันที่ผ่านมา +1

      Sqs has automatic retires in case something fails, and when dealing with network requests or processes that use a lot of memory or cpu, sometimes stuff fails randomly

  • @jackmiddleton2080
    @jackmiddleton2080 13 วันที่ผ่านมา

    So are you planning to animate the images?

    • @WebDevCody
      @WebDevCody  13 วันที่ผ่านมา

      They already slowly zoom in if that counts

    • @jackmiddleton2080
      @jackmiddleton2080 13 วันที่ผ่านมา

      @@WebDevCody Honestly what you have done so far is more impressive.

  • @evan_ry
    @evan_ry 14 วันที่ผ่านมา

    Bro, 2 minutes to generate such a video is definitely not much. I don't think you need to optimize this. This thing already can get a lot of users.
    Next request will probably be "make different voices for different characters in dialogs"
    (I'm working on an AI audiobooks project, can say from experience)

  • @anothermouth7077
    @anothermouth7077 14 วันที่ผ่านมา +1

    Babe, how did you manage to sync the audio to the subscripts and videos, I'd belive creating video from images using ffmpeg could possibly make them out of sync ?

    • @WebDevCody
      @WebDevCody  14 วันที่ผ่านมา +2

      Open ai gives timestamps with each word, so I just show the words based on those timestamps

    • @anothermouth7077
      @anothermouth7077 14 วันที่ผ่านมา

      @@WebDevCody cool cool ! I'd also wanna explore them but my pocket don't allow.

    • @81NARY
      @81NARY 14 วันที่ผ่านมา

      ​@@anothermouth7077do you have a good gpu? If so whisper is open source and you could use other models to do this on your own system for learning.

    • @SETHthegodofchaos
      @SETHthegodofchaos 14 วันที่ผ่านมา

      @@WebDevCody I feel like there should be more words on sceren for longer. I dont like these super fast zoomer subtitles.

    • @anothermouth7077
      @anothermouth7077 13 วันที่ผ่านมา

      @@WebDevCody is it possible you could talk about your local/dev setup when working on cloud stack like AWS ? For instance When you had to create a lambda did you check it by deploying on some dev AWS account or you used a local stack. At my work we struggle with local development.

  • @arkodeepchatterjee
    @arkodeepchatterjee 14 วันที่ผ่านมา

    how are you generating the videos?

  • @RomanceStories-c4j
    @RomanceStories-c4j 14 วันที่ผ่านมา +1

    Great work! I did something similar, but with a completely automated process (no human in the loop - or almost, so far). This is my first attempts so the results are no so great yet, but check the channel if you want to take a look at them :D

  • @themax2go
    @themax2go 13 วันที่ผ่านมา

    cool prj but can just run locally for free

  • @TheDrokon
    @TheDrokon 13 วันที่ผ่านมา +1

    Dude, you're spending too much time fixating on the performance. Just put up a progress bar or send the user an email when it's done. If this ends up getting scale, you can start looking into optimizations, like having a dedicated server, etc.

    • @WebDevCody
      @WebDevCody  13 วันที่ผ่านมา

      Yeah that’s true

  • @powerofpavan7710
    @powerofpavan7710 14 วันที่ผ่านมา

    can i get code for this

  • @mikerico6175
    @mikerico6175 14 วันที่ผ่านมา

    Ur so cool

  • @themax2go
    @themax2go 13 วันที่ผ่านมา

    doesn't cost money if you run it locally 🤦🏽

  • @last.journey
    @last.journey 14 วันที่ผ่านมา

    I thought it's a real videos

  • @SaifurRahmanAkash
    @SaifurRahmanAkash 14 วันที่ผ่านมา

    Now I really wanna know how much faster Go would be in this

    • @WebDevCody
      @WebDevCody  14 วันที่ผ่านมา +2

      so far I've seen python is able to generate the frames at about 20ms a frame. My node-canvas solution is doing maybe 60ms a frame.

  • @nathangwyn6098
    @nathangwyn6098 13 วันที่ผ่านมา

    I hope ai generated content drives up the value of original content 🙏.

  • @StupidusMaximusTheFirst
    @StupidusMaximusTheFirst 14 วันที่ผ่านมา

    That's an amazing project you done there. I think lamdas are better for this kind of thing, where you spin up one for a cpu intensive task, but you're only gonna need this when users are making stuff. Going the dedicated server way, maybe if you have constant use. As for gpus, don't they rent on demand with gpus? Another option would be to have those AI requests on a dedicate server, but really simplify them as in no video creation and stitching on your server, go the WASM ffmpeg way. Not sure if it can be done at the moment, not really following WASM progress. Or probe capabilities (there must be some webAPI? if not, WASM? lol) and have both lamdas for people without the capabilities, say on a slow cpu, or no gpu, and WASM for the rest? This would save you money. That's a good project, take it further.

    • @WebDevCody
      @WebDevCody  13 วันที่ผ่านมา +1

      Generating a 7 min video costs maybe $0.12 cents, so whatever effort i put into all of this must be worth it. It’s much easier for me to just charge the user one extra dollar to cover operation costs honestly than it would be for me to look into everything you just said.

    • @StupidusMaximusTheFirst
      @StupidusMaximusTheFirst 13 วันที่ผ่านมา

      @@WebDevCody Sure, WASM is early stages atm, but it could really save you alot of money since the heavy lifting is gonna be taking place on people's computers, and most people have more than enough power sitting idle. Ffmpeg video creation and stitching is gonna use their cpu power. I think it's worth looking at it at some point, especially if your project succeeds and has alot of users. In any case, I really liked your project and hope it does!!!