๐ŸŽฌ ๋Œ๋ฆผ์˜์ƒ ์ˆํผ ์ œ์ž‘ ํšŒ๊ณ ๋ก: '์ƒ๊ฐ ๋„๋Š” ๋ฆฌ๋ชจ์ปจ'

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 (๋‚˜๋‚˜ ์ ์žฅ)

text

Speaking naturally directly to the camera, friendly and slightly playful expression, blinking, realistic subtle head movements, making eye contact.

์”ฌ 2 (๋ชจ๋ชจ ์•Œ๋ฐ”)

text

Speaking 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)๋กœ ์ˆœ์„œ ๋ฐฐ์น˜์™€ ๋ Œ๋”๋ง์ด ์ž๋™์œผ๋กœ ๋๋‚˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์‹ ๊ธฐํ•˜๊ณ  ํŽธ๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ณผ์ • ์ค‘์— ์–ด๋–ค ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๊ฒช์—ˆ๋‚˜์š”?

  1. ์œˆ๋„์šฐ CMD ๋ Œ๋”๋ง ์ถฉ๋Œ: npm run preview๋ฅผ ํ†ตํ•ด ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์‹œ๋„ํ–ˆ์œผ๋‚˜, ์œˆ๋„์šฐ ๋„คํŠธ์›Œํฌ ์„ค์ •(IPv6)๊ณผ Node.js ๊ฐ„์˜ ์ถฉ๋Œ๋กœ ์ธํ•ด EFAULT ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋ฐ”๋กœ npm run render๋กœ ์ตœ์ข… .mp4 ํŒŒ์ผ์„ ๋ฝ‘์•„๋‚ด๋Š” ๋ฐฉ์‹์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

  2. ๋ Œ๋”๋ง ๋ฒ„๊ทธ ์ˆ˜์ •: ์œˆ๋„์šฐ CMD์—์„œ spawn EINVAL ์—๋Ÿฌ๊ฐ€ ๋‚˜์„œ ๋ Œ๋”๋ง์ด ์•ˆ ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ, ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ(render_episode.mjs)์— shell: true ์˜ต์…˜์„ ๋ถ€์—ฌํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

  3. ์ž๋ง‰ ๋„๊ธฐ ๋ฒ„๊ทธ: ๋ถ„๋ช… ์„ค์ •์—์„œ ์ž๋ง‰์„ ๊ป์Œ์—๋„ ๊ฐ•์ œ๋กœ ์ž๋ง‰์ด ๊ทธ๋ ค์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์›์ธ์„ ์ฐพ์•„๋ณด๋‹ˆ ํ…œํ”Œ๋ฆฟ ์ฝ”๋“œ(SceneClip.tsx)์— ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๋ถ€๋ถ„์ด ์žˆ์–ด์„œ, ์„ค์ •๊ฐ’(subtitles.enabled)์„ ์ •์ƒ์ ์œผ๋กœ ์ฝ๊ณ  ๋ Œ๋”๋ง์„ ๊ฑด๋„ˆ๋›ฐ๋„๋ก ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ˆ˜์ •ํ•ด ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๋„์›€์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์ด ์žˆ๋‚˜์š”?

  • ํ˜„์žฌ๋กœ์„œ๋Š” AI ์—์ด์ „ํŠธ์˜ ๋„์›€์„ ๋ฐ›์•„ ์—๋Ÿฌ๋“ค์„ ๋ชจ๋‘ ํ•ด๊ฒฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ง‰ํžˆ๋Š” ๋ถ€๋ถ„์€ ์—†์Šต๋‹ˆ๋‹ค!

์•ž์œผ๋กœ์˜ ๊ณ„ํš

  • ํ˜„์žฌ 1๋ฒˆ, 2๋ฒˆ ์”ฌ๋งŒ Hedra๋ฅผ ์ด์šฉํ•ด ๋งํ•˜๋Š” ์˜์ƒ์œผ๋กœ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ, ์‹œ๊ฐ„์ด ๋‚  ๋•Œ ๋‚˜๋จธ์ง€ 3~6๋ฒˆ ์”ฌ๋„ ๋ชจ๋‘ ๋งํ•˜๋Š” ๋™์˜์ƒ์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ 100% ๋™์  ์˜์ƒ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ํ€„๋ฆฌํ‹ฐ ๋†’์€ ์‡ผ์ธ ๋ฅผ ์™„์„ฑํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๋„์›€ ๋ฐ›์€ ๊ธ€ (์˜ต์…˜)

๋‰ด์Šค๋ ˆํ„ฐ ๋ฌด๋ฃŒ ๊ตฌ๋