AI 뉴스

MMRequest — 매번 base64 변환하던 손작업, 끝내주는 Chrome 확장

노동1호 2026. 6. 3. 03:03

MMRequest — vision/audio LLM 워크플로를 위한 Chrome 확장


MMRequest — 매번 base64 변환하던 손작업, 끝내주는 Chrome 확장

vision LLM API를 Postman으로 호출해 본 경험이 있는 분이라면 한 번쯤은 이렇게 느꼈을 겁니다. "이미지를 base64로 변환해서 붙여 넣는 이 반복 작업, 언제까지 손으로 해야 하나." 오늘 소개할 MMRequest는 바로 그 지루한 반복을 없애기 위해 만들어진 Chrome 확장입니다.

Postman으로 multimodal API를 부르는 현실

GPT-4o, Claude, Gemini 같은 vision 모델을 API로 테스트하려면 보통 Postman을 많이 씁니다. 그런데 multimodal 요청을 보낼 때마다 다음과 같은 흐름이 반복됩니다.

1. 이미지를 base64 인코더 사이트에 업로드

2. 300KB짜리 문자열을 복사

3. Postman JSON 본문에 붙여넣기

4. 에디터가 버벅이는 것을 참으며 기다림

5. 이미지가 살짝 바뀌면 1번부터 다시

오디오 파일을 Whisper나 TTS에 보낼 때도 상황은 비슷합니다. Postman은 처음부터 multimodal 워크플로를 위해 만들어진 도구가 아니기 때문에, 결국 도구 자체를 바꿔야겠다는 결론에 도달하게 됩니다.

MMRequest란 무엇인가

MMRequest는 vision/audio LLM 워크플로 "한 가지만 잘" 풀어주는 Chrome 확장입니다. 개발자 한 분이 매일 vLLM을 쓰면서 동시에 GPT-4o, Claude, Whisper, TTS 같은 클라우드 API를 Postman으로 자주 호출하다가, 같은 답답함을 반복해서 느꼈기 때문에 만들었다고 합니다.

핵심 아이디어는 단순합니다. 이미지나 오디오 파일을 드래그 / 붙여넣기 / 파일 선택하면 {{base64Image}}, {{base64Audio}} 같은 변수로 자동 바인딩됩니다. JSON 본문에는 그저 변수만 적어두면 되고, 실제 base64 치환은 Send 시점에 네트워크 경계에서만 일어납니다.

왜 MMRequest가 효과적인가

1. 컬렉션 파일 크기 300KB → 1KB

기존에는 매번 base64 문자열이 본문에 통째로 들어가 있어서 Postman 컬렉션 JSON이 수백 KB로 부풀었습니다. MMRequest는 변수만 본문에 남기기 때문에, 컬렉션 파일은 약 1KB 수준으로 유지됩니다. Git으로 관리하거나 팀원에게 공유할 때도 부담이 확 줄어듭니다.

2. 프라이버시

파일은 브라우저 안에서 FileReader로만 처리됩니다. 사용자가 올린 이미지나 오디오가 외부 서버로 전송되지 않는다는 점이 강조되어 있습니다. 멀티모달 입력에 민감한 데이터를 자주 다루는 분들에게는 중요한 포인트입니다.

3. 스트리밍 응답 자동 재조립

LLM API는 종종 스트리밍 응답을 청크 단위로 쪼개서 보냅니다. 그 상태로 보면 한 줄이 잘려 나오거나, NDJSON, SSE, JSON array가 섞여서 읽기가 매우 불편합니다. MMRequest는 Stream 탭에서 청크들을 자동으로 다시 합쳐 한 화면에 보여줍니다. NDJSON, SSE, JSON array 모두 자동 감지합니다.

4. 응답 Pretty 뷰가 base64로 도배되지 않음

vision 모델이 base64로 다시 응답을 echo back 하거나, b64_json 같은 긴 문자열을 반환하는 경우가 많습니다. Postman에서는 이 문자열 때문에 뷰어가 느려지거나 아예 멈추는 일이 있는데, MMRequest는 필드 단위로 접고 펴는 기능을 제공해서 긴 문자열이 화면을 도배하는 문제를 해결했습니다.

5. 본문 템플릿 내장

사이드바에 OpenAI, Claude, Gemini, vLLM 본문 템플릿이 내장되어 있어, 한 번 클릭으로 본문을 가져올 수 있습니다. 자주 쓰는 API별로 템플릿을 따로 만들어 두는 수고를 덜어 줍니다.

6. Postman Collection v2.1로 export 가능

MMRequest로 작성한 요청을 Postman Collection v2.1 형식으로 export할 수 있습니다. 반대로 받는 쪽에서 MMRequest 없이 Postman에서 그대로 실행할 수 있으니, 협업 시 도구 종속이 생기지 않습니다.

실전 사용 흐름

MMRequest 랜딩 페이지에 정리된 흐름을 요약하면 다음과 같습니다.

1. Chrome 웹 스토어에서 확장을 설치합니다.

2. 새 요청을 만들고, JSON 본문에 {{base64Image}} 변수를 적어 둡니다.

3. 이미지 파일을 드래그하거나, 클립보드에서 붙여넣거나, 파일 선택을 합니다.

4. Send를 누르면 확장 내부에서 base64로 치환되어 네트워크로 전송됩니다.

5. 응답은 Stream 탭에서 자동 재조립되어 한 화면에 표시됩니다.

6. 필요하면 Postman Collection v2.1 형식으로 export해서 팀과 공유합니다.

로그인은 선택 사항이고, 로그인하지 않아도 모든 기능을 사용할 수 있습니다. 현재 v0.0.3 베타라 거친 부분이 있을 수 있다는 점이 솔직하게 안내되어 있습니다.

Postman과 비교했을 때

항목PostmanMMRequest
base64 인코딩수동 / 외부 사이트드래그만 하면 자동
컬렉션 크기수백 KB약 1 KB
스트리밍 응답청크 그대로 표시자동 재조립
필드 단위 접기/펴기약함강함
멀티모달 템플릿직접 작성내장
데이터 외부 전송사용 방식에 따라 다름브라우저 내부만 처리

어떤 사람에게 특히 유용한가

vLLM 같은 로컬 LLM과 클라우드 API를 같이 쓰는 개발자: 로컬과 클라우드를 번갈아 호출하면서 base64 작업을 매번 반복하는 분

Postman의 base64 echo back 때문에 응답 뷰어가 느려진 경험이 있는 분

API 디버깅을 Postman 컬렉션으로 Git 관리하고 싶은 팀

민감한 이미지/오디오를 외부 인코더 사이트에 올리기 부담스러운 분

한 줄 정리

MMRequest는 "매번 base64 변환하고 본문에 붙여 넣는 손작업"을 단 한 번의 드래그로 끝내 주는, multimodal LLM 워크플로 전용 도구입니다. 베타 버전이라 거친 부분이 있을 수 있지만, 같은 문제를 겪어 본 개발자라면 한 번 써볼 만합니다.

피드백은 랜딩 페이지 https://mm-request.vercel.app 에서 환영한다고 하니, 사용해 보고 의견이 있다면 공유해 보면 좋겠습니다.