Vision on free tiers
Free multimodal is thinner than free chat, but real. From the catalog
(pnpm mh list --capability vision --free-only):
| Provider | Model | Context | Free limits |
|---|---|---|---|
| Google AI Studio | gemini-2.5-flash |
1M | 10 RPM class (see guide); training caveat applies |
| Groq | meta-llama/llama-4-scout-17b-16e-instruct |
131K | 30 RPM / 1,000 RPD |
| Cloudflare Workers AI | @cf/meta/llama-4-scout-17b-16e-instruct |
— | 10,000 neurons/day |
| OVHcloud | Qwen2.5-VL-72B-Instruct |
— | anonymous ~2 RPM/IP; no-training policy |
| Cerebras | gemma-4-31b |
— | official free tier (tight RPM) |
| Z AI | glm-4.6v-flash |
— | permanent free, 1 concurrent request |
Wire it
pnpm mh recommend --capability vision --snippet
OpenAI-style image input through the gateway:
const res = await client.chat.completions.create({
model: "auto",
messages: [
{
role: "user",
content: [
{ type: "text", text: "What's in this image?" },
{ type: "image_url", image_url: { url: "data:image/png;base64,..." } },
],
},
],
});
Caveat: "OpenAI-compatible" vision payloads diverge more than chat payloads (base64 vs URL
support, size caps). The gateway passes your payload through untranslated — test each rung
once (pnpm mh probe --live --provider <id>) before trusting a cascade with images.