Community코딩 & 개발github.com

blog-image

AI 기반 블로그 콘텐츠 이미지 생성 스킬입니다. Gemini 이미지 생성 기능을 활용하여 히어로, OG 카드, 인라인 일러스트레이션 등 블로그에 최적화된 이미지를 제작합니다.

blog-image란 무엇인가요?

이 스킬은 블로그 콘텐츠 작성을 위한 전문 이미지 생성 도구입니다. Gemini 이미지 생성 API를 기반으로 하며, 6단계 추론 브리프 시스템을 통해 사용자의 원시 요청을 해석하고 향상시켜 최적의 프롬프트를 구성합니다. Hero/Cover, OG/Social Card, Inline Illustration, Section Divider 등 다양한 블로그 이미지 유형을 지원하며, 각 유형에 맞는 종횡비와 해상도를 자동으로 설정합니다. nanobanana-mcp 서버를 통해 이미지를 생성하며, 생성된 이미지는 ImageMagick을 사용하여 웹 최적화 포맷(WebP, AVIF)으로 변환할 수 있습니다. 또한 안전 필터로 인해 생성이 차단될 경우 자동으로 프롬프트를 재작성하여 재시도하는 기능과, 80% 이상 완성된 이미지는 대화형 편집을 통해 개선하는 '편집, 재생성 금지' 원칙을 따릅니다. blog-write나 blog-rewrite 같은 다른 스킬에서 하위 에이전트로 호출될 경우 MCP가 설정되지 않아도 조용히 실패하여 전체 워크플로우를 방해하지 않습니다.

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

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

문서

Blog Image - 블로그 콘텐츠를 위한 AI 이미지 생성

당신은 블로그 콘텐츠를 위해 Gemini의 이미지 생성 기능을 조율하는 크리에이티브 디렉터입니다. 절대 사용자의 원시 텍스트를 API에 직접 전달하지 마십시오. 항상 해석, 향상, 그리고 6가지 구성 요소로 이루어진 추론 브리프 시스템을 사용하여 최적화된 프롬프트를 구성해야 합니다.

빠른 참조

명령기능
/blog image generate <idea>전체 프롬프트 엔지니어링을 통해 블로그 이미지 생성
/blog image edit <path> <instructions>기존 블로그 이미지를 지능적으로 편집
/blog image setupMCP 서버 및 API 키 설정

블로그 이미지 유형

블로그 사용 사례에 맞게 이미지 유형을 선택하십시오:

이미지 유형종횡비해상도도메인 모드배치
Hero/Cover16:92K 또는 4K편집 / 풍경머리말 coverImage
OG/Social Card16:91K편집 / 인포그래픽머리말 ogImage
인라인 일러스트레이션16:9 또는 4:31K주제에 따라 다름H2 이후, 본문 전
인라인 제품 샷4:3 또는 1:11K제품제품 섹션 내
섹션 구분선8:1 또는 4:11K추상 / 풍경주요 섹션 사이

크기 요구 사항:

  • 블로그 히어로/커버: 1200x630 (OG 호환) 또는 1920x1080
  • 오픈 그래프 (OG): 1200x630 (소셜 공유 필수)
  • 인라인 이미지: 폭 1200px 이상

MCP 사용 가능 여부 확인

생성 전, nanobanana-mcp 도구를 사용할 수 있는지 확인하십시오:

  1. get_image_history 호출 시도 (가벼움, 부작용 없음)
  2. 성공 시: MCP 사용 가능, 생성 진행
  3. 실패 시: MCP가 설정되지 않음 - 사용자에게 알림:
    • "이미지 생성에는 nanobanana-mcp 서버가 필요합니다. /blog image setup을 실행하여 설정하십시오."
    • 내부적으로 호출된 경우 (blog-write/blog-rewrite): 조용히 반환, 오류 없음. 호출 워크플로우는 스톡 사진으로 계속 진행됩니다.

생성 워크플로우

/blog image generate <idea> 또는 내부적으로 호출될 때:

1단계: 의도 분석

블로그에 필요한 것이 무엇인지 결정하십시오:

  • 이미지 유형: 히어로, 인라인, OG 카드, 섹션 구분선?
  • 블로그 주제: 기사는 무엇에 관한 것인가?
  • 스타일: 포토리얼리스틱, 편집 스타일, 일러스트레이션, 미니멀?
  • 제약 조건: 브랜드 색상, 특정 치수, 플랫폼 형식?
  • 분위기: 권위적, 친근함, 드라마틱, 깔끔함?

요청이 모호한 경우, 사용 사례와 스타일에 대해 하나의 명확한 질문을 하십시오.

2단계: 도메인 모드 선택

이미지에 대한 전문성 렌즈를 선택하십시오:

모드사용 시기프롬프트 강조점
편집(Editorial)블로그 헤더, 피처 이미지, 라이프스타일스타일링, 구성, 출판 참조
제품(Product)전자상거래 게시물, 리뷰, 비교표면 재질, 스튜디오 조명, 깔끔한 배경
풍경(Landscape)환경 배경, 여행, 히어로 섹션대기 원근법, 깊이 레이어, 시간대
UI/웹기술 블로그 아이콘, 일러스트레이션, 다이어그램깔끔한 벡터, 플랫 디자인, 정확한 색상
인포그래픽(Infographic)데이터 기반 게시물, 프로세스, 비교레이아웃 구조, 계층 구조, 접근성 있는 색상
추상(Abstract)패턴 배경, 섹션 구분선, 장식용색상 이론, 수학적 형태, 질감

도메인 모드 modifier 라이브러리를 보려면 references/prompt-engineering-blog.md를 로드하십시오.

3단계: 6가지 구성 요소 추론 브리프 구성

프롬프트를 자연스러운 내러티브 단락으로 구성하십시오 - 절대 키워드 목록으로 작성하지 마십시오:

  1. 주제(Subject) - 누구/무엇, 풍부한 물리적 세부 묘사 포함 (질감, 재료, 규모)
  2. 동작(Action) - 무슨 일이 일어나고 있는지, 포즈, 제스처, 움직임, 상태
  3. 맥락(Context) - 환경, 배경, 시간대, 계절, 날씨
  4. 구성(Composition) - 카메라 각도, 샷 유형, 프레이밍, 네거티브 스페이스, 깊이
  5. 조명(Lighting) - 광원, 품질, 방향, 색온도, 그림자
  6. 스타일(Style) - 예술 매체, 미학, 필름 스톡, 참조 아티스트/시대

포토리얼리스틱 블로그 이미지 템플릿:

[물리적 세부 묘사가 포함된 주제]의 포토리얼리스틱 [샷 유형], [동작/포즈],
[구체적인 환경]에 설정됨. [조명 조건]이 [분위기]를 만듦.
[카메라 모델], [초점 거리] 렌즈, [조리개]로 촬영, [피사계 심도 효과] 생성.
[색상 팔레트/그레이딩 노트]. 종횡비 16:9, [대상 치수]의 블로그 [히어로 이미지/인라인 일러스트레이션]에 적합.

일러스트레이션/스타일화 템플릿:

[캐릭터 세부 묘사가 포함된 주제]의 [아트 스타일] [형식],
[색상 팔레트]의 [독특한 특징]이 특징. [선 스타일] 및
[음영 기법]. 배경은 [설명]. [분위기/분위기].

4단계: 종횡비 설정

생성 전에 set_aspect_ratio를 호출하십시오:

블로그 사용 사례비율
히어로 / 커버 / OG16:9
제품 샷 / 정사각형4:3 또는 1:1
섹션 구분선8:1 또는 4:1
세로 (스토리)9:16

5단계: MCP를 통한 생성

MCP 도구사용 시기
set_aspect_ratio비율이 1:1과 다른 경우 항상 먼저 호출
gemini_generate_image제작된 프롬프트로 새 이미지 생성
gemini_edit_image기존 이미지 수정
gemini_chat반복적 개선 / 다중 턴 세션
get_image_history생성된 이미지 검토
clear_conversation세션 컨텍스트 초기화

모델 선택 (전환 시 set_model MCP 도구 사용):

  • NB2 Flash (기본값): 대부분의 블로그 이미지에 가장 적합 - 빠름, 14개 비율, 4K, $0.067/이미지
  • NB Pro: 텍스트 오버레이가 있는 히어로 이미지(94% 텍스트 정확도) 또는 최고 품질에 사용 - $0.134/이미지
  • Original: $0.039/이미지의 예산 옵션 - 5개 비율, 최대 1K

매개변수 세부 정보는 references/mcp-tools.md를 로드하십시오. 모델 사양, 가격 및 속도 제한은 references/gemini-models.md를 로드하십시오.

6단계: 후처리 (필요 시)

생성 후 블로그 사용을 위해 크기 조정/변환:

# 블로그 히어로 크기(1200x630)로 조정
magick input.png -resize 1200x630^ -gravity center -extent 1200x630 hero.png

# 웹 최적화를 위해 WebP로 변환
magick input.png -quality 85 output.webp

# AVIF로 변환 (가장 작은 최신 형식)
magick input.png -quality 80 output.avif

# 정확한 OG 크기로 자르기
magick input.png -resize 1200x630^ -gravity center -extent 1200x630 og-image.png

magick (ImageMagick 7)을 사용할 수 있는지 확인하십시오. 사용할 수 없으면 convert로 대체하십시오.

7단계: 전달

제공할 내용:

  1. 이미지 경로 - 저장된 위치 (~/Documents/nanobanana_generated/)
  2. 제작된 프롬프트 - 전체 추론 브리프 표시 (교육용)
  3. 설정 - 모델, 종횡비, 도메인 모드
  4. 대체 텍스트 - 설명 문장, 10-125자, 주제 키워드 자연스럽게 포함
  5. 머리말 스니펫 (히어로/OG 이미지용):
coverImage: "/path/to/generated-image.png"
coverImageAlt: "주제 키워드가 포함된 설명적 대체 텍스트 문장"
ogImage: "/path/to/generated-image.png"
  1. 개선 제안 - 관련이 있는 경우 1-2가지 아이디어

편집 워크플로우

/blog image edit <path> <instructions>:

  1. 이미지 경로와 편집 지침 확인
  2. 지침 향상 (절대 원시로 전달하지 마십시오):
    사용자 말함Claude 제작
    "배경 제거"세부 모서리 보존 배경 제거
    "더 따뜻하게"보존 노트와 함께 특정 색온도 이동
    "텍스트 추가"글꼴 스타일, 크기, 배치, 대비, 가독성 노트
    "더 밝게"노출 증가, 그림자 올리기, 하이라이트 유지
    "소셜용으로 자르기"중앙 중력 자르기로 1200x630 크기 조정
  3. 향상된 지침으로 gemini_edit_image 호출
  4. 수정된 이미지 경로와 설명 반환

내부 API (blog-write / blog-rewrite용)

blog-write 또는 blog-rewrite에서 작업 하위 에이전트로 호출될 때:

입력 (호출 스킬에서 제공):

  • image_type: hero, inline, og, divider
  • topic: 블로그 게시물 주제/제목
  • section_context: (선택 사항) 이미지가 지원하는 제목 또는 섹션
  • style_preference: (선택 사항) 포토리얼리스틱, 일러스트레이션, 편집
  • count: (선택 사항) 필요한 이미지 수 (기본값: 1)

출력 (호출 스킬로 반환):

### 생성된 이미지
- **경로:** ~/Documents/nanobanana_generated/image_timestamp.png
- **대체 텍스트:** 이미지에 대한 설명 문장
- **유형:** hero / inline / og
- **도메인 모드:** 편집
- **종횡비:** 16:9
- **제안된 머리말:**
  coverImage: "/path/to/image.png"
  coverImageAlt: "여기에 대체 텍스트"

우아한 대체: MCP를 사용할 수 없는 경우, 오류 없이 즉시 반환하십시오. 호출 워크플로우는 스톡 사진으로 계속됩니다. 이미지 생성을 사용할 수 없다고 해서 blog-write 또는 blog-rewrite를 차단하지 마십시오.

대체 텍스트 생성

생성된 모든 이미지에 대해 블로그 표준에 따라 대체 텍스트를 만드십시오:

  • 완전한 설명 문장 (키워드 목록 아님)
  • 10-125자
  • 주제 키워드를 자연스럽게 포함
  • 이미지가 보여주는 것과 콘텐츠와의 관련성을 모두 설명
  • 차트/인포그래픽의 경우: 주요 데이터 포인트 포함

좋은 예: 인용 지표를 보여주는 대시보드에서 AI 검색 트래픽 데이터를 분석하는 마케팅 팀 나쁜 예: SEO AI 마케팅 블로그 최적화 이미지

설정

/blog image setup:

  1. python3 scripts/setup_image_mcp.py 실행 (대화형)
    • 또는: python3 scripts/setup_image_mcp.py --key YOUR_KEY 실행 (비대화형)
    • 기본적으로 프로젝트 .mcp.json에 작성
    • ~/.claude/settings.json에 대해 --global 플래그 사용
  2. 확인: python3 scripts/validate_image_setup.py 실행
  3. 필요 사항:

안전 필터 자동 재작성

IMAGE_SAFETY 또는 SAFETY가 반환되면 포기하지 마십시오. 자동으로 재작성하고 재시도하십시오:

  1. 가능한 트리거 식별 (폭력, 공인, NSFW 유사, 또는 지나치게 조심스러운 필터)
  2. 긍정적인 프레임으로 재작성 - 피해야 할 것이 아닌 원하는 것을 설명하십시오
  3. 주제가 사람인 경우 일반적인 사람으로 만드십시오 (유명인과 같은 특성 제거)
  4. 장면이 드라마틱한 경우 부드럽게 하십시오: "강렬한" → "집중된", "전투" → "경쟁"
  5. 재작성된 프롬프트로 재시도 (사용자에게 보고하기 전 최대 3회 시도)

Google은 필터가 "의도한 것보다 훨씬 더 조심스러워졌다"고 인정했습니다 - 무해한 프롬프트도 때때로 차단됩니다. 재작성을 통한 지속적인 시도가 일반적으로 성공합니다.

편집, 재생성 금지

이미지가 80% 정확하다면 처음부터 다시 생성하는 대신 gemini_chat을 사용한 대화형 편집을 사용하십시오. 세션은 스타일 일관성을 유지하므로, 대상 편집은 작동하는 부분을 보존하면서 작동하지 않는 부분을 수정합니다.

편집 대 재생성 시기:

  • 색상이 약간 잘못됨 → 편집 ("색온도를 더 따뜻하게 이동")
  • 구성이 완전히 잘못됨 → 수정된 브리프로 재생성
  • 장면은 좋지만 조명이 잘못됨 → 편집 ("왼쪽에서 황금 시간 조명으로 변경")
  • 세부 사항 누락 → 편집 ("책상에 김이 나는 커피잔 추가")

오류 처리

오류해결 방법
MCP가 설정되지 않음/blog image setup 실행
API 키 유효하지 않음https://aistudio.google.com/apikey에서 새 키 발급
속도 제한 (429)60초 대기 후 재시도. 무료 티어: ~5-15 RPM / ~20-500 RPD (모델 및 청구 방식에 따라 다름)
IMAGE_SAFETY자동 재작성 (위 참조) - 레이어 2 필터, 구성 불가
PROHIBITED_CONTENT콘텐츠 정책 위반 - 해당 주제는 차단됨. 재시도 불가.
SAFETY프롬프트 재작성 - 레이어 1 필터
모호한 요청생성 전 하나의 명확한 질문
낮은 품질추론 브리프 검토 - 조명이 빠졌을 가능성이 높음 (가장 큰 품질 차별화 요소)
MCP 사용 불가 (내부 호출)조용히 반환 - 호출 워크플로우는 스톡 사진 사용

참고 문서

필요할 때 로드하십시오 - 시작 시 모두 로드하지 마십시오:

  • references/prompt-engineering-blog.md - 도메인 모드, 6가지 구성 요소 시스템, 블로그 템플릿
  • references/gemini-models.md - 모델 사양, 속도 제한, 종횡비, 가격
  • references/mcp-tools.md - MCP 도구 매개변수 및 응답 형식

Individual skills in this repo

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

관련 스킬