Community이미지github.com

shaharsha/image-generation

로고, 아이콘, UI 목업, 히어로 이미지, 제품 사진 및 기타 디자인 에셋을 OpenAI GPT Image 2.5 (Sunburst, Flare) 또는 Google Gemini (Nano Banana 2, Nano Banana Pro, Nano Banana 2 Lite)를 사용하여 생성합니다. 사용자가 시각적 에셋을 만들거나 디자인하거나 생성하거나 목업하거나 렌더링하거나 일러스트레이션을 요청하거나, 투명 PNG가 필요하거나, 이미지 프롬프트 엔지니어링을 요청할 때 사용하세요. 작업에 적합한 모델과 품질을 선택하고, 각 모델의 공식 프롬프트 규칙에 따라 모델별 프롬프트를 작성합니다.

image-generation란 무엇인가요?

이 스킬은 AI 에이전트(Claude Code, Cursor, Codex 등)가 OpenAI GPT Image 2.5와 Google Gemini 이미지 생성 모델을 활용하여 디자인 에셋을 생성할 수 있게 해줍니다. 로고, 아이콘, UI 목업, 히어로 이미지, 제품 사진, 투명 PNG 등 다양한 유형의 시각적 에셋을 지원하며, 각 모델의 최신 프롬프트 규칙을 자동으로 적용하여 최고 품질의 결과물을 얻을 수 있습니다. 핵심 기능은 세 가지로, 적절한 모델과 품질 선택, 모델별 규칙에 따른 프롬프트 작성, API 호출 스크립트 실행입니다. GPT Image 2.5 Sunburst는 최종 고품질 에셋에, Flare는 빠른 드래프트에 사용되며, Gemini 모델은 극단적인 종횡비나 미세한 피부 질감 표현 등 특수 상황에 활용됩니다. 특히 '품질 트랩'을 피하기 위해 드래프트를 승인 후 '--ref' 플래그로 편집하여 기존 구도를 유지하면서 세부 묘사를 높이는 최적의 워크플로우를 제공합니다. 또한 30초 규칙에 따른 기본 모델 선택, 반복 패턴을 통한 '완벽할 때까지 자동 반복' 루프, 투명 배경 네이티브 지원, 히브리어/RTL 텍스트 처리, 사진 속 인물을 애니메이션 캐릭터로 변환하는 고급 워크플로우 등 상세한 가이드를 포함하고 있어 개발자가 이미지 생성 워크플로우를 완전히 자동화할 수 있도록 돕습니다. 가격 정보와 API 키 관리에 대한 지침도 포함되어 있습니다.

지원 대상✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/shaharsha/claude-skills/tree/HEAD/skills/image-generation

Installed? Explore more 이미지 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

이미지 생성

두 개의 모델 제품군, 세 가지 작업.

지원 모델

모델 ID제품군용도비용 (1024×1536, 2026-10-02 측정)
gpt-image-2.5-sunburstOpenAI (Images 2.5, 2026-09-08)기본값. 실제 출시될 수 있는 모든 것. 모든 주요 리더보드에서 1위 (생성, 편집, 텍스트 렌더링, 초상화)max ≈ $0.165, ~90초 · high ≈ $0.041, ~35초
gpt-image-2.5-flareOpenAI (Images 2.5)빠른 드래프트 — 방향 탐색, 프롬프트 테스트. Sunburst와 동일한 프롬프트, ~2배 빠름medium ≈ $0.01, ~15초
gemini-3-pro-imageGoogle (Nano Banana Pro)투표자와 리뷰어가 의견이 갈릴 때 클로즈업 자연스러운 피부/모발; 최대 14개 참조 이미지$0.134 (1K/2K) · $0.24 (4K)
gemini-3.1-flash-imageGoogle (Nano Banana 2)극단적인 종횡비 (1:4…8:1), 이미지 검색 기반 접지$0.067 (1K)
gemini-3.1-flash-lite-imageGoogle (Nano Banana 2 Lite)가장 저렴한 Gemini 탐색; 1K 전용, JPEG 반환$0.034

gpt-image-2는 여전히 작동하지만(폐기되지 않음) 2.5 모델보다 한 단계 낮습니다. Gemini *-preview ID와 모든 Imagen 모델은 종료되었습니다. 스크립트에서 이를 거부합니다.

이 스킬의 세 가지 작업

  1. 에셋에 맞는 모델과 품질을 선택합니다. reference/model-selection.md를 참조하세요.
  2. 모델의 규칙에 따라 프롬프트를 작성합니다. 두 공급자는 정반대의 방식을 원합니다:
    • OpenAI GPT Image 2.5는 레이블이 있는 섹션(장면 / 주제 / 세부 사항 / 제약 조건), 따옴표 안의 정확한 텍스트, 인라인 제외 사항("추가 텍스트 없음, 워터마크 없음")을 허용합니다. reference/openai-gpt-image.md를 읽으세요.
    • Gemini는 서술형 단락을 원하며, 부정적인 표현은 역효과를 냅니다("사람 없음" 대신 "빈 거리"로 다시 작성). 종횡비는 imageConfig에 넣습니다. reference/gemini-image.md를 읽으세요.
  3. 번들된 스크립트를 통해 API를 호출합니다. scripts/README.md를 참조하세요.

2.5의 품질 — 덫

2.5 품질 사다리가 재조정되었습니다. 동일한 크기에서 2.5 high는 gpt-image-2 medium의 출력 토큰 정도를 구매하고, 2.5 max는 gpt-image-2 high가 했던 것을 구매합니다(측정: Sunburst 1024×1536 high = 1,372 출력 토큰, max = 5,488). "quality=high"를 예전 습관대로 복사하면 조용히 중간 해상도 이미지가 생성됩니다.

드래프트는 재생성이 아닌 편집으로 승격하세요. 모든 새 생성은 새 이미지를 구성하므로, 승인된 드래프트의 프롬프트를 max에서 다시 실행하면 다른 그림이 나옵니다. 대신 선택된 드래프트를 참조 이미지로 Sunburst max 편집에 전달하여 렌더링 품질만 변경하고 다른 모든 것은 유지하세요. 2026-10-02 검증됨: 이 방식으로 승격된 Flare medium 포스터는 구성, 인물, 포즈, 색상 및 히브리어 텍스트를 유지하고 질감과 세부 묘사를 얻었습니다($0.18, 85초).

단계모델 + 품질이유
방향 탐색, 프롬프트 테스트Flare medium (--draft)약 1센트와 약 15초, 따라서 6개 방향이 최종 하나보다 저렴함
선택된 드래프트 승격--ref <드래프트>와 reference/openai-gpt-image.md의 승격 프롬프트를 사용한 Sunburst max 편집사용자가 선택한 모양을 유지하고 전체 세부 묘사 추가
확정된 프롬프트의 최종 결과Sunburst max (스크립트 기본값)전체 세부 묘사; 약 90초, 약 $0.17
세부 묘사보다 시간이 중요할 때 SunburstSunburst high토큰의 1/4, 약 35초

절대 auto를 사용하지 마세요. 동일한 호출에 대해 다른 예산으로 결정됩니다.

기본 모델 선택 — 30초 규칙

방향 탐색 / "몇 가지 빠른 옵션" / 프롬프트가 작동하는지 테스트?
  예 → Flare medium (--draft). 사용자가 선택한 것을 Sunburst max 편집(--ref <드래프트>)으로 승격.
  아니오 ↓

피부 질감이 중요한 클로즈업 사실적인 인간 얼굴?
  예 → 먼저 Sunburst max (초상화 투표에서 선두); 확대 시 피부가 지나치게 선명하게 보이면,
        gemini-3-pro-image 4K와 비교하여 사람이 선택하도록 함.
  아니오 ↓

3:1을 초과하는 초광각/초장형 배너 (1:4, 4:1, 1:8, 8:1)?
  예 → gemini-3.1-flash-image (GPT Image는 3:1로 제한됨).
  아니오 ↓

그 외 모든 것 → quality=max의 Sunburst.
  └── 투명 PNG? 네이티브: --background transparent (png/webp). rembg 불필요.

에셋 유형별 전체 결정 트리: reference/model-selection.md.

요청별 워크플로우

  1. 범위 확인. 에셋 유형, 브랜드 컨텍스트, 색상/스타일 방향, 목표 종횡비 + 크기, 저장 위치. 요청에 이미 명시되어 있으면 진행합니다.
  2. 모델 및 품질 선택. 위 규칙을 사용하고, 선택 이유를 한 문장으로 설명합니다.
  3. 모델별 참조 문서 읽기 — reference/openai-gpt-image.md 또는 reference/gemini-image.md. 기억에 의존하지 마세요. 두 공급자는 정반대의 프롬프트 구조를 원하며, 2.5 지침은 여러 gpt-image-2 습관을 변경했습니다.
  4. 투명 배경? GPT Image 2.5에서는 네이티브입니다. Gemini 출력물을 자르거나 기존 이미지를 잘라낼 때만 reference/transparent-backgrounds.md를 읽으세요.
  5. templates/에서 일치하는 템플릿을 열고 플레이스홀더를 채웁니다.
  6. 이미지 내 히브리어 또는 RTL 텍스트? 먼저 reference/hebrew-rtl.md를 읽으세요.
  7. 사용자에게 "그냥 해"라고 말하지 않는 한 API를 호출하기 전에 프롬프트를 보여줍니다. 프롬프트 검토 한 번으로 대부분의 비용이 많이 드는 재생성을 방지할 수 있습니다.
  8. 스크립트를 실행합니다. 별도의 지시가 없으면 ./generated-images/<설명적-이름>.png에 저장합니다. OpenAI 스크립트는 지연 시간, 출력 토큰 및 호출당 비용을 출력하므로 총계를 계속 기록합니다.
  9. 읽기 도구로 저장된 이미지를 읽습니다 — Claude는 멀티모달이므로 실제로 픽셀을 볼 수 있습니다. 요청 사항에 대해 비판: 구성, 인용된 대로 정확하게 철자되고 한 번 나타나는 텍스트, 색상, 결함(망가진 글자, 추가 손가락, 깨진 지오메트리), 매끄러운 영역의 입자.
  10. 사용자에게 보여줍니다. open <경로>, 보고 있는 내용(좋은 점과 나쁜 점)을 요약하고, 특정 변경 사항과 함께 출시/반복을 제안합니다.

에셋 유형별 템플릿

에셋템플릿
브랜드 로고 / 마크 / 워드마크templates/logo.md
아이콘 세트 (일관된 스타일 유지)templates/icon-set.md
모바일 앱 UI 화면templates/ui-mobile.md
웹 대시보드 / SaaS UItemplates/ui-dashboard.md
마케팅 히어로 이미지 / 배너templates/hero-image.md
제품 사진 / 히어로 샷templates/product-shot.md

완전한 실제 예제는 examples.md를 참조하세요.

반복 캐릭터 및 스토리 패널

동일한 인물이 여러 이미지에 등장하는 만화, 스토리보드 및 애니메이션 에피소드의 경우:

  • 사진 속 인물. 전체 사진을 참조로 전달하지 마세요. 편집 엔드포인트는 사진을 다시 스타일링합니다(포즈, 옷, 배경 복사, 캡션 텍스트 추가). 대신 인물을 그리지 않습니다. 작동 파이프라인:

    1. 먼저 얼굴을 자릅니다: python3 <this-skill-dir>/scripts/crop_faces.py photos/ faces/ --sheet faces/_sheet.jpg.
    2. 자른 얼굴로 애니메이션 얼굴을 만듭니다.
    3. 그 얼굴을 반신 코스튬 카드로 편집하고 체형을 명시합니다.
    4. 사람의 승인을 받은 다음 승격합니다.

    프롬프트 및 검토 루프: reference/characters-from-photos.md.

  • 2명 이상의 캐릭터가 있는 장면.

    • Flare가 아닌 Sunburst high로 드래프트: Flare는 이미지 1개만 그렸고, 실외, 자막 포함.
    • 첫 언급 시 각 이름을 해당 카드에 바인딩: "다나(이미지 1의 여성)".
    • 어떤 언어로든 자막을 금지합니다.
    • 휴대폰 및 태블릿 화면은 뒤에서 렌더링됩니다. 화면 콘텐츠를 자체 이미지로 생성하고 합성합니다.

    레시피: reference/multi-character-scenes.md.

  • 일괄 청구. credit_balance_exhausted는 OpenAI 계정에 크레딧이 소진되었음을 의미하며, 잘못된 요청이 아닙니다. 중단하고, 완료된 샷을 나열하고, 크레딧 충전 후 누락된 샷만 다시 실행합니다.

API 키 및 종속성

API 키는 환경 변수에서 가져오며, 스크립트를 실행하는 셸의 자체 비밀 저장소에서 설정합니다(매번 새로운 셸마다 다시 설정해야 함):

  • OPENAI_IMAGE_API_KEY for scripts/openai-image.sh
  • GEMINI_IMAGE_API_KEY (또는 GEMINI_API_KEY) for scripts/gemini-image.sh; 동일한 Google AI Studio 키로 generating-video-clips도 작동함

이 키들은 이미지 생성 범위로 지정됩니다. 채팅이나 임베딩에 재사용하지 말고 절대 출력하지 마세요. 변수에 로드하고 echo하지 마세요.

로컬 도구 (Gemini 출력물 또는 기존 이미지를 자를 때만): rembg (pip install "rembg[cli]" onnxruntime), 선택적으로 ImageMagick.

출력 규칙

  • 기본 저장 위치: 현재 작업 디렉토리의 ./generated-images/<설명적-이름>.png.
  • 파일 이름: 설명적 케밥-케이스(logo-agentleh-monochrome-v1.png); 드래프트는 -draft-N을 붙임(logo-agentleh-draft-3.png).
  • 버전 관리: 반복 시 -v1, -v2, …를 추가합니다. 묻지 않고 이전 생성물을 덮어쓰지 마십시오.
  • 투명 출력: 버전 뒤에 -transparent를 추가합니다.
  • macOS에서 open <경로>를 사용하여 생성 직후 사용자에게 보여줍니다.

반복 패턴 — "완벽할 때까지 자동 반복" 루프

에이전트의 임무는 사용자에게 묻기 전에 이미지를 "출시할 만큼 충분히 좋은" 상태로 만드는 것입니다:

1. 생성 (스크립트 호출)
2. 읽기 도구로 저장된 파일 읽기 — Claude가 픽셀을 봄
3. 요청 사항에 대해 자체 비판:
   - 구성이 적절한가? (배치, 프레이밍, 균형, 위계, 네거티브 스페이스)
   - 텍스트가 인용된 대로 정확히 철자되었고, 각 문자열이 한 번 나타나며, 읽을 수 있는가?
   - 색상이 올바른가? (16진수 일치, 팔레트 준수)
   - 결함이 있는가? (망가진 문자 형태, 추가 손가락, 깨진 지오메트리, 하늘/배경의 입자)
   - 요청 사항이 실제로 충족되었는가?
4. 결정:
   - 출시 → 요청 사항 충족; 사용자에게 보여줌
   - 편집 → 하나의 국소적 수정; --ref <이전>과 "X만 변경"하고 이전의 모든 수정 및 보존된 세부 사항을 다시 명시하는 프롬프트로 편집
   - 재작성 → 근본적인 프롬프트 문제; 처음부터 다시 작성, 수정하지 않음
5. 중단 조건: 이 에셋에 대해 5회 반복 사용, 또는 $3 지출(스크립트의 비용 라인 합산),
   또는 출시 가능할 때.

사용자가 최종 판단자이지만 — Claude는 첫 번째 판단자입니다. 결함이 있는 결과를 보여주고 "이거 괜찮나요?"라고 묻지 마세요. 요청 사항을 충족했는지 확인한 후, 또는 비판을 첨부하여("워드마크 커닝이 잘못되었습니다; 다음에 수정하겠습니다") 보여주세요.

모델별 메커니즘

  • GPT Image 2.5 편집은 scripts/openai-image.sh --ref <이미지>를 통해 /v1/images/edits로 진행됩니다(최대 16개 참조). 마스크가 없으면 각 턴마다 전체 캔버스가 재생성되므로 드리프트가 누적됩니다. 새 요청뿐만 아니라 각 턴마다 모든 이전 변경 사항과 보존된 모든 세부 사항을 다시 명시하세요. 특정 영역이 픽셀 단위로 동일해야 하는 경우, 프롬프트가 이를 유지할 것으로 기대하지 말고 승인된 편집본을 원본에 합성하세요.
  • Gemini 다중 턴 편집: scripts/gemini-image.sh --ref <이전-출력> --prompt "X 변경, Y 유지"를 사용하고, 항상 "이미지의 다른 모든 것을 정확히 동일하게 유지 — 구성, 조명, 색상, 기타 모든 요소."로 끝냅니다.
  • 드리프트 규율. 동일한 이미지에서 3회의 실패한 반복 후, 전략을 전환합니다: 기본 프롬프트를 다시 쓰거나 모델을 변경합니다.

가격

GPT Image 2, 2.5 Flare 및 2.5 Sunburst는 토큰 비율을 공유합니다($30/1M 이미지 출력, $8/1M 이미지 입력, $5/1M 텍스트 입력; Batch API는 절반). 그러나 이미지당 토큰 수는 품질, 크기 및 모델에 따라 다르므로 가정하지 말고 스크립트가 출력하는 비용을 읽으세요. Gemini는 이미지당 가격이 책정됩니다. 전체 표 및 실제 시나리오: reference/pricing.md.

히브리어 / RTL

Sunburst와 Flare는 모두 2026-10-02 테스트에서 히브리어 헤드라인을 올바르게 렌더링했습니다(올바른 문자, 올바른 순서, 올바른 방향, 영어 및 배지와 함께). 먼저 직접 렌더링을 시도하고, 긴 히브리어 줄이나 라이선스가 필요한 서체의 경우 합성 워크플로우로 대체하세요. 히브리어는 Google의 Gemini 이미지 모델 최고 성능 언어 목록에 없습니다 — 히브리어 텍스트에는 GPT Image를 선호하세요. reference/hebrew-rtl.md를 참조하세요.

이 스킬을 사용하지 말아야 할 경우

  • 사용자가 편집 가능한 벡터 파일(SVG with paths)을 원하는 경우. 이 모델들은 래스터를 출력합니다. brand-assets 스킬 또는 Recraft V4.1 Vector(recraftv4_1_vector, 네이티브 SVG, 이 스크립트에 연결되지 않음)를 사용하세요.
  • 사용자가 지원되지 않는 크기의 정확한 픽셀 치수(예: 1200×630)를 원하는 경우. 지원되는 가장 가까운 종횡비로 생성한 다음 자르기/크기 조정하세요.
  • 사용자가 특정 실제 인물의 실제 사진을 원하는 경우. 두 공급자 모두 거부하거나 부정확한 초상화를 생성하며 정책 문제가 있습니다.
  • 사용자가 디자인 브리프 없이 일반적인 "AI 아트"를 원하는 경우 — ChatGPT 또는 Gemini 앱을 안내하세요. 이 스킬은 디자인 작업에 맞춰 조정되었습니다.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

shaharsha/deck-to-video

Use when turning a slide deck plus per-slide narration audio into an mp4 video — a self-playing/self-presenting deck video, "slides to video", "presentation to mp4", a shareable WhatsApp/Slack/Drive video of a narrated deck, or when a slide video needs a per-slide progress bar / countdown / slide counter. Also use when a slide video should highlight, glow or spotlight the element being talked about in time with the voice, or when narration and on-screen animation need syncing. Also use when...

shaharsha/generating-video-clips

Use when turning a still image, illustration, comic panel or character art into a short animated clip (image-to-video), choosing a video model or provider (Gemini Omni, Veo, Seedance, Kling, ElevenLabs Flows) or hitting their API gates, lip-syncing a character's mouth to existing dialogue audio (Sync, fal.ai, active speaker), or fixing a generated clip with artifacts - duplicated props, a door or a second figure appearing, hands through bodies, glowing eyes, a gesture repeated at the start,...

shaharsha/producing-animated-episodes

Use when making a narrated or voiced animated video with recurring characters - an anime, cartoon or comic episode, a short for a group chat, a story video about friends, family, a class or a team - from photos, a chat export, a story idea or a script, in any visual style, Hebrew/RTL or English. Also use when such a video has subtitles or cards too fast to read, music stopping early, the ending cut off, lines buried under music, mouths out of sync, a gesture before its line, or one face...

관련 스킬