들어가며
이번 시간에는 뉴스 기사 본문 텍스트를 가지고 프롬프트를 만들고, 이를 chatGPT API에 요청해서 쇼츠 대본을 생성해보겠습니다.
프롬프트 생성
먼저 프롬프트 템플릿을 복붙해줍니다. 그 다음 읽어온 뉴스 기사로 이제 프롬프트를 만들어줍니다.
prompt_template = """
최신 연예 뉴스 기사가 주어집니다.
뉴스 기사를 참고해서 유튜브 쇼츠 영상 대본을 만들어주세요.
각 단락마다 영상에 소개될 이미지나 영상 클립을 묘사해주세요.
10대 소녀가 친구에게 말하는 듯한 말투로 작성해주세요.
아래 포맷으로 작성해주세요.
[제목] <제목 텍스트>\n\n
[클립] <영상에서 보여줄 이미지나 영상에 대한 묘사>\n
[대본] <나레이션 방식의 대본>\n
[클립] <영상에서 보여줄 이미지나 영상에 대한 묘사>\n
[대본] <나레이션 방식의 대본>\n
...
---
뉴스 기사: {article}
---
""".strip()
prompt_template = """
최신 연예 뉴스 기사가 주어집니다.
뉴스 기사를 참고해서 유튜브 쇼츠 영상 대본을 만들어주세요.
각 단락마다 영상에 소개될 이미지나 영상 클립을 묘사해주세요.
10대 소녀가 친구에게 말하는 듯한 말투로 작성해주세요.
아래 포맷으로 작성해주세요.
[제목] <제목 텍스트>\n\n
[클립] <영상에서 보여줄 이미지나 영상에 대한 묘사>\n
[대본] <나레이션 방식의 대본>\n
[클립] <영상에서 보여줄 이미지나 영상에 대한 묘사>\n
[대본] <나레이션 방식의 대본>\n
...
---
뉴스 기사: {article}
---
""".strip()
chatGPT API 요청 및 화면 출력
이제 만들어진 프롬프트로 chatGPT API를 요청하고, 결과를 화면에 출력해줍니다. 생성된 영상을 편하게 제작하기 위해서 대본 부분만 따로 출력하는 기능도 추가해주겠습니다.
if submit:
if not reference_url:
st.error("참고할 뉴스 URL을 넣어주세요.")
elif not reference_url.startswith("https://entertain.naver.com/"):
st.error("지원되지 않는 URL입니다.")
else:
article = parse_article(reference_url)
prompt = prompt_template.format(article=article)
system_role = "당신은 쇼츠 전문 유투버입니다."
response = request_chat_completion(prompt, stream=True, system_role=system_role)
message = write_streaming_response(response)
st.divider()
st.subheader("복사용 대본")
scripts = [x for x in message.split("\n") if x.startswith("[대본]")]
for script in scripts:
st.markdown(script.replace("[대본]", "").strip())
마치며
이상으로 유튜브 쇼츠 생성 서비스 구현을 마무리 해보겠습니다. 다음 강의에서는 AI 영상 편집기 vrew를 이용해서 쇼츠 영상을 만드는 모습을 보여드리겠습니다.
'교육과정 > chatGPT API로 AI 서비스 개발하기' 카테고리의 다른 글
[22] 쇼츠 대본 생성기 - vrew로 영상 제작하기 (0) | 2023.10.24 |
---|---|
[20] 쇼츠 대본 생성기 - UI 개발하기 (0) | 2023.10.24 |
[19] 쇼츠 대본 생성기 - 프롬프트 엔지니어링 (0) | 2023.10.24 |
[18] 쇼츠 대본 생성기 - 크롤러 개발 (0) | 2023.10.24 |
[17] 쇼츠 대본 생성기 프로젝트 소개 (0) | 2023.10.24 |