이 저장소는 PaperBanana / PaperVizAgent를 기반으로, OpenAI 이미지 백엔드와 실제 데모 흐름까지 정리한 한국어 중심 포크입니다.
이 포크에서는 서비스형 이름으로 FigureFlow AI라는 브랜딩 톤을 함께 사용합니다. 저장소 이름은
papervizagent를 유지하지만, 문서와 샘플은 더 직관적이고 제품적인 방향으로 정리했습니다.
PaperVizAgent는 논문 내용을 읽고, 참고 사례를 찾고, 구조를 설계하고, 그림 초안을 만들고, 검토·수정까지 반복해 최종적으로 논문/발표용 도식을 생성하는 멀티에이전트 프레임워크입니다.
이 포크의 핵심 차별점은 다음입니다.
- OpenAI GPT Image 기반 생성/수정 워크플로우 지원
- Streamlit refine/edit 경로까지 OpenAI 연동 완료
- Google ADC가 없어도 OpenAI-only 로컬 실행 가능
- 한국어 README 및 데모 문서화
이 포크에서 실제 OpenAI 이미지 백엔드로 생성한 한글 시스템 다이어그램 샘플입니다.
PaperVizAgent는 아래 5개 에이전트를 조합해 논문 도식을 만듭니다.
-
Retriever Agent
관련 참고 그림, 유사 사례, 스타일 힌트를 탐색합니다. -
Planner Agent
논문 내용과 전달 의도를 바탕으로 도식 구조를 텍스트 계획으로 바꿉니다. -
Stylist Agent
학술 발표/논문 그림에 맞는 시각 스타일로 설명을 다듬습니다. -
Visualizer Agent
실제 이미지 생성 모델을 이용해 도식 초안을 만듭니다. -
Critic Agent
결과를 검토하고 수정 지시를 만들어 반복 개선합니다.
즉, 단순 이미지 생성기가 아니라, 논문 → 구조화 → 시각화 → 반복 수정 흐름을 가진 도식 제작 파이프라인입니다.
원본은 PaperBanana / PaperVizAgent 구조를 유지하지만, 이 포크는 실제 사용성을 높이는 방향으로 정리했습니다.
gpt-image-2-2026-04-21기준으로 이미지 생성 테스트 완료gpt-image-2별칭도 사용 가능- 기존 Gemini 중심 흐름 외에 OpenAI 기반 refine/edit 경로 지원
- 업로드한 이미지를 바탕으로 수정 요청 가능
- OpenAI
images.edit(...)흐름 연결 완료 - 데모에서 바로 결과 확인 가능
- Google ADC / Vertex 자격 증명이 없어도 OpenAI만으로 로컬 부팅 시 하드 크래시하지 않도록 보강했습니다.
- 한국어 Quick Start
- OpenAI 우선 설정 가이드
- 스모크 테스트 체크리스트
- 향후 서비스형 브랜딩(FigureFlow AI) 톤 반영
git clone https://github.com/techkwon/papervizagent.git
cd papervizagentuv venv
source .venv/bin/activate
uv python install 3.12
uv pip install -r requirements.txt이 프로젝트는
uv기반 사용을 권장합니다.
이 프로젝트는 환경 변수 또는 configs/model_config.yaml로 설정할 수 있습니다.
configs/model_config.template.yaml을 복사해 로컬 설정 파일을 만듭니다.
cp configs/model_config.template.yaml configs/model_config.yamlconfigs/model_config.yaml 예시:
defaults:
model_name: "gpt-4.1-mini"
image_model_name: "gpt-image-2-2026-04-21"
google_cloud:
project_id: ""
location: "global"
api_keys:
google_api_key: ""
openai_api_key: ""
anthropic_api_key: ""
anthropic:
region: "us-central1"
project_id: ""환경 변수로 OpenAI 키를 넣습니다.
export OPENAI_API_KEY="***"- 기본 권장:
gpt-image-2-2026-04-21 - 별칭:
gpt-image-2 - 대안:
gpt-image-1.5,chatgpt-image-latest
원본 흐름에 가깝게 쓰고 싶다면 아래 중 하나를 설정하면 됩니다.
GOOGLE_API_KEY- 또는 Vertex / Google Cloud 자격 증명
GOOGLE_CLOUD_PROJECTGOOGLE_CLOUD_LOCATION
이 포크에서는 ADC/Vertex가 없어도 OpenAI-only 경로가 죽지 않도록 보강했지만, Gemini 경로를 실제로 쓰려면 유효한 Gemini 설정이 필요합니다.
가장 쉬운 시작 방법입니다.
streamlit run demo.py- 논문 method 내용을 붙여넣기
- figure caption 입력
- 파이프라인 모드, retrieval 방식, 후보 수, critic round 설정
- 여러 후보 이미지를 병렬 생성
- 결과를 그리드로 보고 개별 다운로드 또는 ZIP 다운로드
- 생성된 그림 또는 임의의 도식 이미지 업로드
- 수정 요청 프롬프트 입력
- 2K / 4K 해상도 선택
- OpenAI 또는 Gemini 기반 refine 경로 사용
- 수정 결과 다운로드
OpenAI 경로가 제대로 붙었는지 빠르게 확인하려면 아래 순서로 점검하면 됩니다.
cp configs/model_config.template.yaml configs/model_config.yaml
# defaults.image_model_name 을 gpt-image-2-2026-04-21 로 설정
export OPENAI_API_KEY="***"
streamlit run demo.py확인 포인트:
-
앱 부팅 성공
import/config 오류 없이 Streamlit이 떠야 합니다. -
후보 이미지 생성 성공
OpenAI 이미지 모델로 최소 1개 후보가 생성되어야 합니다. -
refine 탭 수정 성공
업로드 이미지에 대해 수정 요청 후 PNG 결과가 반환되어야 합니다. -
Gemini fallback 분리 확인
Gemini 모델을 쓸 때는 Gemini 자격 증명이 필요하며, 없더라도 OpenAI-only 경로 자체는 깨지지 않아야 합니다.
추가 메모는 OPENAI_GPT_IMAGE_NOTES.md에서 볼 수 있습니다.
데모 UI 말고 커맨드라인으로도 실행할 수 있습니다.
python main.pypython main.py \
--dataset_name "PaperBananaBench" \
--task_name "diagram" \
--split_name "test" \
--exp_mode "dev_full" \
--retrieval_setting "auto"--dataset_name: 사용할 데이터셋 이름--task_name:diagram또는plot--split_name: 데이터셋 split--exp_mode: 실행 모드--retrieval_setting:auto,manual,random,none
vanilla: 계획/비평 없이 바로 생성dev_planner: Planner → Visualizerdev_planner_stylist: Planner → Stylist → Visualizerdev_planner_critic: Planner → Visualizer → Criticdev_full: 전체 파이프라인demo_planner_critic: 데모용 Planner → Visualizer → Criticdemo_full: 데모용 전체 파이프라인
streamlit run visualize/show_pipeline_evolution.pystreamlit run visualize/show_referenced_eval.pypapervizagent/
├── agents/ # Retriever / Planner / Stylist / Visualizer / Critic
├── configs/ # 모델 설정 템플릿
├── data/ # 데이터셋 위치
├── prompts/ # 프롬프트 모음
├── results/ # 생성 결과
├── scripts/ # 실행 스크립트
├── style_guides/ # 스타일 가이드 생성/관리
├── utils/ # 설정, 생성, 평가, 이미지 유틸
├── visualize/ # 파이프라인/평가 시각화 UI
├── demo.py # Streamlit 데모
├── main.py # CLI 엔트리 포인트
└── README.md
- Reference-Driven: 참고 사례 기반 생성
- Iterative Refinement: Critic-Visualizer 루프 반복 개선
- Style-Aware: 학술 도식 스타일 반영
- Flexible Modes: 다양한 실험/데모 모드 제공
- 병렬 후보 생성
- 파이프라인 진화 시각화
- 2K / 4K 보정 흐름
- PNG / ZIP 배치 다운로드
- 각 에이전트가 모듈형으로 분리됨
- diagram / plot 작업 모두 지원
- 평가 프레임워크 포함
- 비동기 배치 처리 가능
PaperBananaBench 데이터셋은 원본 프로젝트 기준으로 제공됩니다.
- Hugging Face: https://huggingface.co/datasets/dwzhu/PaperBananaBench
데이터셋이 없어도 일부 흐름은 동작하지만, Retriever Agent의 few-shot 참조 성능은 제한됩니다.
이 저장소 또는 원 논문이 도움이 되었다면 아래 논문을 인용해 주세요.
@article{zhu2026paperbanana,
title={PaperBanana: Automating Academic Illustration for AI Scientists},
author={Zhu, Dawei and Meng, Rui and Song, Yale and Wei, Xiyu and Li, Sujian and Pfister, Tomas and Yoon, Jinsung},
journal={arXiv preprint arXiv:2601.23265},
year={2026}
}- 이 프로젝트는 공식 Google 제품이 아닙니다.
- 데모 및 연구 실험 목적에 가깝고, 바로 프로덕션 서비스로 쓰기 위한 상태라고 보기는 어렵습니다.
- OpenAI/Gemini 등 외부 모델 API 품질과 정책 변화에 영향을 받을 수 있습니다.
- 원 논문: https://arxiv.org/pdf/2601.23265
- 프로젝트 페이지: https://dwzhu-pku.github.io/PaperBanana/
- 업스트림 저장소: https://github.com/dwzhu-pku/PaperBanana
- 이 포크: https://github.com/techkwon/papervizagent
FigureFlow AI 톤으로 정리한 이 포크는, PaperVizAgent를 한국어 중심으로 다듬고 OpenAI 이미지 생성 워크플로우까지 실제로 바로 써볼 수 있게 만든 버전입니다.



