본문으로 건너뛰기
VIDIA고수의 노하우로 만드는 영상

이미지 평가 · 세로 숏폼 구도

이미지·영상 평가

비디아 · v1 · 0회 사용 · 패키지 0개

9:16 화면에서 상단 제목 띠·하단 자막·UI 영역을 피해 피사체가 잘 보이는지 봅니다.

설명서

하는 일 9:16 화면에서 상단 제목 띠·하단 자막·UI 영역을 피해 피사체가 잘 보이는지 봅니다. review_image 로 모든 키프레임을 채점하고(기준 input.image_threshold, 기본 7점), 미달이면 제안 프롬프트로 한 번 다시 만들어 더 나은 쪽을 남깁니다. 여전히 미달이면 route: "retry" 와 retry.images 를 남깁니다.

보는 것 핵심 피사체가 위 15%·아래 25%를 피해 가운데에 있는지 / 오른쪽 가장자리(버튼 영역)에 중요한 것이 없는지 / 초점 대상이 하나로 분명하고 휴대폰 크기에서도 알아보이는지

입력 assets["kf:…"], blueprint. input.image_regenerate: false 면 재생성 없이 검사만 합니다.

출력 reviews.images(check shorts-layout), retry.images, promptOverrides, reviewWarnings, route(pass|retry).

비용 검수 LLM 토큰(장당 1~5P) + 재생성 이미지 비용. 모듈 사용료는 무료입니다.

지시서(스킬 txt)

txt 내려받기
[이 모듈이 하는 일]
세로(9:16) 숏폼 키프레임의 구도를 검사한다. 휴대폰 화면은 상단에 제목 띠, 하단에 자막과 좋아요·댓글 버튼이 덮으므로 핵심 피사체가 가운데 안전 영역에 있어야 하고, 작은 화면에서도 한눈에 읽혀야 한다.
기준 점수(기본 7점)에 못 미치면 평가가 제안한 프롬프트로 한 번 다시 만들어 다시 평가하고, 그래도 안 되면 이미지 단계로 되돌려 보낸다(route "retry"). input.image_regenerate 가 false 면 다시 만들지 않고 기록·경고만 남긴다.
다른 이미지 평가 모듈과 이어 붙여 써도 된다. 기록은 check "shorts-layout" 로 구분해 서로의 통과 기록을 건너뛰지 않는다.

[이 모듈이 보는 것]
- 핵심 피사체가 위 15%·아래 25%를 피해 가운데에 있는지
- 오른쪽 가장자리(버튼 영역)에 중요한 것이 없는지
- 초점 대상이 하나로 분명하고 휴대폰 크기에서도 알아보이는지

[입력]
이전 단계 JSON(vidia.doc@1).
- blueprint.meta: {title, category, tags, format}
- blueprint.video: {visualStyle, negativeStyle, aspectRatio}
- blueprint.elements[]: {id, name, kind, description, identityRules[], views[{id, angle, imagePrompt}]}
- blueprint.scenes[]: {id, purpose, media.type, videoPrompt, keyframes[{id, role, imagePrompt, references[{elementId, viewId}], referenceKeyframeIds}]}
- assets: "kf:<장면>:<키프레임>", "sheet:<요소>:<구도>"
- reviews.images: 이전 평가 기록(다른 이미지 평가 모듈의 기록도 함께 쌓인다)
- promptOverrides: 이전에 고친 프롬프트(있을 때)
- input.image_threshold: 통과 점수(0~10). 없으면 7.
- input.image_regenerate: false 면 다시 만들지 않는다(기본 true).

[할 일]
1. blueprint.video.aspectRatio 가 "9:16" 이 아니면 아무것도 평가하지 않고 route "pass" 와 reviewWarnings 에 "세로 영상 아님" 한 줄만 남긴다.
2. 평가할 목록: assets 에서 "kf:" 로 시작하는 모든 키. 단 reviews.images 에 같은 key·같은 asset_id·같은 check("shorts-layout") 로 pass 가 true 인 기록이 있으면 건너뛴다(이 모듈 기준으로 이미 통과한 이미지는 다시 평가하지 않는다). 평가할 이미지가 없으면 도구를 부르지 않고 route "pass" 와 reviewSummary 만 내보낸다.
3. 키마다 평가 기준(criteria)을 한국어로 만든다. 500자 안팎으로 짧게, 아래 줄을 채워 넣는다(< > 는 설계도에서 읽은 값으로 바꾼다):
   - "세로 9:16 휴대폰 화면 기준으로 판정"
   - "핵심 피사체(얼굴·손·주요 물체)가 화면 위 15%·아래 25% 밖, 가운데 안전 영역에 있어야 함"
   - "오른쪽 가장자리 12% 안에 중요한 대상이 없어야 함(버튼 영역)"
   - "초점 대상 하나가 분명하고 배경이 복잡하지 않아야 함"
   - "화면 내용: <imagePrompt 핵심 한 줄>"
   - 공통: "점수는 0~10, 위 기준을 얼마나 만족하는지만 본다"
4. review_image(asset_id, criteria) 를 부른다. 결과의 score(0~10), pass, issues, suggested_prompt 를 읽는다. 통과는 score ≥ 기준 점수(input.image_threshold, 없으면 7)로 판정하고 도구의 pass 보다 이 기준을 우선한다.
5. 기준 미달이고 input.image_regenerate 가 false 가 아니면 이 방문에서 한 번만 다시 만든다.
   - 이 키의 재생성 횟수(reviews.images 에서 같은 key 의 regenerated 가 true 인 기록 수, 모든 check 합산)가 이미 2 이상이면 다시 만들지 않는다.
   - 원래 프롬프트 = promptOverrides[키] 가 있으면 그것, 없으면 그 키프레임의 imagePrompt.
   - 새 프롬프트 = 원래 프롬프트에 suggested_prompt 와 issues 를 고치는 지시를 반영한 영어 프롬프트. "vertical 9:16 composition, main subject centered in the middle safe area, clean empty space at top and bottom" 를 앞쪽에 넣는다. 원래 장면 내용·글자 금지·동일성 조건은 빠뜨리지 않는다.
   - image_generate 를 부른다: prompt = "<visualStyle>\n<새 프롬프트>\nAvoid: <negativeStyle>, text, letters, logos, watermark.", size "auto", reference_asset_ids = 원래 키프레임의 참조(references 의 시트 asset + referenceKeyframeIds 의 이미지, 최대 3장), label = 키.
   - 새 이미지를 같은 기준으로 review_image 로 다시 평가한다.
   - 새 이미지 점수가 원래보다 높거나 같으면 assets[키] 를 새 asset_id 로 바꾼다. 낮으면 원래 이미지를 유지한다.
   - promptOverrides[키] = 새 프롬프트.
6. 기록: 평가할 때마다 reviews.images 에 {"key": 키, "check": "shorts-layout", "asset_id": 평가한 asset, "score": 점수, "pass": 통과 여부, "issues": 문제 목록(최대 5개, 짧게), "regenerated": 재생성한 이미지의 평가면 true, "visit": 이번 방문 번호(같은 key·같은 check 의 기록 수 기준)} 를 더한다.
7. 판정:
   - 다시 만든 뒤에도(또는 재생성을 끈 상태에서) 기준 미달인 키가 있고, 재생성이 켜져 있으며 그 키의 재생성 횟수가 2 미만이면 retry.images 에 그 키를 넣는다. 하나라도 있으면 route "retry".
   - 없으면 route "pass". 끝내 기준 미달인 키는 가장 점수가 높은 이미지를 assets 에 남기고 reviewWarnings 에 {"key": 키, "check": "shorts-layout", "score": 점수, "issues": […]} 를 더한다.
8. 도구 오류로 평가하지 못한 키는 통과로 간주하고 reviewWarnings 에 남긴다(평가 장애로 제작 전체를 멈추지 않는다).

[출력]
다음 최상위 필드만 담은 JSON 객체 하나(적지 않은 최상위 필드는 입력값이 그대로 이어지므로 다시 적지 않는다. 바꾸는 필드는 값 전체를 적는다.)
- assets: 더 나은 이미지로 바뀐 키만 새 asset_id
- reviews: {"images": 기존 기록 + 이번 기록, "videos": 기존 그대로}
- retry: {"images": 기존 retry.images 에 이번에 다시 만들 키를 더한 목록(중복 없이), …기존 retry 의 다른 키는 그대로}
- promptOverrides: 고친 프롬프트를 더한 객체
- reviewWarnings: 경고 목록(기존 뒤에 더한다)
- route: "retry" 또는 "pass"
- reviewSummary: {"check": "shorts-layout", "reviewed": 평가 수, "passed": 통과 수, "regenerated": 재생성 수, "retry": 이번에 retry 에 넣은 키 수}

[주의]
- review_image 와 image_generate 는 비용이 드는 도구다. 이 모듈 기준으로 이미 통과한 이미지는 다시 평가하지 않고, 한 방문에서 키마다 재생성은 한 번뿐이다.
- 요소 시트("sheet:")는 평가하지 않는다.
- 평가 결과를 지어내지 않는다. 도구가 준 점수만 쓴다.
- 설계도(blueprint)는 바꾸지 않는다.
- 설명·마크다운 없이 JSON 객체 하나만 답한다.

버전 기록 1개

고칠 때마다 새 버전으로 쌓이고 지난 버전은 지워지지 않습니다. 패키지는 넣을 때의 버전으로 고정되어 동작합니다.

  1. v1현재2026.09.29 14:57 · 6.7KB

    시스템 모듈 등록

리뷰와 반응

불러오는 중…

사용 -건 · 사용 건수는 이 모듈을 실제로 실행한 제작 수입니다(성공률이 아닙니다). 별점은 실제 사용한 회원만 남길 수 있고, 좋아요·싫어요와는 따로 셉니다.

    신고하기

    신고하신 분의 정보는 작성자에게 알리지 않습니다. 접수만으로 제재가 확정되지는 않습니다. 결과 불만·환불은 1:1 문의로도 알려 주세요.