graph TB
subgraph Frontend["Frontend (React)"]
UI[ImageMaskEditor.jsx]
UI --> |"HTTP Requests"| API
UI --> |"Canvas Operations"| Canvas[Canvas Management]
UI --> |"State Management"| State[Image State]
subgraph Canvas
Draw[Drawing Tools]
Mask[Mask Generation]
History[Edit History]
end
subgraph State
ImgState[Image States]
MaskState[Mask States]
PromptState[Prompt Management]
end
end
subgraph Backend["Backend (FastAPI)"]
API["/api/edit-image Endpoint"]
API --> Pipeline
API --> ErrorHandle[Error Handling]
subgraph Pipeline["Image Processing Pipeline"]
Inference[ImageEditPipeline]
Inference --> |"Object Removal"| Lama[LaMa Cleaner]
Inference --> |"Object Generation"| SD[Stable Diffusion]
Inference --> PA[Prompt Agent]
end
end
subgraph Core["Core Processing"]
ImgProc[ImageProcessor]
QualityMgr[ImageQualityManager]
ModelSetup[Model Setup]
ImgProc --> QualityMgr
ImgProc --> |"Style Analysis"| Style[Image Style Analysis]
ModelSetup --> |"Load Models"| Models[AI Models]
subgraph Processing["Image Processing"]
Preprocess[Preprocessing]
Enhance[Enhancement]
Blend[Image Blending]
Resize[Resizing]
end
end
Pipeline --> ImgProc
ImgProc --> Processing
python3 -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
pip install -r requirements.txt
- 아래 링크에서 OpenAI API Key를 발급받습니다:
OpenAI API Key 발급 페이지
-
터미널에서 프로젝트 루트 디렉토리로 이동 후, 아래 명령어를 실행합니다:
touch .env
-
생성된 .env 파일을 열고 내용 추가:
OPENAI_API_KEY='발급받은 키를 여기에 복사 붙여넣기'
python main.py
npm start