이미지에서 원하는 부분만을 손쉽게 3D피규어로 만들기
최근 구글에서 새롭게 선보인 이미지 생성 모델인 나노 바나나(Nano Banana)가 큰 주목을 받고 있습니다. 얼마 전까지 OpenAI의 GPT-4o 이미지 생성 기능이 지브리 스타일의 이미지로 손쉽게 변환할 수 있어 많은 관심을 모았는데요. 이번에는 구글이 Gemini 2.5 Flash Image 모델을 기반으로 한 “나노 바나나”로 한층 더 업그레이드된 기능을 선보였습니다.
“나노 바나나”는 GPT-4o보다 더 빠르게 이미지를 생성할 뿐 아니라, 간단한 자연어 입력만으로도 이미지 간의 일관성을 뛰어나게 유지하는 것이 특징입니다. 향상된 기능 덕분에 사용자 경험이 대폭 향상되었고, 많은 이들이 주목하고 있죠. 특히, 기존의 이미지 편집 툴로는 구현하기 어려웠던 정밀한 이미지 수정과 변환까지도 자연스럽게 처리할 수 있어 앞으로 이미지 편집 시장에 큰 변화를 불러올 가능성을 보여주고 있습니다.
이번 글에서는 “나노 바나나” 모델을 활용해, 기존의 2차원 이미지를 3D 이미지로 변환하는 애플리케이션을 Google의 Build Apps를 통해 바이브 코딩으로 구현해보려 합니다. 사용자가 이미지를 업로드하고 3D 피겨로 만들고 싶은 사람이나 사물을 특정하면, 책상 위에 놓인 3D 피규어 형태로 자연스럽게 생성되는 기능을 만들어보겠습니다. 먼저 초기 애플리케이션을 구현하기 위해 아래와 같이 프롬프트를 입력해 봅니다.
사용자가 첨부한 이미지를 “나노 바나나(nano banana)”를 사용해 첨부된 이미지의 사람, 동물이나 사물 중에서 사용자가 입력한 사람이나 사물의 키워드나 문장에 비중을 두고, 해당 사람이나 사물의 전체의 모든 부분들이 빠짐없이 상세히 보이도록 collectible pvc “3d 피규어”로 변환한 이미지를 생성해 주는 애플리케이션을 만들어 주세요. 아래의 제약조건을 반드시 참고해 주세요.
- “3d 피규어”가 원반 모양의 stand 위에 올려져 있어요.
- “3d 피규어”가 전체 모습을 한눈에 모두 자세히 볼 수 있어야 합니다.
- “3d 피규어”는 책상 위에 올려져 있고, 배경은 책상과 3d 피규어 알맞게 생성해 주세요
생성된 애플리케이션의 모습을 다음과 같습니다. 3가지 형식의 이미지를 업로드하고, 이미지에서 3d 피규어를 만들 대상을 입력한 후, "3D 피규어 생성" 버튼을 클릭하면 "나노 바나나" 모델을 사용해서 멋진 3D 이미지가 생성됩니다. 아래의 예시를 참조해 주세요.
애플리케이션을 사용해 보니, 몇 가지 개선할 점이 있었습니다. 새로운 이미지를 업로드할 때 기존의 업로드와 생성된 이미지를 깔끔하게 지워주는 “리셋” 기능이 있으면 좋을 것 같고, 생성된 3D 이미지를 쉽게 다운로드할 수 있는 버튼이 추가되면 사용성이 훨씬 좋아질 것 같아요. 그래서 아래와 같이 추가 프롬프트를 입력해서 애플리케이션을 수정했어요.
새로운 이미지를 업로드하고 3D 피규어 이미지를 생성할 수 있도록 기존 업로드된 이미지와 생성된 이미지를 모두 지우는 “리셋"버튼을 만들어 주세요. 그리고, 새롭게 생성된 3D 피규어 이미지를 다운로드할 수 있도록 이미지 포맷을 선택(jpg, png)하고 해당 포맷의 이미지로 변환한 후 이미지를 다운로드할 수 있는 버튼을 추가해 주세요.
수정된 애플리케이션의 수행 모습을 아래와 같습니다. "리셋"버튼이 생성되었고 정상적으로 작동하는데요. 3D 피규어 이미지가 생성되었지만, 다운로드 버튼이 생성되지 않았습니다. 아울러, 생성 이미지의 크기가 너무 커서 크기를 적절하게 조정할 필요가 있네요.
추가적으로 수정될 부분들을 반영하기 위해서 아래와 같이 수정 프롬프트를 작성하고 다시 입력하였습니다.
생성 이미지의 크기를 입력된 이미지의 크기와 동일하게 생성하고, 생성된 3D피규어 이미지를 다운로드 받기 위해서 이미지 포맷을 선택(jpg, png)하고 해당 포맷의 이미지로 변환한 후 이미지를 다운로드 받을 수 있는 버튼을 추가해 주세요.
이번에는 잘 수정되었을까요? 아쉽게도 이미지의 크기는 이전과 동일하게 크게 생성되었고, 다운로드하기 위한 이미지 포맷과 다운로드 버튼이 제대로 표시되지 않았네요(아래 왼쪽). "포맷"과 "다운로드" 버튼의 올바른 수정을 위해서 해당 부분을 이미지 캡처하고 프롬프트에 추가하여 아래와 같이 재 수정을 요청하는 프롬프트를 작성하고 다시 수행하였습니다. 수행결과 포맷과 다운로드 버튼은 올바르게 표시되었지만, 이미지 크기는 여전히 변경이 되지 않았습니다(아래 오른쪽).
(매우 중요) 생성된 이미지를 입력된 이미지와 동일한 이미지의 크기로 반드시 생성해 주세요. 아울러, 첨부된 이미지와 같이 "포맷"과 "다운로드" 글자가 수평방향으로 모두 표시되도록 적절하게 수정하고 표시하여 주세요.
이미지 크기가 올바르게 변경되지 않은 이유를 Gemini에게 물어보니, 텍스트 프롬프트로 이미지의 픽셀 크기를 100% 제어하는 것은 현재 AI 기술의 한계라고 합니다. 이러한 이유로 실제 다운로드할 때, 보이는 이미지의 크기와 다르게 입력 크기로 맞추어 이미지를 변경하도록 코드를 수정하고 실행할 수 있다고 합니다. 이점을 고려하여 이미지 크기는 변경하지 않고 Build Apps에서 생성되는 방식을 그대로 사용하고, AI가 픽셀 단위의 숫자보다 '가로가 긴', '세로가 긴' 같은 형태적 묘사를 더 잘 이해하는 경향이 있다는 점을 고려해 AI에게 보내는 요청에 원본 이미지의 가로/세로 비율에 대한 설명(예: 풍경, 인물 사진 비율)을 추가하도록 변경해 볼 수 있습니다. 아래는 입력된 이미지에 대해서 3D 피규어 이미지를 생성하고, 다운로드 시 원본 이미지와 동일하게 변환하여 다운로드할 수 있도록 수정된 애플리케이션의 실행 예시입니다.
이번 글에서는 구글의 최신 이미지 생성 모델 ‘나노 바나나’를 활용해, 이미지 속 특정 객체를 3D 피규어로 손쉽게 변환하는 애플리케이션을 직접 구현해 보았습니다. 원래라면 전문가만이 다룰 수 있을 것 같았던 2D 이미지의 객체를 본래 모습과 형태를 최대한 유지하면서도 자연스럽게 3D의 입체감을 구현하는 작업이, 단순히 자연어로 요청하는 것만으로 가능하다는 사실에 무척 놀랐네요. 이제 버튼 몇 번과 간단한 문장 입력만으로 ‘내가 원하는 피규어’를 얻을 수 있다는 점에서, AI 기술이 얼마나 사용자 친화적으로 발전했는지 새삼 느낄 수 있었습니다. 오늘 소개한 사례를 참고해, 여러분도 ‘나노 바나나’ 모델을 활용한 다양한 이미지 변환 서비스를 직접 시도해 보시면 좋겠습니다. 혹시 멋진 애플리케이션을 만들어 보셨다면, 꼭 댓글로 공유해 주세요.