본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 15. 05:04

레시피 스크린샷을 구조화된 JSON으로 변환하는 방법

요약

레시피 스크린샷, 웹 링크, 텍스트 등 비정형 데이터를 구조화된 JSON 형식으로 변환해주는 API 활용 방법을 소개합니다. 비전 기술을 통해 이미지 내 재료, 분량, 조리법을 자동으로 추출하여 앱 개발에 즉시 활용할 수 있습니다.

핵심 포인트

  • 이미지, URL, 텍스트 세 가지 입력 방식을 지원하는 단일 엔드포인트 제공
  • 비전 기술을 활용해 별도의 OCR 파이프라인 구축 없이 스크린샷 분석 가능
  • 재료의 이름, 양, 단위를 정규화하여 구조화된 데이터로 반환
  • 식단 계획, 영양 추적, 쇼핑 리스트 자동 생성 앱 등에 활용 가능

요리, 식단 계획 또는 식료품 앱을 만드는 사람이라면 누구나 곧 동일한 벽에 부딪힙니다. 사람들은 레시피를 깔끔한 데이터로 저장하지 않습니다. 그들은 사진으로 저장합니다. Pinterest 핀의 스크린샷, TikTok에서 캡처한 프레임, 요리책 페이지의 사진, 또는 메모장에 붙여넣은 텍스트 뭉치 같은 것들 말이죠.

만약 당신의 앱이 재료, 인분 수, 조리 단계 등을 실제 필드로 필요로 한다면, 이러한 지저분한 입력값은 진정한 문제입니다. 웹 페이지 스크래핑 (Scraping)은 웹 페이지가 존재할 때만 작동하며, 소셜 앱에서 공유되는 대부분의 레시피는 웹 페이지가 없습니다. 결국 당신은 깨지기 쉬운 파서 (Parser)를 작성하고, OCR을 덧붙이며, 영원히 예외 케이스 (Edge cases)를 관리해야 하는 상황에 놓이게 됩니다.

이것이 바로 제가 이 간극을 메우기 위해 API를 구축한 이유입니다.

아이디어

사진, 스크린샷, 웹 링크 또는 붙여넣은 텍스트 등 흔히 쓰이는 어떤 형태로든 레시피를 보내면, 깔끔하게 구조화된 JSON을 돌려받을 수 있습니다. 모든 재료는 이름, 양, 단위로 분리되며, 단위는 고정된 어휘로 정규화 (Normalized)됩니다. 카테고리, 인분 수, 조리 지침도 함께 반환됩니다.

대부분의 도구가 생략하는 부분은 바로 사진입니다. 이미지에서 레시피를 읽어내는 데는 HTML 파싱 (Parsing)이 아닌 비전 (Vision) 기술이 필요합니다. 이 기능이 내장되어 있으므로, 직접 OCR 파이프라인을 구축하거나 비전 모델 (Vision model)을 직접 결합할 필요가 없습니다.

하나의 엔드포인트, 세 가지 입력 방식

단일 엔드포인트를 호출하고 세 가지 형태의 바디 (Body) 중 하나를 보냅니다.

붙여넣은 텍스트의 경우:

{
  "type": "text",
  "content": "Garlic Butter Shrimp. 1 lb shrimp, 3 tbsp butter, 4 cloves garlic, 1/2 tsp salt. Cook 5 minutes."
...

웹 링크의 경우:

{
  "type": "url",
  "content": "https://www.example.com/garlic-butter-shrimp"
...

스크린샷 또는 사진의 경우, 이미지를 base64로 전달합니다 (동일한 레시피의 사진 여러 장을 보내면 하나로 결합됩니다):

{
  "type": "image",
  "images": [
...

전체 호출 예시

다음은 Node에서의 요청 예시입니다. RapidAPI의 API 페이지에서 본인의 키 (Key)와 정확한 호스트 문자열 (Host string)을 가져와서 입력하세요.

const res = await fetch("https://recipe-extractor-screenshot-photo-and-url-to-json.p.rapidapi.com/extract", {
  method: "POST",
  headers: {
...

그리고 응답(response)은 다음과 같습니다:

{
  "recipe": {
    "name": "Garlic Butter Shrimp",
...

재료(ingredients)가 이미 필드별로 분리되어 도착하는 것에 주목하세요. 데이터베이스(database)나 장바구니(shopping cart)에 즉시 넣을 준비가 되어 있습니다. 별도의 2차 파싱(parsing) 과정이나 복잡한 정규 표현식(regex)의 늪이 필요 없습니다.

활용 분야

식단 계획(Meal planning) 및 식료품 앱은 사용자가 사진이나 링크로 레시피를 가져오게 한 뒤, 구조화된 재료를 바탕으로 쇼핑 리스트를 자동으로 생성할 수 있습니다. 영양 추적기(Nutrition trackers)는 재료 목록을 읽어 영양 성분(macros)을 추정할 수 있습니다. 레시피 정리 도구는 스크린샷과 요리책 사진을 검색 가능한 라이브러리로 디지털화할 수 있습니다. 그리고 만약 모델(model)에 데이터를 공급하는 경우라면, 정제된 구조화된 데이터(structured data)가 가공되지 않은 HTML보다 언제나 더 낫습니다.

직접 시도해보기

이 API는 RapidAPI에 등록되어 있으며 무료 티어(free tier)를 제공하므로 1분 안에 테스트해 볼 수 있습니다. 여기서 찾아보세요:

RapidAPI의 Recipe Extractor

이 API로 무언가를 만드셨다면, 여러분이 무엇을 만들었는지 꼭 듣고 싶습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0