1. ์๊ฐ
์๋ํ๊ณ ์ ํ๋ ๊ฒ๊ณผ ๊ทธ ์ด์
์๋ํ ๊ฒ: ๋จธ๋ฆฟ์ ๋ณต์กํ ์ก์๊ฐ์ ๊ฐ์ ๋ก ์ข ๋ฃ์์ผ์ฃผ๋ ๊ฐ์์ ์์ดํ '์๊ฐ ๋๋ ๋ฆฌ๋ชจ์ปจ'์ ์ฃผ์ ๋ก 1๋ถ ๋ถ๋์ ์ ํ๋ธ ์ผ์ธ /์ธ์คํ ๋ฆด์ค๋ฅผ ๊ธฐํํ๊ณ ์ ์ํ์ต๋๋ค.
์ด์ : ํ์ ์๊ฐ์ด ๋ง์ ์ ์ ๋ชป ์ด๋ฃจ๋ ํ๋์ธ๋ค์ ๊ณ ์ถฉ์ ๊ณต๊ฐํ์ฌ, ์ฌ๋ฏธ์๊ณ ๊ท์ฌ์ด ์นํฐ ์คํ์ผ์ ์์์ ํต ํด ์์ํ ์์๊ณผ ๋๋ฆฌ ๋ง์กฑ์ ์ ๋ฌํ๊ณ ์ถ์์ต๋๋ค. ๋ํ, ๋ณต์กํ ์์ ํธ์ง ํด์ ์ง์ ๋ค๋ฃจ๋ ๋์ , AI ์์ด์ ํธ์ Remotion ๊ธฐ๋ฐ์ ์๋ํ ํ๋ค์ค(Harness) ์์คํ ์ ํ์ฉํด ์ด๋ฏธ์ง์ ์์ฑ ํ์ผ๋ง์ผ๋ก ์์ฑ๋ ๋์ ์์์ ์ฝ๊ฒ ๋ฝ์๋ด๋ ํ์ดํ๋ผ์ธ์ ๊ฒ์ฆํด๋ณด๊ณ ์ถ์์ต๋๋ค.
2. ์งํ ๋ฐฉ๋ฒ
์ด๋ค ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๊ณ , ์ด๋ป๊ฒ ํ์ฉํ์ จ๋์?
ChatGPT (ํ ์คํธ ๋ฐ ์ด๋ฏธ์ง): '๋๋ ์ ์ฅ'๊ณผ '๋ชจ๋ชจ ์๋ฐ'๋ผ๋ ์บ๋ฆญํฐ ์ค์ , 1~6๋ฒ ์ฌ์ผ๋ก ๊ตฌ์ฑ๋ ๋๋ณธ(
01_script.md) ๊ธฐํ, ๊ทธ๋ฆฌ๊ณ ์ด๋ฏธ์ง ์์ฑ์ฉ ์๋ฌธ ํ๋กฌํํธ ์ถ์ถ ๋ฐ ์ค์ ์ด๋ฏธ์ง(.webp) ์์ฑ.
์ฌ ๋ฒํธ
ํ๋ฉด ๋ฌ์ฌ (์์)
๋๋ ์ด์ ๋ฐ ๋์ฌ (์์ฑ)
ํ๋ฉด ์๋ง
S1
๋คํฌ์ํด์ด ํฑ๊น์ง ๋ด๋ ค์จ ๋ชจ๋ชจ ์๋ฐ๊ฐ ๋์ ํญํ๊ฒ ๋จ๊ณ ์ ์๋ค. ๋๋ ์ ์ฅ์ด ์นด๋ฉ๋ผ๋ฅผ ๋ณด๋ฉฐ ์ฟ! ํ๋ ํฌ์ฆ๋ฅผ ์ทจํ๋ค.
๋๋: "์ฌ๋ฌ๋ถ, ์ด์ ฏ๋ฐค์๋ ๊ผฌ๋ฆฌ์ ๊ผฌ๋ฆฌ๋ฅผ ๋ฌด๋ ์๊ฐ ๋๋ฌธ์ ๋ฐค์์ จ๋์?"
์ด์ ฏ๋ฐค์๋ ์๊ฐํ๋๋ผ ๋ฐค์์ จ๋์?
S2
์นจ๋์ ๋์ ๋ค์ฒ์ด๋ฉฐ ๋จธ๋ฆฌ๋ฅผ ์ฅ์ด๋ฏ๋ ๋ชจ๋ชจ ์๋ฐ์ ํ์ ์ฅ๋ฉด.
๋ชจ๋ชจ: (ํผ๊ณคํ ๋ชฉ์๋ฆฌ) "์๋, ์๋ ค๊ณ ๋๋ง ๊ฐ์ผ๋ฉด ์ด๋ถํฅ ํ ์ผ๋ง ์๊ฐ๋๋ค๋๊น์ ใ ใ "
๋๋ง ๊ฐ์ผ๋ฉด ์ด๋ถํฅ ์๊ฐ ํญ๋ฐ ใ ใ
S3
๋๋ ์ ์ฅ์ด ํ์์ '๋ฒํผ์ด ๋ฑ ํ๋ ์๋ ์๋น ๋ฆฌ๋ชจ์ปจ'์ ์ง ! ํ๊ณ ๊บผ๋ธ๋ค.
๋๋: "๊ทธ๋์ ์ค๋นํ์ต๋๋ค. ์๋ ๋ฌผ๊ฑด ์์ ์ ๋ฒ ์คํธ์ ๋ฌ, '์๊ฐ ๋๋ ๋ฆฌ๋ชจ์ปจ'!"
๋ฒ ์คํธ์ ๋ฌ '์๊ฐ ๋๋ ๋ฆฌ๋ชจ์ปจ'
S4
๋ฆฌ๋ชจ์ปจ์ ๋นจ๊ฐ ๋ฒํผ์ ๊พน ๋๋ฅด๋ ๋๋ ์ ์ฅ. ๋ฆฌ๋ชจ์ปจ ๋์์ ๋ฟ ! ํ๋ ๊ท์ฌ์ด ๋น์ด ๋๊ฐ๋ค.
๋๋: "์ ์ ๋ฒํผ ํ๋๋ฉด, ๋ ์์ ๋ณต์กํ ์ค์์น๋ฅผ ๋ธ๊น! ๊บผ๋๋ฆฝ๋๋ค."
๋ฒํผ ํ๋๋ฉด ๋ ์ ์ค์์น๊ฐ ๋ธ๊น!
S5
๋น์ ๋ง์ ๋ชจ๋ชจ ์๋ฐ. ๊ฐ์๊ธฐ ๋๋์์ ์ด์ ์ด ์ฌ๋ผ์ง๋๋ ์ฒ์ฌ ๊ฐ์ ๋ฏธ์๋ฅผ ์ง์ผ๋ฉฐ ์ ์ฑ๋ก ์ฝ๋ฅผ ๊ณค๋ค.
๋ชจ๋ชจ: "ํคํค... (์ฝ ๊ณ ๋ ์๋ฆฌ Zzz)"
(ํ์จ ๊ทธ ์์ฒด) Zzz...
S6
์๋ ๋ชจ๋ชจ ์๋ฐ๋ฅผ ๋ณด๋ฉฐ ํ๋ฅผ ๋์ฏง ์ฐจ๋ ๋๋ ์ ์ฅ. ์นด๋ฉ๋ผ๋ฅผ ๋ณด๋ฉฐ ์ํฌํ๋ค.
๋๋: "๋จ์ : ๋ค์ ๋ ์ถ๊ทผํ ์๊ฐ๋ ๊บผ์ ธ๋ฒ๋ฆด ์ ์์ ์ฃผ์. ์ํ์๋ ๋ถ์ ์ง๊ธ ๋ฐ๋ก ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์!"
๋จ์ : ์ถ๊ทผํ ์๊ฐ๋ ๊บผ์ง ์ฃผ์ ๐
๋ฌด๋ฃ TTS ํด (ํด๋ก๋ฐ๋๋น): ์์ฑ๋ ๋๋ณธ์ ๋ณต์ฌํด ๋ฃ์ด ๊ฐ ์ฌ์ ๋ง๋ ์์ฑ ํ์ผ(.mp3) ์์ฑ.
Hedra (๋ฆฝ์ฑํฌ AI ํด): ChatGPT๊ฐ ๋ง๋ค์ด์ค ์ ์ง ์ด๋ฏธ์ง์ TTS ์์ฑ ํ์ผ์ ๊ฒฐํฉํด, ์บ๋ฆญํฐ๊ฐ ์ง์ ์ ์ ์์ง์ด๋ฉฐ ๋งํ๋ ๋์์(.mp4)์ผ๋ก ๋ณํ.
Node.js & Remotion (๋ก์ปฌ ํ๋ค์ค): ์์ฑ๋ ์ด๋ฏธ์ง, ์์ฑ, ๋น๋์ค ํ์ผ๋ค์
outputs/ep01/ํด๋์ ๋ชจ์๋ ๋ค,npm run render๋ช ๋ น์ด๋ฅผ ํตํด ์๋ง๊ณผ ํจ๊ป ํ๋์ ์๋ฒฝํ ์์์ผ๋ก ์๋ ํฉ์ฑ.
๐ก ํ์ฉํ ์ฃผ์ ํ๋กฌํํธ (Hedra ์์ ์์ฑ์ฉ)
์ด๋ฏธ์ง ์ ์บ๋ฆญํฐ๊ฐ ๋์ฌ์ ๋ง์ถฐ ์์ฐ์ค๋ฝ๊ฒ ํ์ ์ ์ง๋๋ก ์ง์ํ์ต๋๋ค.
์ฌ 1 (๋๋ ์ ์ฅ)
textSpeaking naturally directly to the camera, friendly and slightly playful expression, blinking, realistic subtle head movements, making eye contact.
์ฌ 2 (๋ชจ๋ชจ ์๋ฐ)
textSpeaking with an exhausted and slightly frustrated expression, frowning slightly, tired eyes, complaining naturally, realistic subtle head movements.
๐ผ๏ธ ํ์ฉ ์ด๋ฏธ์ง ๋ฐ ์บก์ฒ
๐ป ํ์ฉํ ์ฝ๋ (์๋ง ๋๊ธฐ ์ค์ )
์์คํ
์์ ์๋์ผ๋ก ๋์์ฃผ๋ ์๋ง์ด ํ์ ์์ ๋, project.json์ ์ค์ ์ ์กฐ์ํ์ฌ ์๋ง์ ๊ป์ต๋๋ค.
json"elements": {
"subtitles": {
"enabled": false,
"note": "๊ฐ๋ ์ฑ ์ข๊ณ ๊ท์ฌ์ด ํฐํธ๋ฅผ ํ์ฉํ ์๋ง ํจํค์ง"
}
}
3. ๊ฒฐ๊ณผ์ ๋ฐฐ์ด ์
๋ฐฐ์ด ์ ๊ณผ ๋๋ง์ ๊ฟํ
ํ์ผ ํ์ฅ์ ์ฃผ์: ๋ค์ด๋ก๋ ๋ฐ์ ํ์ผ์ ์ด๋ฆ์ ๋ณ๊ฒฝํ ๋
s01-voice.mp3.mp3๋s01-video.mp4.mp4์ฒ๋ผ ํ์ฅ์๊ฐ ์ค๋ณตํด์ ๋ถ์ง ์๋๋ก ์๋์ฐ ํด๋ ์ค์ (ํ์ฅ์ ํ์)์ ํ์ธํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค!Hedra ๊ฟํ: ๋ฆฝ์ฑํฌ ์์์ ๋ง๋ค ๋ ์ด๋ฏธ์ง์ ์์ฑ๋ง ๋ฃ์ด๋ ๋์ง๋ง, ์งง์ ํ๋กฌํํธ(์: friendly expression, blinking)๋ฅผ ์ถ๊ฐํ๋ฉด ํ์ ์ด ํจ์ฌ ์์ฐ์ค๋ฝ๊ณ ์๋๊ฐ ์๊ฒ ๋์ต๋๋ค.
Remotion ์๋ํ์ ํธ๋ฆฌํจ: ์์ ์์ค๋ค์ ํด๋์ ์ด๋ฆ๋ง ๋ง์ถฐ ๋ฃ์ด๋๋ฉด, ์์์ ํธ์ง(ํ๋ฆฌ๋ฏธ์ด ํ๋ก ๋ฑ) ์์ด ๋ช ๋ น์ด ํ ์ค(
npm run render)๋ก ์์ ๋ฐฐ์น์ ๋ ๋๋ง์ด ์๋์ผ๋ก ๋๋๋ ๊ฒ์ด ๋งค์ฐ ์ ๊ธฐํ๊ณ ํธ๋ฆฌํ์ต๋๋ค.
๊ณผ์ ์ค์ ์ด๋ค ์ํ์ฐฉ์ค๋ฅผ ๊ฒช์๋์?
์๋์ฐ CMD ๋ ๋๋ง ์ถฉ๋:
npm run preview๋ฅผ ํตํด ์น ๋ธ๋ผ์ฐ์ ๋ก ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์๋ํ์ผ๋, ์๋์ฐ ๋คํธ์ํฌ ์ค์ (IPv6)๊ณผ Node.js ๊ฐ์ ์ถฉ๋๋ก ์ธํดEFAULT์๋ฌ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ด๋ฅผ ์ฐํํ๊ธฐ ์ํด ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๊ฑด๋๋ฐ๊ณ ๋ฐ๋กnpm run render๋ก ์ต์ข.mp4ํ์ผ์ ๋ฝ์๋ด๋ ๋ฐฉ์์ ํํ์ต๋๋ค.๋ ๋๋ง ๋ฒ๊ทธ ์์ : ์๋์ฐ CMD์์
spawn EINVAL์๋ฌ๊ฐ ๋์ ๋ ๋๋ง์ด ์ ๋๋ ๋ฌธ์ ๊ฐ ์์๋๋ฐ, ์คํฌ๋ฆฝํธ ์ฝ๋(render_episode.mjs)์shell: true์ต์ ์ ๋ถ์ฌํ์ฌ ํด๊ฒฐํ์ต๋๋ค.์๋ง ๋๊ธฐ ๋ฒ๊ทธ: ๋ถ๋ช ์ค์ ์์ ์๋ง์ ๊ป์์๋ ๊ฐ์ ๋ก ์๋ง์ด ๊ทธ๋ ค์ง๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ์์ธ์ ์ฐพ์๋ณด๋ ํ ํ๋ฆฟ ์ฝ๋(
SceneClip.tsx)์ ํ๋์ฝ๋ฉ๋ ๋ถ๋ถ์ด ์์ด์, ์ค์ ๊ฐ(subtitles.enabled)์ ์ ์์ ์ผ๋ก ์ฝ๊ณ ๋ ๋๋ง์ ๊ฑด๋๋ฐ๋๋ก ์ฝ๋๋ฅผ ์ง์ ์์ ํด ํด๊ฒฐํ์ต๋๋ค.
๋์์ด ํ์ํ ๋ถ๋ถ์ด ์๋์?
ํ์ฌ๋ก์๋ AI ์์ด์ ํธ์ ๋์์ ๋ฐ์ ์๋ฌ๋ค์ ๋ชจ๋ ํด๊ฒฐํ๊ธฐ ๋๋ฌธ์ ๋งํ๋ ๋ถ๋ถ์ ์์ต๋๋ค!
์์ผ๋ก์ ๊ณํ
ํ์ฌ 1๋ฒ, 2๋ฒ ์ฌ๋ง Hedra๋ฅผ ์ด์ฉํด ๋งํ๋ ์์์ผ๋ก ๋ง๋ค์๋๋ฐ, ์๊ฐ์ด ๋ ๋ ๋๋จธ์ง 3~6๋ฒ ์ฌ๋ ๋ชจ๋ ๋งํ๋ ๋์์์ผ๋ก ๋ณํํ์ฌ 100% ๋์ ์์์ผ๋ก ์ด๋ฃจ์ด์ง ํ๋ฆฌํฐ ๋์ ์ผ์ธ ๋ฅผ ์์ฑํ ์์ ์ ๋๋ค.