AI로 섹션 이미지 자동 생성하는 발행 기능
목차
섹션 이미지를 Gemini로 자동 생성하는 기능을 lib_publish.js에 추가했다. 발행 파이프라인에서 콘텐츠 섹션마다 이미지를 동적으로 생성하도록 통합한 작업이다.
수동 작업의 병목을 자동화하다
발행 시스템을 운영하면서 느꼈던 가장 큰 병목은 섹션별 이미지 준비 단계였다. 콘텐츠는 작성되지만, 각 섹션에 매칭되는 적절한 이미지를 찾거나 생성하는 데 시간이 많이 걸렸다. 특히 빠르게 업데이트되는 콘텐츠는 매번 수동으로 이미지를 조달해야 했고, 이것이 발행 스케줄에 영향을 주기도 했다.
더 근본적인 문제는 콘텐츠 의도를 정확히 반영한 이미지를 일관되게 확보하기 어렵다는 점이었다. 재사용 가능한 이미지 라이브러리를 유지하려 해도 새로운 주제나 특정한 각도의 이미지는 결국 외주나 수동 제작이 필요했다. 이를 해결하기 위해 섹션 제목이나 본문 일부를 입력으로 받아 관련 이미지를 자동으로 생성하는 방식을 고민했다.
Gemini API를 선택한 이유
여러 이미지 생성 API를 검토했을 때 Gemini를 선택한 이유는 몇 가지였다. 첫째, 통합 비용이 합리적이었다. 발행 시스템은 많은 이미지를 생성하지는 않지만, 매 발행마다 섹션당 한두 개씩 생성하므로 API 호출이 쌓인다. Gemini의 가격 정책이 상대적으로 접근성 있었다. 둘째, API 응답 속도와 안정성이 우수했다. 발행 파이프라인이 사용자 요청을 처리하는 과정에서 지연 없이 이미지를 생성해야 하는데, Gemini가 이 요구사항에 맞았다. 셋째, 텍스트 프롬프트 이해 능력이 뛰어났다. 섹션 제목 하나만으로도 의도를 잘 파악하고, 프롬프트 엔지니어링 없이도 적절한 이미지를 생성했다.
lib_publish.js는 발행 파이프라인의 핵심 모듈이기 때문에 이미지 생성 로직을 여기에 통합하는 것이 자연스러웠다. 콘텐츠가 파싱되고 섹션으로 분할되는 단계에서, 각 섹션의 메타데이터를 Gemini API에 전달하고 생성된 이미지 URL을 저장하는 방식으로 구현했다. 이렇게 하면 발행 로직 내에서 이미지 생성이 투명하게 처리되고, 나중에 이미지 생성 방식을 변경할 때도 이 모듈 내에서만 수정하면 된다.
자동화와 품질 제어의 균형
AI 생성 이미지를 발행 시스템에 통합할 때 가장 고민한 부분은 품질 제어였다. Gemini가 대체로 좋은 결과를 주지만 100% 완벽하지는 않을 수 있다. 따라서 단순히 API 응답을 그대로 사용하기보다, 다음 몇 가지를 고려했다:
- 생성 실패 시 폴백 처리: API 호출 실패나 타임아웃이 발생하면, 기본 플레이스홀더 이미지나 이전에 캐싱된 이미지를 사용한다.
- 수동 검토 옵션 제공: 발행 전 미리보기 단계에서 생성된 이미지를 검토하고, 마음에 들지 않으면 수동으로 다른 이미지로 교체할 수 있도록 했다.
- 프롬프트 최적화: 섹션 제목뿐 아니라 주요 키워드나 톤(예: "전문적", "캐주얼", "밝은")을 추가로 포함해 생성 결과를 더 정확하게 제어한다.
특히 팀 관점에서 중요했던 부분은, 이 자동화가 사람의 판단을 대체하지 않는다는 점이었다. 자동 생성은 초안이고, 발행 담당자가 최종 검증하는 구조로 설계했다. 이렇게 하면 시스템의 신뢰도를 유지하면서도 자동화의 이점을 살릴 수 있다.
배운 점과 다음 고민
이런 식으로 발행 파이프라인에 외부 AI API를 통합하면서 몇 가지 일반적인 원칙을 확인했다:
| 고려사항 | 우리의 접근 |
|---|---|
| API 의존성 | 실패 시 폴백 구조 필수 |
| 응답 속도 | 병렬 처리 or 비동기 큐 도입 |
| 비용 최적화 | 캐싱, 재사용 가능한 이미지 저장 |
| 품질 일관성 | 자동화 + 수동 검수 하이브리드 |
| 감시 및 로깅 | 생성 실패율, 응답 시간 모니터링 |
앞으로는 생성된 이미지 중 사용자 만족도가 높았던 프롬프트 패턴을 학습해서 자동으로 반영하는 식의 개선도 고려하고 있다. 또한 비용 절감을 위해 저해상도 섬네일은 로컬 모델(예: Stable Diffusion)로 처리하고, 고품질이 필요한 경우만 Gemini를 쓰는 방식도 테스트할 예정이다.
이번 작업은 단순히 "기능 추가"를 넘어, 개발 생산성과 사용자 경험 사이에서 올바른 트레이드오프를 찾는 과정이었다. 완전 자동화는 매력적이지만, 현실에서는 수동 개입의 여지를 두고, 팀이 점진적으로 신뢰를 쌓아가는 방식이 더 효과적이다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.