GemScript 콜라주 만들기
3:2 비율의 GemScript 효과 이미지를 만듭니다. V6 공간 시스템을 유지합니다: 작은 필름, 빡빡한 크롭, 필름과 글자의 조밀한 관계, 그리고 크고 차분한 여백. 요청 시, 허용된 효과를 실제 원본 사진 위에 쌓아 3:4 비율의 최종 PNG를 결정론적으로 생성합니다. 이미지 모델에게 아래쪽 절반을 다시 그리도록 요청하지 마세요.
생성 예산 및 중지 조건
다음은 엄격한 안전 제한입니다:
- 배치(batch)가 아닌 사용자 요청은 최대 한 번의 이미지 생성 또는 이미지 편집 호출을 허용합니다. 해당 호출 후에는 결과를 전달하거나 실패를 보고하고 턴을 종료합니다.
- 명시적 배치(batch)는 명명된 각 원본 이미지당 최대 한 번의 호출을 허용하며, 하나의 태스크에서 최대 3번의 생성/편집 호출을 허용합니다. 네 번째 호출 전에 중지하고 사용자에게 현재 소스 경로만 포함된 간결한 텍스트 핸드오프와 함께 새 태스크에서 계속하도록 요청하세요. 사용자가 요청하지 않는 한 해당 태스크를 생성하지 마세요.
- 오류, 시간 초과, 너무 큰 응답, 결과 누락, 잘못된 텍스트 또는 검증 실패는 허용된 호출을 소모합니다. 같은 턴에서 자동으로 재시도, 재구문 후 재제출, 재생성 또는 편집하지 마세요.
- 오류, 시간 초과, 너무 큰 응답 또는 결과 누락 후에는 같은 태스크에서 이미지 도구를 다시 호출하지 마세요. 실패를 보고하고 재시도가 필요하면 새 태스크를 요청하세요.
- 태스크가 다시 열렸을 때 실패한 생성을 자동으로 재개하지 마세요.
- 현재 요청에 명시적으로 명명된 소스 이미지와 이 스킬에 필요한 자료 참조만 사용하세요. 로컬 경로가 존재하는 경우 해당 정확한 경로를 전달하고 최근 대화 이미지는 포함하지 마세요. 프롬프트, 메시지, 로그, 핸드오프 또는 출력 파일에 base64 이미지 데이터를 복사하거나 보존하지 마세요.
워크플로우
- 사용 가능한 이미지 뷰어로 원본 사진을 검사합니다.
- 글자를 결정합니다:
- 사용자가 제공한 영어 텍스트를 대문자, 소문자, 공백까지 포함하여 그대로 재현합니다.
- 제공된 텍스트가 없으면 사진에 맞는 짧은 영어 단어 하나, 또는 최대 두 개의 짧은 단어를 선택합니다.
- 소스에서 파생되거나 소스를 보완하는 절제된 배경색을 선택합니다. 고명도, 저채도, 약간 회색빛을 유지합니다.
- 소스 크롭, 피사체 방향, 지배적인 시각적 방향 및 여백을 분석합니다. 고정된 템플릿 대신 소스에 반응하는 관계를 하나 선택합니다:
- 필름 왼쪽, 글자 오른쪽;
- 글자 왼쪽, 필름 오른쪽;
- 필름 위, 글자가 바로 아래에 닿음;
- 글자 위, 필름이 바로 아래에 닿음. 배치(batch)의 경우, 소스가 명확히 동일한 해결책을 요구하지 않는 한 관계를 다양하게 합니다. 같은 태스크에서 연속된 단일 이미지 테스트의 경우, 다른 모드가 소스에 적합할 때 바로 이전 관계를 재사용하지 마세요; 소스 형상이나 가독성이 명확히 요구하는 경우에만 모드를 반복하세요. 현재 컨텍스트에서 마지막으로 사용한 모드를 추적합니다.
- 사용자가 승인한 레이아웃 참조를 유지합니다. 이를 구성 전용 참조로 취급합니다: 여백, 필름 크기, 크롭, 필름/글자 관계를 유지하면서 요청된 하위 시스템만 재설계합니다.
- 참조/v6-프롬프트.md를 완전히 읽고 생성 전에
{LAYOUT_MODE}를 포함한 모든 플레이스홀더를 대체합니다. - 이미지 도구가 여러 참조를 지원하는 경우 자산/v5-라인스톤-참조에서 2~3개의 이미지를 재료 전용 참조로 사용합니다. 이들은 선호되는 평면 백 공예 스티커 재료, 작은 연결 수정, 불규칙한 혼합 모양 리듬 및 멀티컬러 분포를 정의합니다. 피사체, 단어, 배경색, 필름 크롭 또는 레이아웃을 정의하지 않습니다. 생성 프롬프트에서 모든 이미지 역할을 명시적으로 레이블링합니다.
- 생성 전에 이 특정 이미지에 대한 간결한 레이아웃 사양을 작성하고 이를 제안이 아닌 수락 계약으로 사용합니다: 캔버스
1536×1024. 핵심 그룹을 필름 + 글자 + 진정한 확장으로 정의합니다. 느슨한 젬은 의도적으로 이 핵심 경계 상자에서 제외됩니다. 모든 이미지에는 주변 여백 공간에 정확히 7~12개의 분리된 느슨한 라인스톤이 포함되어야 하며, 23개의 불규칙한 마이크로 클러스터와 13개의 고립된 조각으로 배열됩니다. 캔버스 가장자리에서 떨어져 있어야 하며 두 번째 구성을 형성하지 않아야 합니다. 더 작은 내부 목표를 사용합니다: 가로 레이아웃의 경우 핵심 그룹의52–58% W × 50–56% H를 목표로 하고,2–3% W간격을 확보하며, 하나의 짧은 단어를25–32% W및 최대16% H로 유지하고 필름을8–12% W및 최대22% H로 유지합니다. 세로 레이아웃의 경우 핵심 그룹의50–58% W × 52–60% H를 목표로 하고,2–3% H간격을 확보하며, 하나의 짧은 단어를25–32% W및 최대16% H로 유지하고 필름을8–12% W및 최대22% H로 유지합니다. 핵심 그룹에 대해 최소18%측면 및20%상/하 여백을 유지합니다. 필름의 가시 경계 상자 영역은 글자 영역의25–35%여야 하며,40%를 엄격한 최대 한도로 합니다. 소스, 단어 또는 선택한 레이아웃이 이 사양을 충족할 수 없으면 생성 전에 배치를 변경하거나 필름을 축소합니다. 숫자를 조용히 완화하지 마세요. - 위의 생성 예산을 확인한 후 내장된 이미지 생성 워크플로우를 사용합니다.
imagegen스킬을 사용할 수 있으면 이미지 도구를 호출하기 전에 로드하여 따릅니다. 현재 업로드된 사진 또는 명시적 로컬 경로를 유일한 피사체 참조로 취급하고 하나의 독립적인 3:2 가로 효과 이미지를 생성합니다. 이전 대화 이미지는 포함하지 마세요. - 효과를 검사하고 검증합니다:
- 정확한 텍스트와 읽기 쉬운 글자 형태;
- 모든 대문자는 재료 스타일링 전에 골격 검사를 통과합니다: 일시적으로 젬을 무시하고 기본 손글씨 경로가 여전히 의도된 대문자로 읽히는지 확인합니다;
- 대문자
M은 두 개의 명확히 보이는 어깨, 하나의 중앙 골짜기, 두 개의 연결된 주요 내리막 획, 그리고 다음 소문자로의 연속적인 핸드오프가 있어야 합니다. 큰 타원에 분리된 줄기가 달린 모양, 단일 아치,A,N또는 소문자n으로 읽혀서는 안 됩니다; - 모든 소문자는 동일한 골격 검사를 통과합니다. 특히
m,n,u,r은 의도된 줄기, 혹, 카운터 및 하나의 자연스러운 종료 획만 있어야 하며, 추가 가지, 반복된 줄기, 가시, 루프, 갈고리 또는 설명할 수 없는 성장이 없어야 합니다. 말단 장식은 최종 의도된 획 이후에만 시작될 수 있으며 글자의 골격을 변경해서는 안 됩니다; - 인식 가능한 피사체와 적절한 크롭;
- 필름 크롭은 프린트의 약 60-80%를 차지하는 하나의 명명된 편집 초점 디테일을 가지고 있으며, 최대 하나의 작은 컨텍스트적 가장자리만 허용합니다. 전체 피사체와 모든 주요 소품을 포함하는 광범위한 장면 크롭은 거부합니다;
- 희미한 배경 틴트만 있는 고대비 흑백 필름;
- 필름은 톤 대비 검사를 통과합니다: 거의 검은색의 그림자 영역, 거의 흰색의 하이라이트, 명확히 분리된 중간톤. 회색 베일, 유백색 회색, 올려진 검정색, 평평한 저대비, 또는 흑백 구조를 모호하게 하는 틴트는 거부합니다;
- 고명도 저채도 배경;
- 점유된 영역만이 아닌 핵심 가시 경계 상자를 측정하고, 이 측정에서 느슨한 젬은 제외합니다. 생성 전에 정의된 가로 또는 세로 핵심 그룹 범위를 사용합니다;
- 핵심 그룹에 대해 최소 18%의 좌/우 여백과 20%의 상/하 여백을 유지합니다. 필름과 글자 사이에 2-3% 간격을 사용합니다. 하나의 짧은 단어를 캔버스 너비의 최대 32%, 높이의 최대 16%로 유지합니다;
- 하나의 짧은 단어의 경우, 글자가 주요 요소이고 필름은 보조 요소입니다: 필름의 가시 경계 상자 영역은 글자의 가시 경계 상자 영역의 25-35%여야 하며, 40%를 엄격한 상한선으로 합니다. 독립적인 크기 규칙이 이 계층 구조와 충돌하면 필름을 축소합니다;
- 필름은 작게 유지되며, 캔버스 너비의 최대 12%, 높이의 최대 22%이며, 소스보다 더 빡빡하게 크롭됩니다;
- 레이아웃은 소스 구성을 따르며 자동으로 글자-왼쪽/필름-오른쪽이 아닙니다;
- 라인스톤 단어와 필름은 실제 글자 획이 자연스러운 손글씨 접선을 변경하지 않고 가장 가까운 필름 가장자리에 도달할 수 있는 경우에만 겹칩니다. 그렇지 않은 경우, 연결을 강제하기보다 필름을 약간 이동하거나 좁은 간격을 남깁니다;
- 하나, 또는 최대 두 개의 라인스톤 확장이 실제 진입 획, 종료 획 또는 말단 장식에서 시작하여 그 접선을 자연스럽게 계속합니다. 단어가 이미 시각적으로 끝난 후에 수직 드롭, 날카로운 접힘, 매달린 코드 또는 두 번째 꼬리를 절대 추가하지 마세요;
- 정확히 7-12개의 분리된 느슨한 젬이 단어 외부에 시각적으로 존재하며, 2-3개의 불규칙한 마이크로 클러스터와 1-3개의 고립된 조각으로 배열되고, 간격이 고르지 않으며 독립적인 점선, 호 또는 대각선이 없습니다. 느슨한 젬 개수가 7 미만이거나 12 초과이면 이미지를 거부합니다;
- 세 개 이하의 느슨한 젬이 한 방향으로 시각적으로 정렬됩니다;
- 연결 획은 대부분 매우 작은 원형 수정을 사용하는 반면, 더 큰 기하학적 컷은 구조적으로 중요한 지점에 드물게 삽입됩니다;
- 전체 디자인에 최소 5개의 모양 패밀리가 나타나지만, 하나 또는 두 개의 모티프 패밀리만 두드러지게 반복됩니다;
- 젬은 얕은 평면 백 공예 스티커로, 선명한 면과 빡빡한 접촉 그림자를 가지고 있으며, 두꺼운 유리 보석 또는 카보숑이 아닙니다;
- 필름 외부에 추가 텍스트, 로고, 워터마크, 분할 화면 또는 원본 사진이 없습니다.
- 엄격한 전달 전 게이트를 적용합니다. 위의 모든 숫자 및 시각적 검사가 함께 통과된 경우에만 이미지가 수락됩니다. 특히, 그룹이 너무 넓거나/높거나, 필름이 너무 크거나 글자와 시각적 무게가 너무 가깝거나, 필름 크롭이 광범위한 전체 장면 크롭인 출력은 거부합니다. "모델이 프롬프트를 무시했을 수 있습니다"는 수락 사유가 아닙니다. 실패한 이미지를 결과로 저장, 링크 또는 제시하지 마세요.
- 검증에 실패하면 자동으로 다른 도구 호출을 하지 마세요. 결함을 보고하고 중지합니다. 명시적인 나중 수정 요청만이 생성 예산에 따라 한 번의 대상 이미지 편집을 허용합니다. 해당 편집의 경우, 잘못된 텍스트, 잘못된 대문자 골격, 너무 큰 그룹, 너무 큰 필름, 고정 템플릿 레이아웃, 분리된 젬 트레일, 강제된 필름 연결자, 낮은 다양성의 모든 라운드 젬, 또는 부피가 큰 보석 같은 재질을 거부합니다. 레이아웃이 이미 승인된 경우, 글자 형태, 말단 획 또는 라인스톤 재질만 수정하기 위해 전체 구성을 재생성하지 마세요. 실패한 대문자의 경우, 사진, 배경, 나머지 글자, 느슨한 악센트, 크기 및 레이아웃을 고정하고, 해당 대문자와 인접한 두 개의 연결부만 다시 그립니다. 실패한 말단 상호작용의 경우, 마지막 글자의 실제 종료 획과 국부적 겹침 영역을 제외한 전체 단어와 구성을 고정합니다. 단어 이후의 수직 드롭 또는 독립적 연결자를 제거합니다.
- 허용된 효과를 사용자의 작업 디렉토리 또는 요청된 출력 디렉토리에
<원본파일명>-gemscript-effect.png로 비파괴적으로 저장합니다. - 검사 후 정규화된 원본 사진 크롭 초점 좌표를 결정합니다:
0.0은 왼쪽/위쪽,1.0은 오른쪽/아래쪽입니다. 피사체가 이미 중앙에 있는 경우에만 기본값0.5,0.5를 사용합니다. - 번들된 워크스페이스 종속성을 로드하고 반환된 Python 실행 파일을 사용합니다. 이렇게 하면 시스템 Python에 Pillow가 있다고 가정하지 않습니다. 결정론적 합성기를 실행합니다:
<워크스페이스-파이썬> <스킬-디렉토리>/scripts/compose_vertical.py \
--effect <효과.png> \
--original <원본-사진> \
--output <원본파일명>-gemscript-final-3x4.png \
--focus-x <0..1> \
--focus-y <0..1>
- 최종 PNG를 검사합니다. 3:4 캔버스, 동일한 3:2 반쪽, 위에 효과, 아래에 실제 원본, 간격이나 구분선 없음, 손상된 피사체 크롭이 없는지 확인합니다.
- 효과 PNG와 최종 3:4 PNG를 모두 전달합니다. 최종 합성 이미지로 시작합니다.
출력 규칙
- 기본 절반 크기:
1536×1024; 최종 크기:1536×2048. - 원본 파일을 변경하지 않고 보존합니다.
- 기존 출력을 덮어쓰지 않습니다. 대체가 명시적으로 요청된 경우에만 버전 접미사를 추가하거나
--force를 전달합니다. - 사용자가 효과 이미지만 명시적으로 요청하는 경우에만 합성을 건너뜁니다.
V6 승인된 시각적 회귀 참조
구성, 크기, 가독성 및 라인스톤 품질에 대한 승인된 V6 시각적 벤치마크로 references/v6-approved-examples.md와 assets/v6-approved-examples/의 세 개의 PNG를 사용합니다.