1. 서비스 개요
1.1 배경 및 필 요성
현대인들은 다양한 언어 정보와 텍스트 자료를 이미지 형태로 접하고 있습니다. 예를 들어, 해외 여행 시 메뉴판이나 표지판의 사진을 찍어두면, 이를 빠르게 번역하거나 학습에 활용하고 싶어합니다. 하지만 사진에 담긴 텍스트를 직접 타이핑하거나 별도의 OCR(문자인식) 프로그램을 사용해야 하는 번거로움이 존재합니다.
MyLango는 이러한 문제를 해결하기 위해, 이미지를 자동으로 업로드·수집하고, 필요한 텍스트를 추출·분석하여 즉시 활용할 수 있도록 돕는 서비스를 목표로 합니다.
1.2 서비스 콘셉트
Airtable에 이미지 또는 pdf(첨부파일) 정보가 저장되면, n8n에서 해당 이미지를 자동으로 가져와 Google Cloud Vision API로 텍스트를 인식(OCR)하는 워크플로우를 구성
추출된 텍스트를 다시 Airtable에 저장하고, ChatGPT를 이용해 학습 데이터로 가공
저비용·고효율의 No-Code/Low-Code 방식으로 구성하여, 개발 및 운영 인력을 최소화하고도 빠른 서비스 구축 가능
2. 서비스 목표
사용성 극대화
이미지나 pdf파일 업로드만으로 바로 텍스트가 추출·분석되어, 사용자들이 번거로운 수작업(텍스트 타이핑 등) 없이 손쉽게 학습 자료를 활용하도록 함.
자동화된 워크플로우
n8n의 시각화된 노드 구성으로, 유지·보수가 용이하며 프로세스 확장과 수정이 간편.
유연한 확장성
구글 클라우드 비전 API에서 OCR 외에도 라벨링, 얼굴 인식, 로고 인식 등 다양한 기능 활용 가능.
장차 음성 인식, 번역 API와 연계해 더 고도화된 언어학습 서비스로 확장.
"여기까지 제 머리 속의 거대한 망상이었습니다 :)"
첫 번째 스터디장(박정기)님의 미니강의를 듣고 AI자동화 주제에 대해 다른 시각으로 고민을 해보게 되었습니다. 아직 정량적으로 AI 적용을 생각하기에는 너무 초보라, 지금 내가 만들어서 계속 쓸만한 것을 찾아보니 문득 떠오른 학습도구.
몇개월째 일본어 회화 학원을 다니고 있는데 바쁘단 핑계로 예습/복습 전혀 없이 그날 그날 수업만 듣고있으니 늘지도 않고, 짬 좀 내서 공부해보려니 내용도 잘 생각이 안나고 해서, 교재에 내용을 가지고 "정리노트를 만들어 보자!"가 이번 삽질의 시작입니다.
마일랑 마인드맵
<단계별 주요 기능>
이미지 수집
사용자 혹은 외부 소스에서 이미지를 Airtable 테이블에 업로드
Airtable 이미지 URL(첨부파일 링크)을 자동으로 생성
텍스트 자동 추출 (OCR)
n8n에서 HTTP Request 노드와 Google Vision API를 활용, 이미지에서 텍스트를 식별
추출된 텍스트를 JSON 형태로 수신
결과 저장
텍스트 정보, OCR 정확도, 언어 감지 결과 등을 다시 Airtable에 자동 업데이트
필요 시 다른 저장소(DB, 구글드라이브) 사용
학습 커리큘럼 개발
추출된 내용을 ChatGPT가 분석하고 학습 커리큘럼 작성
커리큘럼과 아웃풋 형식에 맞게 컨텐츠 작성 (ChatGPT)
학습 콘텐츠 연동(추가 확장)
교육용 앱이나 학습 플랫폼에 추출된 텍스트·번역 결과를 연동
예: 강의(음성/영상)생성, 플래시카드 자동 생성, 퀴즈 생성 등
<구현 진행 상황>
이전에 MAKE나 조금 깔짝거린 경험밖에 없고 이제 막 n8n가입을 한 상황에서
첫 단계 "이미지에서 텍스트 추출 자동화" 시도.
프로세스의 다양한 단계를 보여주는 다이어그램
<구현 흐름>
이미지 업로드
사용자가 Airtable의 첨부파일 필드에 이미지를 업로드하거나, 외부 연동을 통해 자동 삽입
n8n 워크플로우 트리거
일정 간격(Cron) 혹은 Webhook 트리거를 통해 Airtable 노드가 새 레코드를 조회 (Get All) -- 테스트에는 사용안함
이미지 다운로드
Airtable 레코드의
attachment.url정보를 n8n HTTP Request 노드로 가져와binary.data형태로 저장
Base64 변환
Extract from File 노드로 바이너리를 Base64 문자열로 변환(
json.data)
Vision API 요청
HTTP Request 노드(POST)에 Vision API URL + API Key 포함
Body는
image.content에 Base64 이미지,Header에Content-Type:application/json
결과 처리
응답 JSON 안의
textAnnotations에서 추출 텍스트, 위치 정보 등을 파싱Airtable Update 노드로 해당 레코드에 인식 결과를 기입
<결과와 배운 점>
항목 목록을 보여주는 웹페이지의 스크린샷
꾸역꾸역 구현에는 성공을 했습니다.
핸드폰으로 교재사진을 찍어서 해봤는데 화질과 초점때문인지 추출된 텍스트의 품질이 그닥 좋지는 않네요.
::배운점::
Airtable
Personal Access Token 방식을 통한 API 접근(최신 권장 방식)
n8n
처음 만져봄
Airtable 노드, HTTP Request 노드 등의 구성 설정
인증 정보(Credentials)를 만들고 활용하기
Google Cloud Vision API
OCR(문자인식) 및 라벨링 등을 수행하는 AI 서비스
프로젝트 활성화 후 결제(Billing) 연결 필수
도움 받은 글 (옵션)
박정기 님께 공유받은 n8n 기획용 ChatGPT(https://chatgpt.com/g/g-SVatmGSdQ-n8n-assistant-by-nskha)
향후계획
다음 단계 > 학습데이터 만들기
😀 머리속에서 생각한 대로 구현이 될지.. 고수님의 아이디어와 피드백 부탁드립니다!! 😅
Thank you!