Stay Updated with Agro Cultures News




Interdum nullam est, aliquam consequat, neque sit ipsum mi dapibus quis taciti. Ullamcorper justo, elementum pellentesque gravida quisque.


예전에 음식 사진 한 장으로 칼로리를 계산해주는 앱이 대박을 쳤다는 이야기를 들은 적이 있습니다.
API를 따와서 여기저기 활용해본 적은 있었는데, 이번에 AIPie를 만든다고 클로드 맥스를 끊은 김에 만들고 싶은 걸 이것저것 만들어볼 기회가 생겼습니다. 마침 Opus 5.5가 나와서, 테스트 겸 사진 한 장으로 체형을 분석해주는 서비스를 만들어봤습니다.
기획서를 쓰면서 붙잡고 있던 질문은 두 개였습니다. 첫째, 사용자의 사진을 최대한 수집하지 않고 어떻게 분석할 수 있을까. 둘째, 어떤 정보를 줘야 돈을 낼 만한 가치가 생길까.
체형 분석은 특성상 펑퍼짐한 옷보다 몸의 윤곽이 어느 정도 드러나는 옷을 입어야 결과가 정확합니다. 그런데 바로 이 지점에서 사용자, 특히 여성 사용자의 거부감이 생길 수밖에 없습니다. 몸이 드러난 사진을 어딘가에 올린다는 것 자체가 부담이기 때문입니다. 저는 이 거부감을 얼마나 낮추느냐가 서비스의 존폐를 결정할 거라고 봤습니다.
그래서 떠올린 방법이 사진을 먼저 스켈레톤(관절 좌표)으로 바꾸고, 그 데이터만 가지고 분석하는 방식이었습니다.
여기서 중요한 결정이 하나 있었습니다. AI API를 어느 단계부터 개입시킬 것인가입니다. 사진을 스켈레톤으로 바꾸는 단계부터 API를 쓰면 정확도는 올라갑니다. 대신 사용자의 신체 사진이 어쩔 수 없이 OpenAI 서버로 넘어가게 됩니다. 당장은 괜찮더라도 나중에 문제가 될 소지가 있습니다.
결국 정확도를 조금 손해 보더라도 스켈레톤 변환에는 API를 쓰지 않고, 분석 단계에서만 API를 쓰는 쪽으로 가닥을 잡았습니다. 몸 사진이 아니라 좌표 데이터만 외부로 나가는 구조입니다.

또 하나 걸리는 문제가 있었습니다. API는 곧 비용입니다. 누군가 악의적으로 쓰기 시작하면 그 비용과 책임이 고스란히 운영자에게 돌아옵니다.
여성 사용자는 보통 상의와 하의를 갖춰 입고 찍기 때문에 문제가 적습니다. 반면 남성 사용자는 체형을 보여주려고 상의를 벗고 찍는 경우가 많은데, 이것이 음란물로 인식될 수도 있습니다. 아무런 거름망 없이 서비스를 열었을 때 생길 수 있는 법적 책임에 어느 정도의 완충을 둘지 고민이 필요했습니다.
그래서 일단은 사진을 데이터 형식으로 변환해 수파베이스(Supabase)에 저장하는 방식을 택했습니다. 그리고 AI가 위험 소지가 있는 업로드를 감지하면 알림을 주고, 자세히 공개하기는 어렵지만 문제가 될 만한 여러 상황에 대해 경고와 함께 관계 기관에 신고할 수 있을 수준의 데이터를 뽑아주는 기능을 갖췄습니다.
솔직히 말하면 이 부분이 본 기능보다 훨씬 오래 걸렸습니다. 체형 분석을 만들려고 시작했는데 정작 시간은 대부분 방어 장치에 쓰다 보니, 중간에 프로젝트에 정이 좀 떨어졌습니다. 서비스를 만든다는 건 기능만 만드는 일이 아니라는 걸 다시 한번 느꼈습니다.
이런 과정을 거쳐 나온 결과물은 기대보다 정확도가 높았습니다. 스켈레톤 데이터만으로도 꽤 쓸 만한 분석이 나왔습니다.
다만 이것을 돈 내고 쓸 가치가 있느냐는 또 다른 문제입니다. 이 서비스는 의료 진단이 아니라 어디까지나 참고 자료입니다. 참고 자료에 지갑을 열게 하려면 어떤 정보를 어떻게 보여줘야 하는지, 오랜 시간 테스트와 피드백이 더 필요할 것 같습니다.
분석에 사용한 모델은 OpenAI의 GPT nano입니다. 여러 모델 중 가장 가벼운 축에 속하는 모델이라 단가가 낮고, 실제로 돌려보니 분석 한 번에 1원 정도가 들었습니다.
이렇게 비용이 낮게 나온 데는 앞에서 이야기한 구조도 한몫했습니다. 사진을 그대로 API에 보내는 게 아니라, 스켈레톤으로 변환한 좌표 데이터만 보내서 분석하기 때문에 API가 처리해야 할 양 자체가 적습니다. 원래는 개인정보 때문에 선택한 방식이었는데, 결과적으로 비용 절감 효과까지 같이 얻은 셈입니다. 스켈레톤 변환 단계에는 API를 쓰지 않으니 그 부분에서는 API 비용이 들지 않습니다.
1회당 1원이면 1,000번 분석해도 1,000원, 1만 번을 돌려도 1만 원 정도입니다. 개인이 테스트 삼아 운영하기에는 전혀 부담되지 않는 수준입니다. 그래서 지금은 테스트 단계로 누구나 자유롭게 써볼 수 있게 열어둘 생각입니다. 몇 차례 더 테스트해본 뒤 올려보겠습니다.
다만 비용이 싸다고 해서 마음을 놓을 수만은 없습니다. 정상적인 사용자라면 몇 번 써보고 마는 게 보통이지만, 누군가 자동화된 방식으로 대량 요청을 보내기 시작하면 이야기가 달라집니다. 1원짜리도 수십만 번 쌓이면 무시할 수 없는 금액이 됩니다. 앞에서 어뷰징 대응에 그렇게 오래 매달렸던 것도 법적인 문제뿐 아니라 이런 비용 문제까지 함께 고려했기 때문입니다.
과금을 고민할 때도 이 원가가 기준이 됩니다. 원가가 1원이라는 건 가격을 책정할 여유가 충분하다는 뜻이기도 하지만, 반대로 사용자 입장에서는 이 정도 분석에 얼마까지 낼 수 있느냐는 질문으로 돌아옵니다. 결국 비용보다 중요한 건 앞에서 말한 것처럼, 참고 자료 수준의 결과물에 사람들이 가치를 느끼게 만들 수 있느냐입니다. 가격은 그 답이 나온 다음에 정해도 늦지 않다고 생각합니다.

만들어보니 AI가 대신해주지 못하는 부분이 분명히 있었습니다. 사용자의 신체 사진을 외부로 보낼 것인가 말 것인가, 정확도와 개인정보 중 무엇을 더 우선할 것인가, 악용하는 사람이 나왔을 때 어디까지 대비해둘 것인가. 이런 판단은 결국 제가 직접 내려야 했습니다. 코드는 AI가 짜줘도, 그 코드가 어떤 결과를 불러올지 책임지는 건 만드는 사람의 몫이었습니다. 아이디어 하나로 대박 난 앱 이야기만 들을 때는 몰랐던 부분입니다.
광고 CG를 하면서 AI 때문에 불안했던 마음이 아직 다 사라진 건 아닙니다. 다만 이렇게 직접 만들어보고 부딪혀보면서, AI가 잘하는 것과 여전히 사람이 해야 하는 것의 경계가 조금씩 보이기 시작했습니다. 그 경계를 확인해가는 과정 자체가 지금 제게는 꽤 의미 있는 일입니다.
이 서비스가 테스트로만 남을 수도 있습니다. 그래도 만들어본 것 자체로 서비스를 만드는 행위와 개념에 대해 많은 생각을 하게 됐습니다.
또 재미있는 프로젝트를 만들게 되면 포스팅하겠습니다.
그럼 20000.