입력 저장 후 생성 진입
사용자가 작성한 제목·본문·날짜·스타일을 같은 날짜 기준으로 저장하고, 생성 대상 diary_id를 기준으로 다음 흐름을 이어가는 진입 로직입니다.
일기 텍스트를 4컷 만화로 변환해 기록을 더 쉽고 즐겁게 만들어주는 생성형 AI 서비스입니다.

DiaryToon은 “일기 한 편”을 입력하면 AI가 핵심 내용을 요약하고, 하루의 흐름을 4개의 장면으로 재구성한 뒤, 각 장면을 이미지로 생성해 2x2 만화 형태로 보여주는 서비스입니다. 사용자는 스타일 프리셋(심플/애니/AI)과 캐릭터 테마(토끼/곰/악어)를 선택해 결과의 분위기와 주인공 톤을 통일할 수 있습니다.
일기를 요약한 뒤 (도입/전개/전환/마무리) 구조로 4개의 장면을 구성하고, 각 장면을 이미지로 생성합니다.
선택한 프리셋에 맞춰 프롬프트를 자동 보정해 전체 컷의 톤·질감·연출을 통일합니다.
주인공 캐릭터 특징을 고정해 4컷 전체에 반복 주입하여, ‘같은 인물’로 보이는 일관성을 확보합니다.
결과가 마음에 들지 않을 때 재생성하고, 최종 결과를 저장해 다시 확인할 수 있도록 구성했습니다.

Django 서버는 일기와 사용자 설정을 기반으로 생성 파이프라인을 구성하고, 생성된 이미지는 Media 스토리지에 저장하며 일기·설정·결과 메타데이터는 DB에 기록하도록 설계했습니다. 이를 통해 결과 재생성 및 재조회가 가능한 구조를 구축했습니다.
사용자가 작성한 제목·본문·날짜·스타일을 같은 날짜 기준으로 저장하고, 생성 대상 diary_id를 기준으로 다음 흐름을 이어가는 진입 로직입니다.
일기 내용을 GPT로 정확히 4개의 장면 JSON으로 압축한 뒤, 스타일 템플릿과 결합하고 2x2 레이아웃·4컷 고정 규칙을 적용해 최종 프롬프트를 만듭니다.
스타일에 맞는 프롬프트를 기반으로 이미지를 생성하고, 생성 결과는 temp_image_url과 final_prompt 형태로 일기 레코드에 기록합니다.
문제 — 초기에는 LoRA로 캐릭터를 고정해 일관된 4컷을 만들고자 했지만, 서비스 환경(리소스/운영)과 모델 적용 방식의 제약으로 실제 제품에 안정적으로 붙이기 어려웠습니다.
해결 — API 기반 이미지 생성(DALL·E-3 등)으로 전환하고, 프롬프트 설계를 ‘캐릭터 고정’ 중심으로 재구성해 제품에서 재현 가능한 방식으로 안정화했습니다.
LoRA 의존 없이도 운영 가능한 구조에서 캐릭터/스타일 일관성을 확보했고, 서비스 적용(배포/재현성) 관점에서 안정적인 생성 파이프라인을 구축
문제 — 장문 일기의 경우 사건이 많아져 장면 설계 단계에서 컷 수가 늘어나거나, 생성 모델이 장면을 더 쪼개 해석해 4컷 포맷이 깨졌습니다.
해결 — ‘4컷 고정’ 스키마를 강제하고, 장문은 요약 단계에서 이벤트를 압축·선별해 장면 설계 입력을 제한했습니다.
긴 일기에서도 2x2(4컷) 포맷이 안정적으로 유지되어, 저장/재생성 UX가 일관되게 동작하도록 개선
문제 — 컷마다 캐릭터 외형(안경/의상 등)이 달라지거나, 일기 속 비유/은유 표현을 문자 그대로 해석해 의도와 다른 장면이 생성되는 문제가 발생했습니다.
해결 — 캐릭터 특징은 ‘잠금(고정) 프롬프트’로 통일하고, 은유/관용구는 의미를 풀어쓴 뒤 프롬프트를 한 번 더 검사해 이상 징후가 있으면 재생성하도록 구성했습니다.
컷 간 캐릭터 편차와 문맥 오해가 함께 줄어, 더 자연스럽고 ‘같은 주인공’으로 인식되는 4컷 결과를 안정적으로 확보