BananaTape 오픈소스 분석: 자연어와 주석으로 AI 이미지를 편집하는 로컬 디자인 도구

 오픈소스 프로젝트 분석

BananaTape 오픈소스 분석: 자연어와 주석으로 AI 이미지를 편집하는 로컬 디자인 도구

BananaTape는 프롬프트로 이미지를 생성한 뒤 캔버스 위에 상자, 화살표, 펜과 메모를 표시해 수정 요청을 전달하는 로컬 우선 AI 이미지 편집기입니다. 이 글에서는 프로젝트의 홍보 문구와 실제 구현을 구분하고, 설치 방법, 데이터 흐름, Magic Layer, 테스트, 보안과 운영 리스크를 함께 분석합니다.



먼저 확인할 결론
BananaTape는 포토샵을 대체하는 범용 그래픽 편집기가 아니라, AI 이미지 생성과 반복 수정 과정을 빠르게 관리하기 위한 개발자 중심의 로컬 작업 공간입니다.

이미지 생성, 시각적 주석, 참조 이미지, 결과 이력과 프로젝트 폴더를 하나의 흐름으로 연결한다는 점이 핵심입니다. 정밀한 픽셀 편집보다 “이 부분을 옮기고, 이 문구를 지우고, 이 영역을 바꿔 달라”는 반복 작업에 더 적합합니다.

30초 핵심 요약
  • 프롬프트로 이미지를 생성하고 캔버스 주석을 이용해 수정 요청을 전달합니다.
  • 프로젝트와 이미지 결과를 클라우드가 아닌 로컬 폴더에 저장합니다.
  • OpenAI API 키 또는 로컬 Codex 인증 정보를 공급자로 사용할 수 있습니다.
  • Magic Layer는 이미지를 분할해 감지된 요소를 이동하거나 숨길 수 있게 합니다.
  • CLI 기반 웹 앱과 Electron 데스크톱 앱을 모두 제공합니다.
  • 로컬 우선 구조이지만 이미지 생성 요청은 선택한 외부 AI 공급자로 전송될 수 있습니다.
현재 프로젝트 상태
최신 공식 릴리스v0.3.3 · 2026년 7월 1일
최신 확인 커밋2026년 7월 1일
라이선스MIT
기본 실행 환경Node.js 22 이상
GitHub 관심도분석 시점 약 170개 스타, 20개 포크

스타와 포크 수는 계속 변할 수 있습니다. 메인 브랜치의 package.json에는 기본 버전이 별도로 남아 있지만, 릴리스 워크플로가 태그의 버전을 패키지 메타데이터에 적용해 npm과 데스크톱 빌드를 생성합니다.

목차
  1. BananaTape는 어떤 AI 이미지 편집 도구인가?
  2. 이미지 생성과 수정 작업은 어떻게 진행되는가?
  3. 실제 아키텍처와 데이터 흐름은 어떻게 구성되는가?
  4. 장점과 한계, 테스트·보안 리스크는 무엇인가?
  5. BananaTape 자주 묻는 질문

BananaTape는 어떤 AI 이미지 편집 도구인가?

BananaTape는 이미지 생성 모델과 캔버스 주석을 연결한 로컬 우선 AI 디자인 편집기입니다. 텍스트 프롬프트만 반복해서 작성하는 대신, 생성된 이미지 위에 직접 표시한 시각적 지시를 편집 요청에 활용합니다.

예를 들어 포스터 이미지에서 로고 위치를 바꾸려면 “로고를 조금 왼쪽으로 옮겨 줘”라고 길게 설명하는 대신 로고 주변에 상자를 그리고 이동 방향을 화살표로 표시할 수 있습니다. 수정 이유나 세부 조건은 스티커 메모로 추가합니다.

홍보 문구와 실제 구현은 어떻게 다른가?

패키지 설명에는 BananaTape가 AI 이미지 모델을 위한 “자연어 포토샵”에 가까운 표현으로 소개됩니다. 그러나 README는 이 프로젝트가 완전한 디자인 도구를 대체하려는 것이 아니라고 명확하게 설명합니다.

구분의미
홍보 문구자연어로 이미지를 생성하고 수정하는 간단한 포토샵형 경험
실제 강점프롬프트, 참조 이미지, 시각적 주석, 버전 이력과 로컬 프로젝트 관리의 결합
제공하지 않는 것복잡한 레이어 패널, 정밀 마스크, 클라우드 동기화, 팀 협업과 완전한 에셋 관리

핵심 기능

프롬프트 이미지 생성
텍스트 요청과 출력 크기를 입력해 새로운 이미지를 생성합니다.
캔버스 주석
상자, 화살표, 자유 그리기와 스티커 메모로 수정할 위치와 내용을 표시합니다.
참조 이미지
파일 선택이나 클립보드 붙여넣기로 스타일과 구도를 설명할 참조 이미지를 추가합니다.
Magic Layer
이미지를 여러 잘라낸 요소로 분할해 감지된 전경, 제품과 텍스트형 영역을 이동하거나 숨깁니다.
프로젝트별 버전 이력
생성과 편집 결과를 사이드바에서 다시 열 수 있으며 이전 버전으로 돌아갈 수 있습니다.
입문자 비유
BananaTape는 전문 그래픽 프로그램보다 “AI 디자이너에게 수정 지시를 전달하는 화이트보드”에 가깝습니다. 사용자는 그림 위에 직접 표시하고, AI 모델은 그 표시와 설명을 바탕으로 새로운 결과를 만듭니다.

어떤 사용자에게 적합한가?

  • AI 이미지 결과를 여러 번 수정하는 개발자와 콘텐츠 제작자
  • 디자인 전문 용어 없이 시각적으로 변경 사항을 전달하고 싶은 사용자
  • 생성 이미지와 참조 자료를 로컬 프로젝트 폴더로 관리하려는 사용자
  • Next.js, Electron, Zustand와 이미지 생성 API의 연결 구조를 공부하려는 개발자
  • Codex 또는 OpenAI 기반 이미지 생성 워크플로를 실험하려는 팀

이미지 생성과 수정 작업은 어떻게 진행되는가?

기본 작업은 프로젝트 생성, 프롬프트 실행, 주석 추가, 편집 요청과 결과 이력 저장 순서로 진행됩니다. 프로젝트 관리는 CLI가 담당하고 웹 편집기는 이미지 작업에 집중하는 구조입니다.

기본 설치와 실행

npm install -g bananatape

bananatape create "Logo Explorations"

bananatape launch logo-explorations

launch 명령을 실행하면 사용할 수 있는 포트를 선택해 127.0.0.1 주소에 로컬 Next.js 서버를 시작하고 기본 브라우저에서 편집기를 엽니다. 여러 프로젝트를 서로 다른 포트에서 동시에 실행할 수도 있습니다.

실제 작업 순서

  1. 프로젝트 문맥 설정: 반복해서 유지할 스타일과 제작 원칙을 시스템 프롬프트에 입력합니다.
  2. 참조 이미지 추가: 색상, 구도, 제품 또는 캐릭터 스타일을 설명할 자료를 연결합니다.
  3. 첫 이미지 생성: 프롬프트, 공급자와 출력 크기를 선택해 이미지를 만듭니다.
  4. 수정 위치 표시: 상자, 화살표, 펜과 메모로 변경할 부분을 표시합니다.
  5. 편집 실행: 원본 이미지, 시각적 주석과 텍스트 요청을 편집 API로 전달합니다.
  6. 직접 배치 수정: Magic Layer가 감지한 요소를 움직이거나 숨깁니다.
  7. 이력 비교: 새 결과가 만족스럽지 않으면 이전 생성 버전을 다시 엽니다.

프로젝트 데이터는 어디에 저장되는가?

각 프로젝트는 일반적인 로컬 폴더입니다. 기본 위치는 사용자 문서 폴더 아래의 BananaTape Projects이며, 환경 변수로 다른 경로를 지정할 수 있습니다.

my-project/

project.json — 프로젝트 정보와 시스템 프롬프트

history.json — 생성·편집 결과 이력

assets/ — 생성된 이미지와 편집 결과

references/ — 프로젝트 참조 이미지

thumbnails/ — 썸네일 예약 폴더

tmp/ — 임시 파일 예약 폴더

로컬 폴더 방식의 장점
프로젝트를 일반 폴더처럼 백업하거나 버전 관리할 수 있고, 결과 파일의 실제 위치를 사용자가 통제할 수 있습니다. 서비스 전용 클라우드 계정이나 데이터베이스에 프로젝트가 잠기는 구조도 피할 수 있습니다.

OpenAI와 Codex 공급자는 어떻게 다른가?

공급자인증 방식확인 사항
OpenAIOPENAI_API_KEY 환경 변수API 비용, 이미지 데이터 전송과 키 보관 방식
Codex로컬의 ~/.codex/auth.jsonCodex CLI 로그인 상태와 인증 만료 여부
인증 정보 주의사항
API 키를 프로젝트 파일, 프롬프트, 이슈 또는 커밋에 입력하지 않아야 합니다. Codex 인증 파일도 애플리케이션에서 직접 수정하기보다 Codex CLI의 정상 로그인 절차로 관리하는 것이 적절합니다.

실제 아키텍처와 데이터 흐름은 어떻게 구성되는가?

BananaTape는 Next.js 애플리케이션, 프로젝트 관리 CLI, 공급자 계층과 선택적인 Electron 래퍼로 구성된 로컬 모놀리식 애플리케이션입니다. 별도의 원격 백엔드 서비스를 운영하기보다 사용자의 컴퓨터에서 프로젝트별 웹 서버를 실행합니다.

핵심 데이터 흐름

CLI로 프로젝트 생성·실행

127.0.0.1의 Next.js 편집기

프롬프트·참조 이미지·주석 조립

generate 또는 edit API Route

OpenAI / Codex 공급자 실행

생성 결과 반환

assets와 history.json에 저장 후 캔버스 표시

주요 기술 스택

영역기술역할
웹 애플리케이션Next.js 16, React 19, TypeScript편집기 UI와 서버 API Route
상태 관리Zustand, Zundo캔버스, 편집기와 실행 취소 이력
이미지 공급자OpenAI SDK, god-tibo-imagenOpenAI와 Codex 기반 생성·편집
데스크톱Electron, electron-builder로컬 Next.js 서버를 네이티브 창으로 감쌈
세그멘테이션SAM 3, MLX, PythonMagic Layer 요소 분할
테스트Vitest, Playwright, jsdom단위 테스트와 브라우저 E2E 테스트

소스 코드는 어떤 책임으로 분리되는가?

경로주요 책임
bin/bananatape.mjs프로젝트 생성, 실행, 목록, 상태, 종료와 삭제
src/app/api생성, 편집, Magic Layer, 프로젝트와 스트리밍 API
src/components캔버스, 프롬프트 입력, 사이드바와 편집기 화면
src/stores캔버스, 에디터와 버전 이력 상태
src/lib/providersOpenAI와 Codex 공급자 차이 처리
src/lib/generation출력 크기, 요청 등록과 병렬 생성 상태
src/lib/projects프로젝트 스키마와 로컬 폴더 접근
src/lib/magic-layer세그멘테이션 프로세스 실행과 결과 변환
electron독립 서버 실행, 포트 선택과 데스크톱 창 생명주기

Magic Layer는 어떻게 작동하는가?

Magic Layer는 생성 이미지를 완전한 편집 레이어로 복원하는 기능이 아닙니다. 이미지 세그멘테이션 모델로 시각적 요소의 마스크와 경계 상자를 추정하고, 이를 캔버스에서 움직일 수 있는 잘라낸 조각처럼 표현합니다.

  1. 현재 이미지를 Magic Layer API에 전달합니다.
  2. 플랫폼과 환경 변수에 따라 세그멘테이션 백엔드를 선택합니다.
  3. 백엔드가 요소별 마스크, 라벨과 경계 상자를 반환합니다.
  4. 캔버스에서 감지된 요소를 이동하거나 숨깁니다.
  5. 변경을 적용하면 편집용 프롬프트와 이미지 입력을 다시 구성합니다.

Apple Silicon에서는 첫 실행 시 관리형 Python 3.13 가상환경과 MLX 기반 세그멘테이션 도구를 자동 설치할 수 있습니다. 공식 설명 기준으로 준비 과정에는 네트워크 상태에 따라 약 5~15분과 약 4GB의 디스크 공간이 필요할 수 있습니다.

Linux와 NVIDIA 환경에서는 별도 SAM 3 환경을 준비하고 BANANATAPE_SAM3_COMMAND를 지정할 수 있습니다. 명시적 백엔드가 없거나 설치가 실패하면 UI 테스트가 가능한 가벼운 로컬 대체 결과를 사용합니다.

Magic Layer의 한계
감지된 영역은 원본 제작 파일의 실제 레이어가 아니라 AI가 추정한 분할 결과입니다. 복잡하게 겹친 물체, 작은 글자, 그림자와 배경이 섞인 요소에서는 원하는 경계와 다르게 분할될 수 있습니다.

개발자가 먼저 읽어야 할 파일

  1. README.md — 공식 기능 범위와 설치 흐름
  2. package.json — 진입점, 기술 스택과 Node 버전
  3. bin/bananatape.mjs — 프로젝트와 로컬 서버 생명주기
  4. src/app/page.tsx — 웹 편집기의 최상위 조립
  5. src/app/api/generate — 신규 이미지 생성 경로
  6. src/app/api/edit — 이미지 편집 요청 경로
  7. src/lib/providers — 공급자별 구현 차이
  8. src/stores/useEditorStore.ts — 편집기 상태와 출력 설정
  9. src/lib/magic-layer/runner.ts — 세그멘테이션 실행 경계
  10. electron/main.mjs — 데스크톱 서버와 창 실행 구조

장점과 한계, 테스트·보안 리스크는 무엇인가?

BananaTape의 강점은 짧고 명확한 이미지 반복 작업이며, 한계는 전문 편집 기능과 운영 안정성이 아직 제한적이라는 점입니다. 개인 개발자의 로컬 도구로는 매력적이지만 조직 환경에서는 인증, 외부 전송, 자동 설치와 프로젝트 백업 정책을 추가로 검토해야 합니다.

주요 장점

  • 시각적 수정 요청: 텍스트만으로 설명하기 어려운 위치와 방향을 캔버스에 표시할 수 있습니다.
  • 로컬 프로젝트 소유권: 메타데이터, 참조 이미지와 결과물이 일반 폴더에 저장됩니다.
  • 버전 이력: 실패한 수정 결과를 덮어쓰지 않고 이전 생성 결과로 돌아갈 수 있습니다.
  • 공급자 선택: OpenAI API와 로컬 Codex 인증 흐름을 구분해 사용할 수 있습니다.
  • CLI와 데스크톱 병행: 자동화 가능한 프로젝트 관리와 일반 사용자를 위한 네이티브 창을 함께 제공합니다.
  • 학습 가치: 이미지 API, 로컬 서버, 캔버스 상태, 파일 저장과 Electron 패키징을 한 프로젝트에서 살펴볼 수 있습니다.

주요 한계

  • 정밀 편집 도구 부족: 전문 레이어, 벡터 경로, 색상 보정과 복잡한 마스크 편집을 대체하지 않습니다.
  • CLI 중심 프로젝트 관리: 편집기 안에는 프로젝트 대시보드나 생성 화면이 없습니다.
  • 클라우드 동기화 부재: 여러 기기와 팀원이 프로젝트를 공유하려면 별도 파일 동기화가 필요합니다.
  • AI 결과의 비결정성: 같은 요청도 모델과 실행 시점에 따라 다른 결과가 나올 수 있습니다.
  • 세그멘테이션 정확도: Magic Layer가 항상 의미 있는 디자인 요소를 정확히 분리하는 것은 아닙니다.
  • 빠른 초기 개발 단계: 최신 릴리스가 0.x 버전이므로 기능과 저장 구조가 바뀔 가능성을 고려해야 합니다.

테스트와 배포 품질은 어느 수준인가?

단위 테스트는 CLI, 좌표 계산, 디자인 문맥, 편집기 상태, Electron 패키징 설정과 생명주기, 공급자, 프로젝트 저장, 참조 이미지 형식을 다룹니다. 생성 요청의 중복 상태, 출력 크기, 이력 저장과 마이그레이션 테스트도 소스 디렉터리 가까이에 배치되어 있습니다.

브라우저 E2E 테스트는 Playwright 기반 editor.spec.ts에 집중되어 있습니다. 테스트 영역은 존재하지만 E2E 파일 수가 많지는 않으므로 운영체제별 데스크톱 동작과 실제 이미지 공급자 오류를 모두 자동 검증한다고 보기는 어렵습니다.

릴리스 검증에서 확인되는 항목
  • ESLint 검사
  • TypeScript 타입 검사
  • Vitest 단위 테스트
  • Next.js 프로덕션 빌드
  • npm 패키지 내용 검사
  • 설치된 CLI의 프로젝트 생성·실행 스모크 테스트
  • macOS, Windows와 Linux용 Electron 패키지 생성
테스트 운영에서 아쉬운 점
저장소의 공개 워크플로는 npm 배포와 Electron 패키징에 집중되어 있습니다. 릴리스 시 단위 테스트는 실행되지만, 모든 일반 커밋과 Pull Request에서 전체 단위·E2E 테스트를 강제하는 독립적인 범용 CI 워크플로는 명확하게 보이지 않습니다.

확인되는 보안 설계

  • 로컬 웹 서버를 127.0.0.1에 바인딩합니다.
  • Electron 창은 contextIsolation을 활성화합니다.
  • Electron 렌더러의 nodeIntegration을 비활성화합니다.
  • 데스크톱 앱이 유효한 project.json을 가진 프로젝트 폴더인지 확인합니다.
  • API 키를 환경 변수로 전달하고 프로젝트 파일에 직접 저장하지 않습니다.
  • 프로젝트 삭제는 기본적으로 등록만 해제하고, 실제 파일 삭제에는 별도 옵션을 요구합니다.

운영 전에 검토할 리스크

반드시 확인할 항목
  1. 외부 데이터 전송: 로컬 앱이어도 프롬프트, 이미지와 참조 자료가 선택한 AI 공급자에 전송될 수 있습니다.
  2. 비밀 정보: API 키, 고객 이미지와 미공개 디자인을 프로젝트나 로그에 노출하지 않아야 합니다.
  3. 자동 설치: Apple Silicon의 Magic Layer는 첫 실행 중 Python 환경과 외부 소스 패키지를 설치할 수 있습니다.
  4. 저장 공간: 생성 이미지, 참조 파일, 이력과 세그멘테이션 환경이 로컬 디스크를 계속 사용합니다.
  5. 백업: 클라우드 동기화가 없으므로 프로젝트 폴더의 별도 백업 정책이 필요합니다.
  6. 비용 통제: 반복 생성과 편집 요청은 외부 API 사용량을 증가시킬 수 있습니다.
  7. 저작권과 초상권: 참조 이미지와 생성 결과의 사용 권리를 별도로 확인해야 합니다.

추천 사용자와 비추천 사용자

평가대상
적극 추천AI 이미지를 반복 생성·수정하는 개발자, 오픈소스 이미지 도구 구조를 공부하려는 프런트엔드 개발자
조건부 추천로컬 파일 관리와 API 비용·개인정보 정책을 직접 통제할 수 있는 소규모 팀
비추천정밀 인쇄 디자인, 복잡한 벡터 편집, 실시간 협업과 기업용 자산 관리가 필요한 사용자
BananaTape의 핵심 가치는 AI가 이미지를 완벽하게 편집한다는 데 있지 않고, 생성과 수정 지시를 프로젝트 단위의 반복 가능한 작업 흐름으로 만든다는 데 있습니다.
핵심 정리
  • BananaTape는 자연어, 시각적 주석과 이미지 생성 모델을 연결합니다.
  • 프로젝트 메타데이터와 이미지 결과를 로컬 폴더에 저장합니다.
  • CLI가 프로젝트 생명주기를 관리하고 Next.js가 편집기와 API를 제공합니다.
  • Electron은 동일한 로컬 서버를 네이티브 창으로 감싼 구조입니다.
  • Magic Layer는 실제 원본 레이어가 아닌 AI 세그멘테이션 결과를 사용합니다.
  • 전문 디자인 도구의 대체재보다 AI 이미지 반복 작업을 보조하는 도구로 평가하는 것이 적절합니다.

BananaTape 자주 묻는 질문

BananaTape 설치와 실제 이미지 작업을 시작하기 전에 많이 궁금해할 질문을 정리했습니다.

BananaTape는 어떤 프로그램인가요?

BananaTape는 프롬프트로 이미지를 생성하고 캔버스 위의 상자, 화살표, 펜과 메모를 이용해 수정 요청을 전달하는 로컬 우선 AI 이미지 편집기입니다. 생성 결과, 참조 이미지와 버전 이력을 프로젝트 폴더에 저장합니다.

BananaTape가 포토샵을 대체할 수 있나요?

완전히 대체하기는 어렵습니다. BananaTape는 AI 이미지 생성과 빠른 반복 수정에 적합하지만, 전문 레이어 편집, 벡터 작업, 정밀 마스크, 색상 보정과 인쇄 제작 기능을 제공하는 범용 그래픽 편집기는 아닙니다.

BananaTape를 사용하려면 Codex 구독이 반드시 필요한가요?

반드시 필요한 것은 아닙니다. BananaTape는 OPENAI_API_KEY를 사용하는 OpenAI 공급자와 로컬 Codex 인증 파일을 사용하는 Codex 공급자를 제공합니다. 사용하려는 공급자에 맞는 인증과 비용 조건을 준비하면 됩니다.

BananaTape는 모든 데이터를 컴퓨터 안에서만 처리하나요?

프로젝트 메타데이터, 참조 이미지와 생성 결과는 로컬 폴더에 저장됩니다. 다만 OpenAI 또는 Codex 기반 이미지 생성을 실행하면 프롬프트와 이미지 입력이 선택한 외부 공급자로 전송될 수 있으므로 완전한 오프라인 프로그램으로 해석해서는 안 됩니다.

Magic Layer를 사용하려면 무엇을 설치해야 하나요?

Apple Silicon에서는 uv를 준비하면 첫 Magic Layer 실행 시 관리형 Python 3.13 환경과 MLX 기반 도구를 자동 설치할 수 있습니다. 공식 설명상 약 5~15분과 약 4GB의 공간이 필요할 수 있습니다. 다른 환경에서는 SAM 3 호환 명령을 직접 설정하거나 가벼운 대체 분할 기능을 사용할 수 있습니다.

댓글

가장 많이 본 글