웹툰 회차 제작 도구
한 벌의 도구를 여러 작품 저장소가 심링크로 공유한다. 작품별 설정은 각 저장소의 production/project.json(검수 항목·납품 규격·참조)과 production/프롬프트-템플릿.json(캐릭터·화풍·장소·말풍선 규칙)에만 있다.
| 파일 | 역할 |
|---|---|
tools/production.py |
회차 관리 파일 init/check/review. 검수 이력과 변경 감지, 납품 파일 검사 |
tools/panel.py |
prompt/generate/batch/verdict/ocr/screen/adopt/status. 컷 생성 파이프라인 |
tools/ocr_vision.swift |
macOS Vision 한국어 OCR(첫 실행 때 ~/.cache/webtoon-ocr/에 컴파일) |
tools/setup_project.py |
작품 저장소에 도구 연결과 설정 파일 생성 |
README.md |
절차·명령·판정 기준 상세. 작품 저장소의 production/README.md가 이 파일을 가리킨다 |
templates/ |
새 작품용 project.json·프롬프트 템플릿 |
tests/ |
python3 -m unittest discover -s tests -p 'test_p*.py' -v |
정본·서사 선별 적용
작품에 production/story-policy.json이 있으면 기획·콘티·회차 재개 시 공용 서사 규칙과 작품의 production/서사관리.md를 읽는다. 신규 지정 회차의 init에 최소 서사 기록을 추가하며, 기존 승인·검수 파일은 소급 변경하지 않는다. 기존 AGENTS→README 경로로도 같은 규칙에 도달한다.
작품별 생성·식자 지시 우선
작품 AGENTS와 현재 사용자 지시가 이 문서의 Grok 시안→Codex 정본 예시보다 우선한다. 단독 제작·내장 이미지 도구·특정 백엔드 중단 지시를 유지한다. 템플릿의 generation은 현재 선택한 기본값이며 모든 작품의 속도·비용·이용 가능성을 보장하지 않는다.
템플릿 lettering_mode는 기본 embedded, 후식자는 post다. post에서는 대사·화자 검증을 유지하고 원화 프롬프트에는 무문자와 식자 여백만 요청한다. 대사 원문은 관리 파일에 보존한다. 생성 직후 JPG는 후식자 전 중간본이며 OCR 누락 경고를 자동 통과시키지 않는다. 별도 렌더러로 고정 폰트·말풍선을 실제 JPG에 반영하고 최종본에 OCR·690/390px 시각 검수를 다시 수행한 뒤 채택·납품한다. 자동 식자 기능은 제공하지 않는다.
사용
- 작품 저장소 루트(
production/project.json이 있는 곳)나 그 아래에서 실행한다. 다른 곳에서는--root <루트>또는WEBTOON_ROOT. - 새 회차:
python3 tools/production.py init production/N화-제목-v01.json --episode N --panels K→ brief·panels 작성(컷마다cast·prompt·dialogue·emotion·shot). 표정은$webtoon-expression으로 설계한다. - 시안:
python3 tools/panel.py batch MANIFEST --dir 원고/N화-v01 --stage draft→ 컷별verdict --result 통과|수정 --note. - 정본:
batch --stage final→ 생성기록의ocr_warning확인 →adopt→screen으로 690·390 확인 →production.py review. - 납품: 여백 규칙으로 업로드 순서와 ZIP →
production.py check --stage delivery. 공개 발행은 사용자 명시 요청 뒤 별도로.
CLI 생성 경로는 사용 가능한 $imagegen-cli와 기존 인증을 사용한다. 내장 이미지 도구 경로는 작품 지시를 따른다. 새 과금·권한을 임의로 만들지 않는다. 생성물은 항상 새 버전 이름이며 기존 파일을 덮어쓰지 않는다. OCR·화면 검사는 사람의 시각 검수를 대신하지 않는다.
새 작품 연결
python3 ~/Projects/agent-skills/skills/webtoon-production/tools/setup_project.py <작품 루트> --name "작품 이름"
생성된 production/프롬프트-템플릿.json의 {…} 자리(캐릭터 영문 서술·시트 경로·장소·화풍)와 project.json의 references를 채운다. 채워지지 않으면 panel.py가 참조 파일 없음 등으로 멈춘다.