--- name: image-generation description: > 사용자가 그림을 요청하거나 이미 있는 이미지를 고쳐 달라고 할 때 로드한다. 아이디어를 영어 프롬프트로 다듬어 GenerateImage로 새로 그리거나, 기존 이미지를 id로 지목해 EditImage로 고친다. compatibility: > GenerateImage·EditImage 빌트인이 제시된 런에서만 동작한다. 두 툴은 그 능력이 실제로 있는 런에만 나타나므로, 목록에 없으면 이미지를 만들 수 없다고 밝힌다. --- # 이미지 생성 스킬 사용자가 그림·이미지를 요청하면 **직접 이미지를 생성해서 전달**한다. 새로 그릴지 고칠지부터 정한다. - **새로 그리기** — `GenerateImage`. 참조할 이미지가 없을 때. - **고치기** — `EditImage`. 사용자가 올렸거나 이번 대화에서 그린 이미지를 바꾸거나, 무언가를 더하거나 빼거나, 스타일만 바꿀 때. 절차: ① 무엇을 할지 정하고 → ② 영어 프롬프트로 다듬고 → ③ 툴을 호출하고 → ④ 무엇을 어떻게 했는지 한두 문장으로 설명한다. ## 반드시 지킬 것 - 프롬프트 텍스트만 보여주고 끝내지 않는다. **항상 툴을 호출**한다. - 툴 결과 이미지는 사용자에게 자동 전달되므로, "이미지를 보여드릴 수 없다"고 말하지 않는다. - **기존 이미지를 바꿔 달라는 요청에 `GenerateImage`를 쓰지 않는다.** 새로 그리면 원본과 다른 그림이 나온다. 지목할 id가 있으면 `EditImage`다. - 스타일·비율을 지정하지 않았고 요청이 모호하면, 되묻지 말고 합리적인 기본값(스타일 1개, 1024x1024, medium)으로 바로 진행한다. ## 이미지 id 시스템 프롬프트의 `## Available Images` 섹션이 이번 런에서 쓸 수 있는 id를 알려준다. `img_1`, `img_2` 형태고, 사용자가 첨부한 이미지와 이번 런에서 그린 이미지가 모두 들어간다. `GenerateImage`도 그린 뒤 새 id를 알려준다. 목록에 없는 id는 지어내지 않는다. 사용자가 링크(`https://`)로만 준 이미지에는 id가 붙지 않으니, 그건 편집 대상이 아니다. ## 프롬프트 구성 요소 새로 그릴 때는 다음 순서로 구성한다: 1. **주제** — 무엇을 그릴지 한 문장으로 명확하게 (인물, 사물, 장면) 2. **스타일** — photorealistic, watercolor, flat illustration, 3D render, pixel art 등 3. **구도** — close-up, wide shot, bird's eye view, rule of thirds 등 4. **조명과 분위기** — golden hour, soft studio lighting, neon, moody 등 5. **품질 키워드** — highly detailed, sharp focus, 8k 등 (2~3개면 충분하다) ## 편집 프롬프트 편집 프롬프트는 **바뀐 결과 전체**를 묘사한다. 변경점만 적으면 나머지가 무엇이었는지 모델이 모른다. - 나쁨: `make it night` - 좋음: `The same street scene at night: shop windows lit from inside, wet asphalt reflecting the neon signs, the parked red bicycle unchanged.` 바뀌지 않아야 할 요소를 한 구절로 못 박아 두면 원본이 덜 흔들린다. ## 작성 규칙 - 프롬프트는 **영어**로 작성한다 (이미지 모델이 영어에 최적화). - 쉼표로 구분된 구문 나열보다 자연스러운 문장 1~2개 + 스타일 키워드가 좋다. - 사람 얼굴, 브랜드 로고, 실존 인물 묘사 요청은 정책에 어긋날 수 있음을 안내한다. ## 툴 파라미터 두 툴이 `size`와 `quality`를 공유한다. - `size`: `1024x1024`(기본) | `1536x1024`(가로) | `1024x1536`(세로) - `quality`: `low` | `medium`(기본) | `high` — "빠르게"를 원하면 low | 툴 | 필수 파라미터 | |---|---| | `GenerateImage` | `prompt` | | `EditImage` | `image_id`, `prompt` | ## 답변 형식 - 어떤 장면/스타일로 그렸는지, 편집이면 무엇을 바꿨는지 한두 문장 - 사용한 프롬프트를 코드 블록으로 첨부 (사용자가 재사용·수정할 수 있게) - 다른 스타일·구도 변형을 원하는지 한 문장으로 제안 ## 실패했을 때 툴 결과가 `Error:`로 시작하면 실패한 것이다. 같은 호출을 그대로 반복하지 말고, 사유를 사용자에게 그대로 전하거나(정책 거절 등) 프롬프트를 고쳐서 한 번만 다시 시도한다. 없는 `image_id`를 넣으면 쓸 수 있는 id 목록이 함께 돌아오니, 그 목록에서 고른다.