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

이미지 평가 · 유튜브 썸네일

이미지·영상 평가

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

썸네일이 작은 화면에서도 눈에 띄고 제목과 맞는 호기심을 주는지 채점하고, 미달이면 새 배경과 문구 후보를 제안합니다.

설명서

하는 일 썸네일(회원 이미지 → 렌더링 썸네일 → 첫 장면 키프레임 순)을 review_image 로 클릭률 기준(작은 화면 식별·초점 하나·대비·제목과 맞는 호기심·글자 여백)으로 채점합니다(기준 input.thumbnail_threshold, 기본 7점).

다시 만들기 미달이면 제목과 가장 가까운 장면으로 글자를 얹을 여백이 있는 썸네일 배경을 한 번 만들어 더 나은 쪽을 outputs.thumbnail 로 남깁니다. input.thumbnail_regenerate: false 면 평가·제안만 합니다.

입력 선택 input.thumbnail_asset_id, outputs.thumbnail·assets.thumbnail, blueprint.meta.title, 키프레임.

출력 thumbnailReview{asset_id, score, pass, issues, textIdeas(썸네일 문구 후보 3개)}, reviews.thumbnail, 바뀌었으면 outputs.thumbnail. 영상은 다시 만들지 않아 route 는 늘 pass 입니다.

비용 검수 LLM 토큰(1장당 1~5P, 최대 2장) + 새 배경 이미지 1장. 모듈 사용료는 무료입니다.

지시서(스킬 txt)

txt 내려받기
[이 모듈이 하는 일]
유튜브 썸네일(대표 이미지)이 작은 화면에서도 눈에 띄고 제목과 맞는 호기심을 주는지 클릭률 기준으로 평가한다.
기준 점수에 못 미치면 글자를 얹을 여백이 있는 새 썸네일 배경을 한 번 만들어 다시 평가하고, 더 나은 쪽을 outputs.thumbnail 로 남긴다.
썸네일에 얹을 짧은 문구 후보도 함께 제안한다(글자는 이미지에 그리지 않는다 — AI 이미지의 한글은 깨지기 쉽다).

[이 모듈이 보는 것]
- 휴대폰 목록 크기(가로 약 170px)로 줄여도 무엇인지 한눈에 알아보이는지
- 초점 대상 하나(얼굴 감정·결정적 물건·극적인 순간)와 강한 명암·색 대비
- 제목과 맞는 호기심(낚시·불일치는 감점), 글자를 얹을 빈 영역
- 복잡한 배경·작은 요소 나열·어두운 화면·흐림

[입력]
이전 단계 JSON(vidia.doc@1).
- input.thumbnail_asset_id: 평가할 썸네일(회원이 올린 이미지, 선택)
- outputs.thumbnail / assets.thumbnail: 렌더링 단계가 고른 썸네일(있을 때)
- blueprint.meta: {title, category, tags}, blueprint.video: {visualStyle, negativeStyle, aspectRatio}
- blueprint.scenes[]: {id, purpose, keyframes[{id, role, imagePrompt}]}, assets: "kf:<장면>:<키프레임>"
- blueprint.elements[]: {id, name, identityRules[]}
- reviews.thumbnail: 이전 평가 기록(재방문일 때)
- input.thumbnail_threshold: 통과 점수(0~10). 없으면 7.
- input.thumbnail_regenerate: false 면 새 썸네일을 만들지 않고 평가·제안만 한다(기본 true).

[할 일]
1. 평가할 썸네일을 고른다. 위에서부터 처음 있는 것: input.thumbnail_asset_id → outputs.thumbnail → assets.thumbnail → 첫 장면 start 키프레임(assets["kf:<첫 장면id>:…"]) → assets 의 첫 "kf:" 이미지. 하나도 없으면 도구를 부르지 않고 reviewWarnings 에 "평가할 썸네일이 없습니다" 를 더하고 route "pass" 로 내보낸다.
   reviews.thumbnail 에 같은 asset_id 로 pass 가 true 인 기록이 있으면 다시 평가하지 않고 route "pass" 로 내보낸다.
2. 평가 기준(criteria)을 한국어로 500자 안팎으로 만든다:
   - "유튜브 썸네일로 판정한다. 휴대폰 목록에서 가로 약 170px 로 줄여 보인다고 가정한다"
   - "영상 제목: <meta.title>"
   - "줄여도 무엇인지 한눈에 알아보이는 초점 대상 하나가 있어야 함(얼굴 감정·결정적 물건·극적인 순간)"
   - "명암·색 대비가 강하고 화면이 어둡거나 흐리지 않아야 함"
   - "제목과 맞는 호기심을 줘야 함(제목과 무관하거나 과장된 장면이면 감점)"
   - "배경이 복잡하거나 작은 요소가 많으면 감점"
   - "문구를 얹을 빈 영역(한쪽 1/3 정도)이 있으면 가산"
   - "선정적·잔혹한 장면, 실존 유명인 닮은꼴, 상표 로고가 있으면 3점 이하"
3. review_image(asset_id, criteria) 를 부른다. score(0~10)·pass·issues·suggested_prompt 를 읽는다. 통과는 score ≥ 기준 점수(input.thumbnail_threshold, 없으면 7)로 판정하고 도구의 pass 보다 이 기준을 우선한다.
4. 기준 미달이고 input.thumbnail_regenerate 가 false 가 아니며, reviews.thumbnail 에 regenerated 가 true 인 기록이 아직 없으면 새 썸네일 배경을 한 번 만든다.
   - 장면 고르기: 장면 purpose 가운데 제목의 호기심과 가장 가까운 장면(결과·위기·반전 장면 우선)의 start 키프레임 imagePrompt 를 바탕으로 한다.
   - 새 프롬프트(영어): 그 장면의 핵심 피사체를 크게, 강한 대비와 선명한 조명, 단순한 배경, 한쪽 1/3 을 비운 구도로 쓴다. suggested_prompt 와 issues 를 반영한다. 등장 요소가 있으면 identityRules 핵심을 넣는다.
   - image_generate 를 부른다: prompt = "<visualStyle>\nYouTube thumbnail background. <새 프롬프트>\nBold contrast, single clear focal subject, simple background, empty space on one third for a title.\nAvoid: <negativeStyle>, text, letters, logos, watermark, clutter.", size = aspectRatio 가 "9:16" 이면 "1024x1536", 아니면 "1536x1024", reference_asset_ids = 그 장면 키프레임의 참조 시트(최대 2장, 없으면 넘기지 않는다), label = "thumbnail".
   - 새 이미지를 같은 기준으로 review_image 로 다시 평가한다. 점수가 원래보다 높거나 같으면 outputs.thumbnail 과 assets.thumbnail 을 새 asset_id 로 바꾼다. 낮으면 원래 것을 유지한다.
5. 문구 후보: 제목과 평가 결과를 바탕으로 썸네일에 얹을 한국어 문구 후보 3개를 쓴다. 각 2~8글자 또는 두 어절 이내, 제목을 그대로 반복하지 않고 호기심을 주되 과장·거짓 없이. 이것은 제안일 뿐 이미지에 그리지 않는다.
6. 기록: 평가할 때마다 reviews.thumbnail 에 {"asset_id": 평가한 asset, "score": 점수, "pass": 통과 여부, "issues": 문제 목록(최대 5개, 짧게), "regenerated": 새로 만든 이미지의 평가면 true} 를 더한다.
7. 끝내 기준 미달이면 가장 점수가 높은 이미지를 남기고 reviewWarnings 에 {"key": "thumbnail", "score": 점수, "issues": […]} 를 더한다. 썸네일은 영상 재제작 대상이 아니므로 route 는 늘 "pass" 다.
8. 도구 오류로 평가하지 못하면 reviewWarnings 에 남기고 route "pass" 로 내보낸다.

[출력]
다음 최상위 필드만 담은 JSON 객체 하나(적지 않은 최상위 필드는 입력값이 그대로 이어지므로 다시 적지 않는다. 바꾸는 필드는 값 전체를 적는다.)
- outputs: 썸네일이 바뀌었을 때만, 기존 outputs 에 thumbnail 을 새 asset_id 로 바꾼 전체
- assets: 썸네일이 바뀌었을 때만 {"thumbnail": 새 asset_id}
- reviews: {"thumbnail": 기존 기록 + 이번 기록, …기존 reviews 의 다른 키는 그대로}
- thumbnailReview: {"asset_id": 최종 썸네일, "score": 최종 점수, "pass": 통과 여부, "issues": […], "textIdeas": [문구 후보 3개]}
- reviewWarnings: 경고 목록(기존 뒤에 더한다, 경고가 없으면 적지 않는다)
- route: "pass"
예: {"reviews":{"images":[…],"videos":[…],"thumbnail":[{"asset_id":62,"score":6.1,"pass":false,"issues":["배경이 복잡함"],"regenerated":false},{"asset_id":97,"score":7.8,"pass":true,"issues":[],"regenerated":true}]},"outputs":{…,"thumbnail":97},"assets":{"thumbnail":97},"thumbnailReview":{"asset_id":97,"score":7.8,"pass":true,"issues":[],"textIdeas":["다리가 먼저 운다","3초의 균열","아무도 몰랐다"]},"route":"pass"}

[주의]
- review_image 와 image_generate 는 비용이 드는 도구다. 새 썸네일은 이 모듈 전체에서 한 번만 만든다.
- 이미지 안에 글자를 그리지 않는다. 문구는 textIdeas 로만 제안한다.
- 평가 결과를 지어내지 않는다. 도구가 준 점수만 쓴다.
- 설계도(blueprint)와 영상은 바꾸지 않는다.
- 설명·마크다운 없이 JSON 객체 하나만 답한다.

버전 기록 1개

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

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

    시스템 모듈 등록

리뷰와 반응

불러오는 중…

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

    신고하기

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