Communitygithub.com

로고-팝업

화면 속 사용자가 손가락으로 가리키는 순간, 말하는 단어와 동기화하여 Claude, Codex, ChatGPT, Grok, Gemini, Cursor 등 다양한 브랜드 로고를 손끝에서 튀어나오게 합니다.

로고-팝업란 무엇인가요?

이 스킬은 사용자가 동영상에서 특정 브랜드를 말하거나 손가락으로 가리킬 때, 해당 브랜드의 로고 아이콘이 손끝에서 튀어나오는 시각 효과를 추가하는 AI 에이전트 스킬입니다. Claude Code, Cursor, Codex 등 다양한 AI 개발 도구에서 실행할 수 있으며, 사용자가 `/logo-popups` 명령을 입력하거나 "로고 팝업 추가"와 같은 자연어 요청을 하면 동작합니다. 스킬의 작동 방식은 크게 세 단계로 나뉩니다. 첫째, 동영상에서 손가락이 가리키는 시점(포인팅 윈도우)과 사용자가 말한 단어의 시간 위치를 자동으로 추출합니다. 둘째, 추출된 정보를 바탕으로 각 로고가 나타날 시간, 위치, 크기, 색상 등이 담긴 JSON 계획 파일을 생성합니다. 셋째, 생성된 계획에 따라 실제 로고 팝업 효과가 적용된 동영상을 렌더링합니다. 로고는 사전 설정된 브랜드(Claude, Codex, ChatGPT, Grok, Gemini, Cursor, Perplexity 등)뿐만 아니라 lobehub.com의 아이콘 세트나 사용자가 직접 제공한 PNG/SVG 이미지도 사용 가능합니다. 핵심 기능으로는 얼굴 인식 기반 자동 회피(로고가 얼굴을 가리지 않도록), 팝업 시 반짝임과 링 효과, 손가락 움직임 추적, 각 로고별 세부 커스터마이징(라벨, 배경색, 크기, 오프셋 등)이 있습니다. 사용자는 렌더링 전에 스틸 이미지로 미리보기를 확인하여 위치와 타이밍을 조정할 수 있습니다. 출력은 원본 오디오를 유지한 H.264 MP4 파일입니다.

지원 대상✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/sknitd/logo-popups/tree/HEAD

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

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

문서

로고 팝업: 손가락 끝에서 튀어나오는 로고

사용자는 일반적으로 기술에 익숙하지 않습니다. 답변은 짧게 유지하고, 사용자를 위해 작업을 대신 해주며, 명령어를 직접 실행하도록 요청하지 마세요.

모든 경로는 이 스킬의 폴더(SKILL.md가 있는 폴더)를 기준으로 합니다. 명령어에는 절대 경로를 사용하세요. 아래 PY는 이 폴더의 .venv/bin/python을 의미합니다(Windows의 경우 .venv\Scripts\python.exe).

1. 첫 실행: 설정 (한 번만)

bash scripts/setup.sh를 실행하세요. 완료되면 READY가 출력됩니다(처음에는 1~3분 소요).

  • NEED_FFMPEG: ffmpeg를 설치하세요(Mac: brew install ffmpeg, Windows: winget install ffmpeg). 그런 다음 setup을 다시 실행하세요.
  • NEED_PYTHON: Python 3.12를 설치하세요(Mac: brew install [email protected], Windows: winget install Python.Python.3.12). 그런 다음 setup을 다시 실행하세요.

2. 가리키는 지점과 단어 찾기

사용자의 동영상에 대해 다음 두 가지를 실행하세요:

  • PY scripts/track.py <video>: 손을 추적하여 <video>.hands.json 파일을 저장하고 포인팅 윈도우(손가락이 펴진 시간)를 출력합니다.
  • PY scripts/words.py <video>: 각 단어가 발화된 시간을 출력합니다.

각 포인팅 윈도우를 해당 시간에 화자가 언급한 브랜드와 매칭하세요. Whisper는 브랜드 이름을 자주 잘못 인식합니다: "cloud"는 대개 Claude, "codecs"는 Codex, "croc"/"grok"은 Grok, "chat GPT"는 ChatGPT, "Gemini", "cursor"는 Cursor입니다. 사용자가 이미 어떤 로고를 원하는지 알려줬다면, 가리킨 순서대로 그 로고를 사용하세요. 만약 발화에서 브랜드를 언급하지 않았고 사용자가 말하지도 않았다면, "어떤 로고를, 어떤 순서로 넣을까요?"라고 짧게 물어보세요.

3. 계획 작성

동영상 옆에 <video-name>_logos.json 파일로 저장하세요:

{"pops": [
  {"logo": "claude", "start": 1.12, "end": 1.85},
  {"logo": "codex",  "start": 2.10, "end": 3.05},
  {"logo": "grok",   "start": 3.45, "end": 4.50}
]}
  • start: 손이 안정된 후 약간의 박자(윈도우 시작) 또는 단어 발화 시점 중 더 늦은 시간. end: 손가락이 내려가거나 다음 포인트가 시작되는 시간. 각 팝은 0.7 ~ 1.2초가 가장 자연스럽습니다. 두 팝이 겹치면 안 됩니다.
  • logo: 사전 설정 이름(아래 참조), lobehub.com/icons의 아이콘 이름(예: notion, figma, vercel; <name>-color를 먼저 시도), 또는 사용자가 제공한 PNG/SVG 파일 경로.

팝별 옵션 (모두 선택 사항):

키설명기본값
label아이콘 아래 필라에 표시할 텍스트; ""로 숨김브랜드 이름
bg타일 배경색 (16진수)사전 설정, 없으면 흰색
fg단색 SVG 로고의 색상어두운 타일은 흰색, 밝은 타일은 검은색
accent팝업 링의 색상사전 설정, 없으면 로고 색상
size동영상 너비 대비 타일 너비 비율0.24
logo_scale타일 내부 로고 크기 비율0.66
gap손끝에서 아이콘이 떨어진 거리 (타일 크기 단위)0.85
nudge추가 [x, y] 오프셋 (너비 대비 비율)[0, 0]
avoid_face얼굴을 가리게 될 경우 위로 밀어 올림true
burst팝업 시 링과 스파크 효과true

사전 설정: claude, anthropic, codex, openai, chatgpt, grok, gemini, cursor, perplexity, deepseek, copilot, mistral, meta.

4. 확인 후 렌더링

  1. 먼저 스틸 이미지(빠름): PY scripts/render.py <plan.json> <video> <folder>/check.png --still 1.5,2.6,4.0 각 팝 중간의 한 시점을 지정합니다. PNG를 직접 확인하세요. 얼굴을 가리거나, 화면 가장자리에서 잘리거나, 손가락에서 너무 멀리 떨어진 경우(gap, nudge, size, 타이밍) 수정하세요.
  2. 렌더링: PY scripts/render.py <plan.json> <video> <video-name>_logos.mp4. 출력: H.264 MP4, 1080 너비, 동일한 프레임 속도, 원본 오디오 유지.
  3. 파일 위치를 알려주고, 게시 전에 시청하도록 안내하세요.

규칙

  • 절대 얼굴을 가리지 마세요. 얼굴 회피는 기본적으로 켜져 있지만, 스틸 이미지에서 반드시 확인하세요.
  • 한 번 가리킬 때 로고 하나만 표시하세요. 같은 브랜드를 두 번 가리키면 두 번 팝업을 사용하세요.
  • 로고는 해당 소유주의 상표입니다. 이 기능은 해설 및 리뷰용입니다. 사용자가 요청하지 않는 한 화자가 언급하지 않은 로고는 추가하지 마세요.

관련 스킬