#Fully Automated Youtube Channel (Using ChatGPT, ElevenLabs, and DALLE-2)

43 messages · Page 1 of 1 (latest)

lapis agate
#

I spent the weeking coding up a generator that creates youtube shorts automatically!

Channel: https://www.youtube.com/@Random-Daily-Facts

How it works:

  • Topic Preparation: This project asks chatGPT to create a topic (either based on my input or fully auto-generated)
  • **Script, Title, and Description: **Based on the topic, chatGPT generates a video script, title, and description for the video.
  • **Voiceover Generation: **It uses Eleven Labs API to generate voiceovers for each line of text.
  • **Image Generation: **It generates relevant images for each line of the script, based on the topic using DALLE 2.
  • Slideshow Generation: A slideshow is created, which lines up the images to the line of text being spoken.
  • **Subtitles (Optional): **Automatically adds subtitles to the video, which are auto-generated and overlaid onto the video using text-to-image tools.
  • Music Addition: The script adds background music to the video and includes licensing information in the description.
  • **Final Video Creation: **The generated video components are combined into a final video, which is saved as an MP4 file.
  • **Auto-Upload (Optional): **Uploads the video directly to YouTube with the provided title and description.

Of course, I used GPT 4 to help code almost everything. All in all, it took about 12 hours to make. Now I can create amazing videos at the click of a button. My videos don't auto-upload just yet because I need to get my API usage verified by Google, but other than that, it's all automatic.

**Updates **

  • Youtube doesn't like automatically generated + posted content, so I'll continue manually reviewing all videos before posting them on my channel.
  • If you try doing anything like this, make sure to follow the OpenAI content policies https://openai.com/policies/sharing-publication-policy and the policies of any other AI tools you use.
  • You can try my video generator here: https://easyvid.xyz/
vivid umbra
#

Could you please tell me if there is a cost associated with this?

lapis agate
# vivid umbra Could you please tell me if there is a cost associated with this?

Yeah it costs me about $0.33 per video because I use the OpenAI and ElevenLabs APIs.

DallE-2 is $0.02 per image, and I use about 8-10 images per video, so that's $0.20. gpt-3.5-turbo is so cheap it is basically free, because in total it's only around 500 tokens or less ($0.001 or something like that)

Eleven labs I signed up for their $5/month subscription which gives 30,000 characters of text-to-speech per month. My scripts are about 700 characters long, so that's about $0.11 per video.

So let's call it approximately $0.33 per video, which is, imo, insanely good

mellow perch
#

Hey is the tool available to public??

molten dew
#

u are a genius

errant plover
#

That sounds great, is there any chance that you would share this code?
Pretty please? 🙂 😅

lapis agate
pearl canyon
#

That's a brilliant job

hidden rune
#

You can't set publish to a video upload by API unless they allow your company to do that. It's a manual verification process... I tried :/

lapis agate
timid mesa
#

Could you upload it through beautiful soup? Instead of waiting for the api

alpine ermine
#

oko

errant plover
#

If you need help testing from a seasoned it guy... just let me know 🙂

compact warren
lapis agate
celest berry
#

also, be careful with the Auto-Upload feature, I might be wrong, but I think that youtube does not allow that

#

and, for OAI's publication policy:

Manually review each generation before sharing or while streaming.

lapis agate
lapis agate
celest berry
#

very nice, I think it is enough already to have that disclosed on the description, good job on your content generation system =)

timid mesa
#

How are your views coming along? is the plan to run this for a month and see how it goes?

lapis agate
# timid mesa How are your views coming along? is the plan to run this for a month and see how...

I think the plan is to try a whole bunch of things to see what works.

For example, I could connect it to a news scraper, and get 10 videos each morning on the latest news. Or maybe people really like AI generated cat videos lol. I don't know the best use-case for this yet so I'm just trying a whole bunch of things out.

The channel currently has about 500 views total. First day I got zero views, now I'm getting about 8 or so per hour. A couple videos have over 100.

#

I also want to turn this tool into a website that people can use to generate their own videos. But that's a lot more complicated and I've never done anything like it, so it'll take a bit of time to get going.

blissful basin
#

Hey how are you doing the subtitles automatically? Working on something similar and subtitles is something I've been stuck on for a few hours now.

lapis agate
# blissful basin Hey how are you doing the subtitles automatically? Working on something similar ...

Tried a bunch of techniques, but right now I turn the script into "lines" of text, and each line into "chunks" of text, 20 characters or less each.

I generate the voiceover line-by-line, so I know how many seconds is in 1 line, say 10 seconds. Let's say the line was 50 characters long = 3 chunks (20, 20, 10)

Now my first approach was to just show each chunk equally, making it 3.33 seconds per chunk, but it doesn't work:
1: It looks really unnatural with perfectly equal timing
2: The last chunk would start too early, making the voiceover not match the subtitles.

So instead, show each chunk for the amount of time proportional to the total # of characters in a line. In this example, chunk times should be 4, 4, 2. (40%, 40%, 20% of 10 seconds). This makes the timing Good Enough™ to the point where you don't really notice it.

Hopefully that makes sense! The way I'm doing it might be totally different from your approach, but I like this way because it doesn't rely on speech-to-text which is really inaccurate.

blissful basin
# lapis agate Tried a bunch of techniques, but right now I turn the script into "lines" of tex...

I've been more geared towards speech to text and actually came to this discord to look at whisper, which is a bit too complex for me tbh. I'm also converting using a TTS library so I have the whole transcript as a txt file but the lining up/spacing is the most annoying part.
Could you tell me what library/lang you're using? Currently my entire project is in python but at this point I'll do anything to get past this roadblock.

lapis agate
#

I would advise against using speech-to-text unless you absolutely need to. You have the full clean transcript already as a txt so you might as well use the text instead of doing TTS->STT and garbling the information.

I recommend generating multiple short voice clips. 1 per sentence, then stitching them together. Then you can measure the length of each audio clip, and then you get the timing of each sentence.

sour lance
#

Nice work. yes

timid mesa
#

Hey Steven. Do you mind if I message you? Im sure you’re getting 100 messages about asking for the code. But I was wondering how do you get it to work out how many photos a certain video needs. Depending on length sort of thing

lapis agate
#

Btw here's a 1-week update. I haven't really been promoting the channel at all on social media, was hoping the Youtube algo would work it's magic, but nothing yet. Most of my views have come from the link I posted above 🙂

Interesting stats, my average watch time is actually really high! On average, people are watching at least 40-60% of these videos, which is really good considering it's all AI generated. I've made some improvements to the image generation prompts so that it generates better quality, more relevant images. I might try doing shorter videos (~30 seconds compared to 45-60 second videos) to see if that caters more to our novelty craving, hyper-short attention spans xD

#

The channel is kinda dead tho, ngl lol

idle copper
#

give it time 😉

#

this is something for months and years not days and weeks 😉

void dew
#

@lapis agate hi

#

Can we do a collab for creating an app

lapis agate
kindred agate
#

Pretty cool, just checked it out!

sand basalt
lapis agate
cyan oriole
cyan oriole
#

wow, i just tried it and this is really cool @lapis agate