AI 증명사진 스튜디오 웹앱
AI 증명사진 스튜디오 웹 앱 만들기
최근에 급하게 증명사진이 필요했던 경험, 다들 한 번쯤 있으시죠? 사진관에 예약하고, 찾아가서 촬영하고, 보정된 사진을 기다리는 과정은 생각보다 번거롭습니다.
“내 사진 한 장으로 AI가 알아서 전문가처럼 만들어주면 얼마나 좋을까?”
하는 생각에서 이번 프로젝트를 시작하게 되었습니다.
이번 포스팅에서는 Google의 강력한 AI 모델인 나노 바나나 API를 활용하여, 단 한 장의 사진으로 다양한 스타일의 전문가급 증명사진을 생성하는 웹 애플리케이션 AI 증명사진 스튜디오의 기획부터 개발, 그리고 개선 과정을 공유해 보려고 합니다.
✨ 프로젝트 목표: 간편하지만 강력하게
프로젝트의 핵심 목표는 명확했습니다.
“누구나 쉽고 빠르게, 만족스러운 증명사진을 얻을 수 있는 웹 서비스”
이를 위해 사용자가 복잡한 과정을 거치지 않도록, 사진 한 장을 올리고 몇 가지 옵션만 선택하면 바로 결과물을 확인할 수 있는 직관적인 UI/UX를 설계하는 데 집중했습니다.
🚀 주요 기능 및 개발 과정
1. 아이디어 구체화: 어떤 증명사진이 필요할까?
단순히 얼굴만 바꿔주는 것을 넘어, 사용자가 ‘선택’할 수 있는 경험을 제공하고 싶었습니다. 그래서 증명사진의 용도와 분위기에 따라 세 가지 스타일을 기획했습니다.
- 표준: 가장 기본적인 스타일로, 신분증이나 이력서 등 공식적인 곳에 사용하기 좋습니다.
- 부드러운 인상: 따뜻한 색감과 부드러운 의상으로 친근하고 호감 가는 이미지를 연출합니다.
- 신뢰감 있는 인상: 차분하고 신뢰감을 주는 색감과 정장 스타일로 전문성을 강조합니다.
또한, 사진 구도에 대한 선택권을 주기 위해 ‘정면’과 ‘측면’ 옵션을 추가하여 총 6가지의 다양한 조합을 만들 수 있도록 했습니다.
사실 ‘측면’의 경우 좌측, 우측의 방향을 초기에 설정하여 생성하게 했지만, 프롬프트로 이를 일괄적으로 컨트롤하기에 어려움이 있었습니다. 또한 어떻게든 컨트롤하기 위해 강압적인 표현을 프롬프트에 포함시킬 경우, 이미지 생성에 실패하는 경우가 잦아집니다.
그래서 좌측, 우측의 방향을 합쳐 ‘측면’이라는 옵션으로 통합하였습니다.
2. 핵심 기술: 나노 바나나 API와의 만남
이 프로젝트의 심장은 단연 Google의 나노 바나나 API입니다. 특히 이미지와 텍스트를 함께 이해하고 새로운 이미지를 생성하는 gemini-2.5-flash-image-preview
모델을 활용했습니다.
사용자가 사진을 업로드하면, 제가 미리 정의해 둔 프롬프트(Prompt)와 함께 나노 바나나 API에 전달됩니다. 그러면 AI는 원본 사진의 얼굴 특징은 유지하면서, 프롬프트에 담긴 스타일, 구도, 의상, 배경, 조명 등의 요구사항에 맞춰 새로운 증명사진을 그려주는 방식입니다.
3. AI 조련하기: 프롬프트 엔지니어링과의 싸움
개발 과정에서 가장 많은 시간과 노력을 쏟은 부분이 바로 프롬프트 엔지니어링이었습니다. AI에게 제가 원하는 결과물을 정확하게 얻어내는 과정은 마치 AI를 조련하는 것과 같았습니다.
-
“정면 좀 봐줄래?” 가장 큰 난관은 ‘정면’ 사진을 얻어내는 것이었습니다. 단순히 “정면을 보게 해줘”라고 요청하면, AI는 일반적인 인물 사진처럼 몸은 살짝 틀고 얼굴만 정면을 보는 사진을 내놓기 일쑤였습니다. 이 문제를 해결하기 위해
"여권 사진 스타일"
,"몸과 얼굴의 회전 없음"
,"일반적인 인물 사진 구도 거부"
등 매우 강력하고 절대적인 명령어를 프롬프트에 추가해야 했습니다. -
“머리가 잘리잖아!” 초기 결과물에서는 머리 윗부분이 프레임 밖으로 잘리는 경우가 잦았습니다. 이를 해결하기 위해
"머리 위로 충분한 공간을 확보할 것(Crucial Framing)"
이라는 구체적인 지시를 추가하여 구도를 안정시켰습니다. -
의상 디테일 ‘부드러운 인상’ 스타일에서 의상이 너무 깊게 파여 보인다는 피드백을 반영하여,
'라운드넥 블라우스'
라는 명확한 키워드를 추가해 단정한 느낌을 살렸습니다. -
실패와의 타협 때로는 너무 강압적인 프롬프트가 오히려 AI의 생성 실패를 유발하기도 했습니다. ‘신뢰감 (측면)’ 옵션에서 오류가 계속 발생했을 때, 프롬프트의 어조를 약간 더 유연하게 수정하여 AI가 안정적으로 결과물을 생성하도록 타협점을 찾아야 했습니다.
이처럼 원하는 결과물을 얻기 위해 수십 번의 테스트를 거치며 프롬프트를 다듬는 과정은, AI와 소통하는 방법을 배워나가는 귀중한 경험이었습니다.
🏁 프로젝트를 마치며
‘AI 증명사진 스튜디오’는 단순히 코드를 작성하는 것을 넘어, 사용자의 니즈를 파악하고 AI 모델의 특성을 이해하며 최적의 결과물을 만들어나가는 문제 해결의 연속이었습니다.
특히 프롬프트 한 줄, 단어 하나의 차이로 결과물이 크게 달라지는 것을 보며 프롬프트 엔지니어링의 중요성을 다시 한번 깨달을 수 있었습니다. Google 나노 바나나와 같은 강력한 AI 도구가 계속 발전하는 만큼, 앞으로는 개발자뿐만 아니라 누구나 자신만의 아이디어를 훨씬 쉽게 현실로 만들 수 있는 시대가 오리라 기대합니다.
여러분도 Google 나노 바나나 API를 활용하여 생활 속의 작은 불편함을 해결하는 자신만의 프로젝트를 시작해 보시는 건 어떨까요?
- 🔗 나노 바나나 프롬프트 참고: https://tigerjk9.github.io/ai/nano-banana/
- 🌐 라이브 데모: https://ai-id-photo-studio.netlify.app
- 🔗 GitHub 저장소: https://github.com/tigerjk9/ai-id-photo-studio/tree/main