그럼 먼저 좋은 대본을 많이 학습시키는 과정이 필요하겠네, 학습시킬때 중요한 프롬프트를 좀 상세하게 알려줄수 있을까? 숏폼 1분 / 3분/ 5분 / 10분 / 20분 / 30분 길이마다 달라질것 같아. 디테일한 내용으로 프롬프트 알려줘

영상 길이(Duration)에 따라 호흡과 구성은 완전히 달라져야 합니다. 1분짜리 쇼츠는 ‘도파민’이 핵심이고, 20분짜리 롱폼은 ‘서사(Storytelling)’가 핵심입니다.

이것을 GPT에게 학습(Few-Shot) 시키기 위한 **[만능 마스터 프롬프트]**와 **[길이별 설정값(Configuration)]**을 정리해 드립니다.

이 내용을 gpt-service.js 같은 코드에서 변수처럼 갈아 끼우시면 됩니다.


1. 기본 뼈대 (System Prompt) – 공통 사항

모든 영상에 공통적으로 적용되는 **’작가 페르소나’**와 **’JSON 출력 규칙’**입니다.

Markdown

# Role
너는 유튜브 알고리즘을 완벽하게 파악한 '메인 작가'야.
주어지는 [영상 길이]와 [주제]에 맞춰 최고의 시청 지속 시간을 이끌어내는 대본을 작성해.

# General Rules (Tone & Manner)
1. 구어체 필수: 문어체(~다, ~습니다) 절대 금지. 옆에서 친구에게 말하듯 (~해, ~야, ~했음) 작성.
2. 호흡 조절: 문장은 짧게 끊어쳐. 낭독했을 때 숨이 차지 않도록.
3. 시각화: 대사(Audio)에 딱 맞는 화면(Visual) 묘사를 포함해야 해.

# Output Format (JSON Only)
반드시 아래 JSON 형식으로만 출력해. 설명이나 잡담 금지.
{
  "title": "클릭을 부르는 자극적인 제목",
  "total_duration_estimate": "예상 소요 시간 (분:초)",
  "scenes": [
    {
      "section": "Intro/Body/Outro",
      "duration_sec": 3,
      "visual_desc": "화면 묘사 (예: 불타는 배경에서 놀란 표정의 남자)",
      "script": "와.. 이거 진짜 실화냐? (대사)"
    }
    ...
  ]
}


2. 길이별 학습 가이드 (User Prompt & Configuration)

GPT에게 요청할 때, 아래의 **[구조 지침]**을 user 메시지 앞단에 붙여주면 길이가 달라도 완벽하게 대응합니다.

A. 숏폼 (Shorts / Reels) – 1분 미만

  • 핵심: Hook (낚시) → Fast Pacing (속도감) → Replay (반복 유도)

  • 프롬프트 지침:

[지침: 1분 숏폼 스타일]

  • 구조: [강렬한 훅(5초)] -> [빌드업(15초)] -> [반전/핵심정보(30초)] -> [결론/질문(10초)]

  • 속도: 컷 전환은 2~3초마다 이루어져야 함. (총 씬 개수: 15~20개)

  • 금지: 서론이 길면 안 됨. 바로 본론으로 들어갈 것.

  • 꿀팁: 마지막 문장은 첫 문장과 이어지게 만들어서 무한 반복 재생을 유도해.

B. 미드폼 (정보/랭킹/리뷰) – 3분 ~ 10분

  • 핵심: Logic (논리) → Structure (구조화) → Retention (유지)

  • 프롬프트 지침:

[지침: 미드폼 정보 전달 스타일]

  • 구조: [오프닝/공감유도(30초)] -> [본론 1(기승)] -> [본론 2(전)] -> [본론 3(결)] -> [총정리 및 구독유도]

  • 속도: 한 씬당 5~8초 유지. 시청자가 정보를 이해할 시간을 줄 것.

  • 전략: 중간중간 “잠깐, 여기서 놀라운 점은…” 같은 연결멘트로 이탈을 막을 것.

C. 롱폼 (다큐/해설/썰) – 20분 ~ 30분

  • 핵심: Narrative (서사) → Immersion (몰입) → Emotion (감정)

  • 프롬프트 지침:

[지침: 롱폼 스토리텔링 스타일]

  • 구조: [프롤로그(하이라이트)] -> [챕터 1: 발단] -> [챕터 2: 전개/위기] -> [챕터 3: 절정/해결] -> [에필로그]

  • 속도: 호흡을 길게 가져가. 한 씬당 10~15초 가능. 배경음악의 분위기를 고려한 감성적인 멘트 허용.

  • 전략: 마치 영화 한 편을 보는 듯한 깊이 있는 서술 필요. 단순 정보 나열 금지. 기승전결의 드라마를 만들 것.


3. 실제 “학습용 데이터(Few-Shot)” 예시

이것을 프롬프트의 **example**로 넣어주면 GPT가 “아, 이렇게 쓰라는 거구나” 하고 바로 알아듣습니다. 가장 수요가 많은 1분 숏폼5분 미드폼 예시를 만들어 드립니다.

[학습 데이터 1] 1분 숏폼 (JSON)

(GPT에게 이 예시를 보여주고 “이거랑 똑같이 써”라고 하세요)

JSON

{
  "title": "한국인이 가장 많이 틀리는 맞춤법 TOP 1",
  "total_duration_estimate": "00:58",
  "scenes": [
    {
      "section": "Hook",
      "duration_sec": 3,
      "visual_desc": "빨간색 X 표시가 크게 쳐진 텍스트 '뵈요'",
      "script": "아직도 '내일 뵈요'라고 보내는 사람 있어? 제발 그만해!"
    },
    {
      "section": "Body",
      "duration_sec": 5,
      "visual_desc": "카카오톡 채팅창에서 상대방이 읽씹하는 장면",
      "script": "썸남썸녀한테 이렇게 보냈다가 차단당해도 할 말 없다고."
    },
    {
      "section": "Climax",
      "duration_sec": 10,
      "visual_desc": "칠판에 선생님이 '봬 = 뵈어' 공식을 적는 장면",
      "script": "딱 정해줄게. '봬'는 '뵈어'의 준말이야. '내일 뵈어요'가 말이 되면 '봬요'가 맞는 거야."
    },
    {
      "section": "Outro",
      "duration_sec": 5,
      "visual_desc": "구독 버튼을 손가락으로 누르는 애니메이션",
      "script": "이제 안 틀릴 자신 있으면 좋아요 한 번 눌러줘!"
    }
  ]
}

[학습 데이터 2] 5분 정보 영상 (JSON)

(미드폼/롱폼 제작 시 이 예시를 주입하세요)

JSON

{
  "title": "비트코인, 지금 사도 될까? (객관적 분석)",
  "total_duration_estimate": "05:10",
  "scenes": [
    {
      "section": "Intro",
      "duration_sec": 20,
      "visual_desc": "비트코인 차트가 급락했다가 급등하는 역동적인 모션 그래픽",
      "script": "천당과 지옥을 오가는 비트코인. 지금이 기회일까요, 아니면 폭탄 돌리기일까요? 3가지 지표로 팩트만 체크해 드립니다."
    },
    {
      "section": "Point 1",
      "duration_sec": 45,
      "visual_desc": "미국 연준 의장이 금리 발표를 하는 뉴스 자료화면",
      "script": "첫 번째는 금리입니다. (중략) 돈줄이 마르면 코인도 힘을 못 쓰죠. 하지만 최근 시그널은 다릅니다."
    },
    ... (중략: Point 2, Point 3) ...
    {
      "section": "Conclusion",
      "duration_sec": 30,
      "visual_desc": "물음표가 느낌표로 바뀌는 인포그래픽",
      "script": "결론입니다. 무지성 매수는 위험하지만, 분할 매수는 유효한 구간입니다. 여러분의 생각은 어떠신가요? 댓글로 토론해 봅시다."
    }
  ]
}


4. 어떻게 적용하나요? (구현 가이드)

개발 중인 Node.js 코드에서 duration 파라미터에 따라 **다른 지침(Instruction)과 예시(Example)**를 섞어서 보내면 됩니다.

JavaScript

// prompt-manager.js (가상 코드)

function buildPrompt(topic, durationMinutes) {
  let styleGuide = "";
  let fewShotExample = "";

  if (durationMinutes <= 1) {
    styleGuide = "지침: 1분 숏폼 스타일 (훅-바디-반전), 컷 전환 3초";
    fewShotExample = JSON.stringify(shortFormSample); // 위에서 만든 숏폼 예시
  } else if (durationMinutes <= 10) {
    styleGuide = "지침: 미드폼 정보 전달 (서론-본론3-결론), 컷 전환 8초";
    fewShotExample = JSON.stringify(midFormSample);   // 위에서 만든 미드폼 예시
  } else {
    styleGuide = "지침: 롱폼 스토리텔링 (기승전결 서사), 깊이 있는 분석";
    fewShotExample = JSON.stringify(longFormSample);  // 롱폼 예시
  }

  return {
    role: "system",
    content: `... (기본 시스템 프롬프트) ...`,
    user_instruction: `
      주제: ${topic}
      길이: ${durationMinutes}${styleGuide}
      
      [참고할 완벽한 예시]
      ${fewShotExample}
      
      위 예시와 같은 구조와 JSON 포맷으로 작성해.
    `
  };
}

팁: 처음에는 3가지(1분, 5분, 20분) 예시만 완벽하게 만들어두면, 3분/10분/30분 등 애매한 시간대는 GPT가 알아서 중간값으로 맞춰줍니다. **”극단적인 예시(아주 짧은 것, 아주 긴 것)”**를 학습시키는 게 효과가 좋습니다.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다