[KOR][100]Create-Image-Rich-PDFs-Using-AI-Agents-(

https://m.youtube.com/watch?v=jvUOy6UiH5w&pp=ugUEEgJlbg%3D%3D

Frame at 4.25s
## AI 기반 워크플로우: 텔레그램 메시지로 역사적 사건 PDF 자동 생성 이 워크플로우는 텔레그램 메시지를 입력받아 역사적 사건에 대한 챕터별 텍스트와 이미지를 생성하고, 최종적으로 PDF 문서를 만들어 Google Drive에 저장합니다. ### 1. 워크플로우 개요 * **입력:** 텔레그램으로 전송된 역사적 사건 관련 텍스트 메시지 * **처리:** * 메시지 유효성 검사 및 주제 정제 * Google Sheet에 작업 등록 * 웹 검색을 통한 정보 수집 및 5개 챕터 구성 (각 챕터별 텍스트 및 이미지 프롬프트 생성) * `Nano Banana Pro`를 이용한 이미지 생성 * 생성된 이미지 Google Drive 및 Cloudinary에 업로드 (Public URL 확보) * HTML 문서 생성 (이미지 URL 포함) * HTML을 PDF로 변환 * 최종 PDF Google Drive에 저장 * **출력:** Google Drive에 저장된 역사적 사건 관련 PDF ### 2. 상세 워크플로우 구성 #### 2.1. 트리거 및 메시지 유효성 검사 * **텔레그램 트리거:** 새로운 메시지 수신 감지 * *참고:* 텔레그램 외 다른 채팅 도구도 연동 가능 * **파일 검사 (If Node):** * 수신된 메시지가 텍스트인지, 파일(이미지, 비디오 등)인지 구분 * 파일 포함 시: "파일은 지원되지 않습니다." 메시지 후 워크플로우 중단 * 텍스트 메시지만 다음 단계로 진행 #### 2.2. 첫 번째 AI 에이전트: 주제 검증 및 정제 * **역할:** 수신된 메시지가 역사적 사건, 인물, 교육적 개념에 대한 유효한 주제인지 판단 * **기능:** * 주제가 유효하면 `is_valid: true`, `refined_topic: [전문적인 주제명]`, `reply_to_user: ""` 설정 * 주제가 유효하지 않으면 (일상 대화, 코딩 질문 등) `is_valid: false`, `refined_topic: ""`, `reply_to_user: [안내 메시지]` 설정 * **사용 모델:** Google Gemini 2.5 Flash (OpenAI 등 다른 모델로 교체 가능) * **출력:** 구조화된 응답 (is\_valid, refined\_topic, reply\_to\_user) #### 2.3. Google Sheet 작업 등록 및 데이터 관리 * **Crypto Node:** 고유 ID (UUID) 생성 (현재 작업 식별용) * **Google Sheet - Add Row Node:** * 생성된 ID, 정제된 주제, 작업 유형(`briefing_job`), 상태(`generating`)를 Google Sheet에 새 행으로 추가 * *확장성:* 챕터 수를 유동적으로 조절하기 위해 이미지별 `asset_creation` 타입 행을 별도 생성 (Parent ID로 연결) * **Google Sheet 구조:** * ID, Concept (주제), Type (briefing\_job / asset\_creation), Parent ID (asset\_creation 시), Status, Prompt, Image Link, PDF Link #### 2.4. 두 번째 AI 에이전트: 챕터 및 이미지 프롬프트 생성 * **역할:** 역사적 사건을 5개의 연대순 챕터로 구성하고, 각 챕터별 상세한 이미지 생성 프롬프트 작성 * **기능:** * **연구:** 정확한 날짜, 주요 인물, 장소, 시각적 세부 사항 조사 * **구조화:** 5개의 연대순 챕터로 이벤트 분할 * **초안 작성:** 각 챕터별로 다음 필드 생성 * `chapter_id`: 챕터 고유 ID * `title`: 챕터 제목 * `date`: 챕터 날짜 * `content`: 3~4 문장의 교육적인 설명 (발생 내용 및 중요성 포함) * `image_prompt`: AI 이미지 생성을 위한 상세 프롬프트 * **사용 모델:** OpenAI GPT 3.5 (다른 모델로 교체 가능, 웹 검색 도구 연동 가능) * **출력:** 챕터 목록 (각 챕터는 title, date, content, image\_prompt 포함) #### 2.5. 이미지 생성 및 Google Drive 업로드 * **Split Out Node:** 챕터 목록을 개별 챕터로 분할 * **Crypto Node:** 각 챕터별 고유 ID 생성 * **Google Sheet - Add Row Node:** * `asset_creation` 타입으로 새 행 추가, Parent ID 설정, 상태(`queued`), 이미지 프롬프트 저장 * **Loop Over Items Node:** 각 챕터를 개별적으로 처리 (부하 방지) * **Google Sheet - Update Row Node:** 챕터 상태 `generating`으로 업데이트 * **Gemini Message Model Node (Nano Banana Pro):** 이미지 프롬프트 기반 이미지 생성 * 출력: Base64 형식의 이미지 데이터 * **Base64 to Binary Node:** Base64 데이터를 실제 파일로 변환 (파일 이름은 행 ID 사용) * **Upload File to Drive Node:** 변환된 이미지 파일을 Google Drive의 지정 폴더에 업로드 * **Google Sheet - Update Row Node:** 상태 `completed`로 업데이트, Google Drive 이미지 링크 저장 * **Edit Fields Node:** 챕터 데이터 (ID, title, date, content, image\_prompt, Base64)를 하나의 객체로 통합 #### 2.6. HTML 및 PDF 생성 * **Aggregation Node:** 개별 챕터 데이터를 단일 목록으로 결합 * **HTML Node:** * 결합된 챕터 데이터를 사용하여 웹페이지 스타일의 HTML 문서 생성 (텍스트북 스타일) * *참고:* `base64` 대신 Cloudinary 등 외부 서비스에 업로드된 이미지 URL을 소스로 사용하도록 수정하여 HTML 데이터 크기 최적화 * **HTTP Request Node (API Template):** * 생성된 HTML을 PDF로 변환 (API Key 인증 필요) * **API Template 설정:** * HTML 콘텐츠 전달 * PDF 제목 (주제명) 설정 * 페이지 크기, 방향, 글꼴 등 PDF 스타일 조정 * **HTTP Request Node:** API Template에서 생성된 PDF 다운로드 URL을 통해 PDF 파일 다운로드 * **Upload File to Drive Node:** 다운로드된 PDF 파일을 Google Drive에 업로드 (파일 이름: 주제명 - ID) * **Google Sheet - Update Row Node:** 상태 `completed`로 업데이트, Google Drive PDF 링크 저장 ### 3. 기대 효과 및 활용 * **자동화:** 텔레그램 메시지 한 통으로 풍부한 시각 자료를 갖춘 PDF 문서 자동 생성 * **학습:** 역사적 사건을 텍스트와 이미지로 효과적으로 학습 * **콘텐츠 제작:** 교육 자료, 보고서 등 다양한 형태의 문서 제작 시간 단축 * **확장성:** 챕터 수 조절, 다른 사용 사례 (교육 콘텐츠, 문서 자동 생성 등) 적용 용이 --- **참고:** * 이 워크플로우는 텔레그램, Google Drive, Cloudinary, API Template 등의 외부 서비스 연동을 필요로 합니다. * 각 AI 모델 및 서비스 사용에 따른 비용이 발생할 수 있습니다. (이미지 생성 약 10센트/개, OpenAI 약 1센트/PDF)