[Project] Youtube Shorts Generator : dall3 api ๋ฅผ ์ฐ๋ฉด์
Youtube Shorts Generator
๋ content ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก gpt์๊ฒ ์คํ ๋ฆฌ๋ณด๋๋ฅผ ์์ฑํ๊ฒ ํ๊ณ , ์คํ ๋ฆฌ๋ณด๋๋ ์ฌ๋ฌ๊ฐ์ ์ฌ์ ๊ฐ์ง๊ณ ์๋ค. ๊ฐ ์ฌ์ ์ด๋ฏธ์ง ํ๋กฌํํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก dalle-3 ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๊ฐ ์คํ ๋ฆฌ์ ๋ํ ์ด๋ฏธ์ง ์์ฑ์ํค๊ณ , ์์ฑ๋ ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก stability AI ์ img2vid ๋ชจ๋ธ์ ์ด์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ์งง์ ๋น๋์ค๋ก ๋ณํํ์ฌ ๋ชจ๋ ์ฌ์ ์ด์ด ๋ถ์ธ ํ, ๋๋ณธ์ ์
ํ๊ณ , ์์ฑ์ ์
ํ ์์ฆ ์ ํํ๋ shorts๋ฅผ ์๋์ผ๋ก ์์ฑํ๊ฒ ํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด๋ค.
์ค๋ ํฌ์คํ ํ ์ฃผ์ ๋, ์์ฑ๋ ์คํ ๋ฆฌ๋ณด๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ dalle3 ๋ชจ๋ธ์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง, ๊ทธ๋ฆฌ๊ณ ํด๋น ๋ชจ๋ธ์ ์ฌ์ฉํ๋ฉด์ ์๊ฒผ๋ ๋ฌธ์ ์ ๊ทธ ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ๊ณ ์ ํ๋์ง์ ๋ํ ํฌ์คํ ์ ํ๋ ค๊ณ ํ๋ค.
|
|
๋๋ openAI ์์ dall3 ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์๋ API๋ฅผ ์ฌ์ฉํ๋ค. API๋ฅผ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ ๋จ์ํ API_KEY ๋ฅผ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ฑ๋ก๋ง ํด์ฃผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ด ๊ฐํธํ๋ค.
|
|
dall-e-3
๋ชจ๋ธ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด, quality ๊ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก ‘standard’ ์ธ๋ฐ, ‘hd’์ ๊ณ ํด์๋ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋๋ก ํ ์ ์๋ค.
์ถ๊ฐ์ ์ผ๋ก style์ ์ง์ ํ ์ ์๋๋ฐ, ‘vivid’ ์ ’natural’์ ์ ๊ณตํ๋ค. vivid ๋ hyper-real, dramastic image ๋ฅผ ์์ฑํ๋ค๊ณ ํ๊ณ , natural์ ๋ง ๊ทธ๋๋ก ์ข ๋ ์์ฐ์ค๋ฝ๊ฒ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ค.
์ฌ์ด์ฆ๋ฅผ ์์ ๋กญ๊ฒ ์ ํํ ์ ์๋ค๋ฉด ์ข๊ฒ ์ง๋ง, ์์ฝ๊ฒ๋ dalle3๋ 1024x1024, 1024x1792 or 1792x1024 pixels ๋ง ์ง์ํ๋ค. ๋ฐ๋ผ์, ํด๋น ํ๋ก์ ํธ์ ์ด๋ฏธ์ง ์์ฑ ๋ชจ๋ธ์ dalle3๊ฐ ์์ฑํ ์ด๋ฏธ์ง๋ฅผ, img2vid ๋ชจ๋ธ์ input์ ๋ง๊ฒ ํด์๋๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ฏ๋ก ํด์๋๋ฅผ ๋ณ๊ฒฝํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํด์คฌ๋ค.
dall3 ๋ ์น์์ ์ ๊ทผํ ์ ์๋ ์ด๋ฏธ์ง url ๋๋ base64 json ํฌ๋งท์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ์๋ตํ๋๋ฐ, ์น url์ ์ ๊ทผ ์ ํ ์๊ฐ์ด 1์๊ฐ์์ ์ ์ํ์.
์ฌ๊ธฐ์ n์ ์ฃผ๋ชฉ์ ํด๋ณด๋ฉด, n๊ฐ์ ๋ชจ๋ธ์ด ์์ฑํ๋ ์ด๋ฏธ์ง์ ๊ฐฏ์์ด๋ค. dalle3์ ๋ชจ๋ธ์ ๊ฒฝ์ฐ n=1๋ง์ ์ง์ํ๋ค.dalle2 ๋ชจ๋ธ์ ์ฌ์ฉํ ๊ฒฝ์ฐ, ํ๋กฌํํธ๋น 10๊ฐ์ ์ด๋ฏธ์ง๊ฐ ์์ฑ์ด ๊ฐ๋ฅํ๋ค.
์ฌ๊ธฐ์ ๋ ํ๋ ๋ฌธ์ ๊ฐ ์๋๋ฐ, openAI ์ ๋ฑ๋ก๋ API KEY ๋น 1๋ถ๋น dalle3 API ํธ์ถํ์์ ์ ํ์ด ์๋ค๋ ๊ฒ์ด์๋ค. openAI ์๋ tier ๊ฐ ์กด์ฌํด์, ๊ฐ ํฐ์ด๋ง๋ค ๋ถ๋น api ํธ์ถํ์์ ์ ํ์ด ์๋ค. ๋๋ ๋์ด ์๋ ๋ฐฑ์์ด๊ธฐ ๋๋ฌธ์, 1๋ฌ์ 50๋ฌ๋ฌ ์ด์์ openAI ํฌ์ํ ์ ์์ด 1๋ถ๋น ํธ์ถํ์๋ 5๋ฒ์ด ์ ํ์ด๋ค. (dall3 ๋ชจ๋ธ์ ๊ฒฝ์ฐ)
gpt ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์์ฑํ ์คํ ๋ฆฌ๋ณด๋๋ 10๊ฐ์ ์ฌ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๊ณ , ๊ฐ ์ฌ ๋ณ๋ก ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋๋ก ํธ์ถํ๋๋ rate limit ์ ํ์ ๊ฑธ๋ ค ์ด๋ฏธ์ง๋ฅผ ์์ฑํ์ง ๋ชปํ๋ ์ด์๊ฐ ์์๋ค.
๋ฌผ๋ก ํด๋น ํ๋ก๊ทธ๋จ์ ๋ ํผ์์ ์ฐ๊ฒ ๋๋ค๋ฉด ๋ฌธ์ ๋ ์์ง๋ง, ๋๋ ์ด ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ธ ์ ์๋๋ก ๋ง๋ค๊ณ ์ถ์๊ณ , 1๋ถ๋น ํธ์ถํ์ ์ ํ์ ๋ฒฝ์ ๋ซ๊ธฐ ์ํด ์ด๋ป๊ฒ ํ๋ฉด ์ข์ ์ง ์๊ฐํด๋ณด์๋ค. ์ฒซ๋ฒ์งธ๋ก ๋ ์๊ฐ์, ๊ฐ ์ฌ์ ๋ํ ์ด๋ฏธ์ง ํ๋กฌํํธ๋ฅผ ๋ฐ๋ ๋๊ธฐ์ด ํ์ ์ด๋ฏธ์ง ํ๋กฌํํธ๋ฅผ ๋ฑ๋กํ๊ณ , 1๋ถ๋ง๋ค cron job ์ ๋๋ ค์ 5๊ฐ์ฉ ๋ฉ์์ง๋ฅผ ๋นผ์ค๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ์ ํ๋ค. ์ฌ๊ธฐ์ ๋ ํ๋ ๋ค์๋ ์๊ฐ์ 5๊ฐ์ ๋ฉ์์ง๊ฐ ๋ชจ๋ ํ ์ฌ๋์ด ์์ฑํ ํ๋กฌํํธ๊ฐ ์๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ์ฌ์ ๋ํ ์ด๋ฏธ์ง ์์ฑ ํ ์๋ํ img2vid ๋ชจ๋์ด ์ธ์ ๋น๋์ค๋ฅผ ์์ฑํ๋ฉด ์ข์ ์ง ๋ชจ๋ฅธ๋ค๋ ๊ฒ์ด์๋ค.
๊ทธ๋์ ๋๋ฒ์งธ๋ก ํ๋ ์๊ฐ์, ์ต๊ทผ์ ์นดํ์นด ๊ด๋ จ ์ฑ ์ ์ฝ์ผ๋ฉด์ control message ๋ฅผ ์ด์ฉํด ํธ๋์ญ์ ๊ด๋ฆฌ๋ฅผ ํ๋ ๋ด์ฉ์ ๋ณธ์ ์ด ์์ด์, control message ์ ๋น์ทํ๊ฒ ๊ฐ ์คํ ๋ฆฌ ๋ณด๋ ๋ง์ง๋ง ์ฌ์ ์ด๋ฏธ์ง ํ๋กฌํํธ๋ฅผ ๋ฉ์์งํ์ ๋ฃ๊ณ ๋์, ํด๋น ์ด๋ฏธ์ง ํ๋กฌํํธ๊ฐ ๋ง์ง๋ง์ด๋ผ๋ ๊ฒ์ ์๋ฆด ์ ์๋๋ก ๋ฉ์์ง ํ์ “ํน์ ์คํ ๋ฆฌ๋ณด๋์ ์ด๋ฏธ์ง ํ๋กฌํํธ์ ๋์ ๋๋ค” ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ๋ ๋ ์ถ๊ฐํด์ฃผ๋ฉด ์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ์๋ ์๊ฒ ๋ค๋ผ๋ ์๊ฐ์ ํ๋ค.
์ถ๊ฐ์ ์ผ๋ก, ์ด๋ฏธ์ง ์์ฑ ๋ชจ๋ธ์ด dalle3 ๋ง ์กด์ฌํ๋ ๊ฒ์ด ์๋๊ณ ์ฌ๋ฌ ๋ชจ๋ธ์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ( e.g. stable diffusion) ์ ๋ชจ๋ธ์ ๊ฐ์ด ์ฌ์ฉํ๊ฒ ๋๋ฉด, ๋ถ๋น 5๊ฐ ์ด์์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์๊ฒ ๋ค๋ ์๊ฐ์ ํ๋ค. ๋ ์คํํด๋ด์ผ ํ ๊ฒ์, ๋ถ๋น ํธ์ถํ์๋ฅผ ๋๋ฆฌ๊ธฐ ์ํด, ์๋ก ๋ค๋ฅธ ip, api-key๋ฅผ ๊ฐ์ง ์๋ฒ๋ฅผ ์ฌ๋ฌ๊ฐ ๋์์ ํ๋ ๋ฐฉ๋ฒ๋ ์๋ํด๋ณด๋ ค๊ณ ํ๋ค.