The HTTP client
that knows your
image is base64.
The HTTP client
that knows
your image is
base64.
The
HTTP client
that knows
your image
is base64.
Multimodal LLM APIs want your image as base64 inside JSON. Generic HTTP clients leave you to copy-paste a 300KB blob by hand. MMRequest doesn't.
Vision LLMs want JSON.
You hand-carry a 300KB string.
Every multimodal API — GPT-4o, Claude vision, Gemini, vLLM, Llama vision — expects the file as a base64 string buried inside the request body. Generic HTTP clients (Postman, Insomnia, Bruno) don't help: they were built for REST in a pre-multimodal world.
- Drop image into a base64-encoder website. Hope it doesn't log your file.
- Copy the 300KB string. Paste it into Postman's body. Watch the editor stutter.
- Image changes? Re-encode. Re-paste. Re-format the JSON. Re-send.
- Push a Postman collection — your teammate gets a 300KB blob in their git diff.
- Debug "Content-Type mismatch" on a multimodal endpoint that takes 12 different body shapes.
- Drop the file. Encoded in your browser by FileReader. Bytes never leave your machine.
- Reference {{base64Image}} wherever your API expects it. JSON body stays human-readable.
- Send. Substitution happens at the network boundary — collection files stay 1 KB, not 300.
- Export to Postman when teammates ask for it. They don't need MMRequest to run it.
- Stream merged. Reasoning + content chunks rejoin into one clean JSON, not 200 NDJSON lines.
Three steps. No proxies. No upload services.
Everything happens in your browser — no cloud, no account, no proxy server in front of your API.
Attach the file.
Drag & drop, file picker, or ⌘ + V paste. Image or audio. Multiple files.
Use the variable.
Drop {{base64Image}} or {{rawBase64Image}} wherever the API expects it. Custom names allowed.
Hit ⌘+Enter.
MMRequest substitutes at the network boundary. Inspect via Pretty, Raw, Stream, Headers, or Console.
It's not Postman, and that's the point.
Postman, Insomnia, and Bruno are excellent general HTTP clients. MMRequest is built around one specific workflow they leave to you. Here's what differs.
Edit anything you drop in.
Annotate images, trim audio, and edit documents — all without leaving the tab. Every transform happens in-browser; nothing is uploaded.
Image annotator
Six tools — Select, Shape (○ ▢ →), Sketch, Text, Crop, Transform (rotate 45° / flip). 5-color palette, configurable stroke width, font size, undo / redo, draggable corner handles. PNG / JPG / WebP export.
Audio editor
Waveform with draggable trim handles + numeric Start / End inputs + Preview. Mono mix-down and sample-rate downsample (16 kHz for Whisper, 8 kHz for telephony) re-encode to WAV right in the browser.
Document editor (10+ formats)
PDF · DOCX · XLSX · PPTX · HWPX (text extraction) plus 60+ code / config extensions (py, js, ts, go, rs, java, sh, sql, yaml, html, css, Dockerfile, …). CodeMirror-backed editor with syntax highlight, line numbers, multi-cursor, search.
Large-media guard rails
Images past 8000 px auto-downscale on open. Audio is hard-capped at 200 MB / 1 hour (Gemini Files ceiling); exports over 25 MB warn since OpenAI Whisper / Groq cap requests at exactly that. Local-first by design — nothing leaves your browser.
All the HTTP-client niceties.
Plus the one thing nobody else does.
Built on the actual day-to-day workflow developers have against LLM APIs.
Auto base64 — your file, in your body.
Drag, paste, or pick. Encoded in-browser via FileReader. Multiple files, raw + data-URL variants, renameable variables.
Postman compatible.
Export to Collection v2.1 with real base64 embedded — runs anywhere. Import Postman collections too. No lock-in.
Streaming, merged.
A Stream tab merges chunked NDJSON / SSE (incl. reasoning tokens) into one combined JSON. OpenAI, vLLM, Anthropic, Gemini, or your own.
Collapsible JSON.
Pretty view folds per field. Long strings collapse with "…expand" — base64 stops flooding your screen.
VS Code-style editor.
CodeMirror: bracket match, multi-cursor, padded line numbers, ⌘ + / comments.
Tabs & collections.
Multi-session, drag & drop reorder, pin favorites. ⌘ + S save · ⌘ + E rename.
Ten themes.
Pick one — or sync with your system.
Whole-app recoloring (not just an accent). Seven dark, three light. Auto day/night follows your OS.
Variables you can see — and fix in place.
Hindi support, and a quieter, safer console.
A real guide, secrets that stay hidden, a sharper Runner.
Drop once, send everywhere. And grade what comes back.
Edit anything you drop in. Images, audio, documents — right in the tab.
Tokens, properly. Collection Runner, properly.
Folders, environments, and serious power-user kit.
The biggest release yet.
Stop pasting base64.
Start shipping.
One click install. Everything runs in your browser.
Get on the Chrome Web Store →