I Spent $47 Testing Multimodal AI APIs — Here's What Actually Works
Let me be honest with you. I didn't plan to run a nine-way multimodal API comparison. I planned to bill hours. But one Tuesday afternoon a client pinged me about an OCR pipeline that was eating $400/month on OpenAI, and suddenly I found myself three espressos deep into a weekend benchmark session that turned into this write-up.
I'm the kind of freelancer who keeps a sticky note on my monitor that says "every API call is a slice of pizza." That's the energy I'm bringing to this review. If a vision model can't justify its per-million-token rate against the value I bill clients, it's getting benched. I'm going to walk you through what I found, what each model costs, where it shines, and — most importantly — what I'll actually keep paying for when the dust settles.
Why I Even Looked Beyond OpenAI
The trigger was simple. A long-term client runs a logistics dashboard and they were pushing about 8,000 images per month through GPT-4o for container ID extraction. Their bill was over $300/month. When they asked me to optimize, my first instinct was "let's compress the prompt." That got us maybe 15%. Then I started looking at the new wave of vision models — specifically the ones routed through Global API — and realised the per-image economics were in a different universe.
The thing is, multimodal APIs in 2026 aren't just "GPT-4o vs Claude." There's a whole second tier of models from Chinese labs (Qwen, GLM/Zhipu, Hunyuan/Tencent, Doubao/ByteDance) that are absurdly cheap and — here's the kicker — competitive on benchmarks the OpenAI crowd doesn't usually look at. I had to see for myself.
I tested nine models. I burned through $47 in API calls over two days. Here's every cent of what I learned.
The Contenders (and Why My Wallet Cares)
Before we get into the gritty tests, let me put the roster on the table. These are all the multimodal models I could find routed through Global API's /v1/chat/completions endpoint. I'm listing output pricing per million tokens because that's what determines the bill on image-heavy workloads — input tokens for an image are usually tiny once the model has encoded it.
| Model | Provider | Modalities | Output $/M | Context Window |
|---|---|---|---|---|
| Qwen3-VL-32B | Qwen | Image + Text | $0.52 | 32K |
| Qwen3-VL-30B-A3B | Qwen | Image + Text | $0.52 | 32K |
| Qwen3-VL-8B | Qwen | Image + Text | $0.50 | 32K |
| Qwen3-Omni-30B | Qwen | Image + Audio + Video + Text | $0.52 | 32K |
| GLM-4.6V | Zhipu | Image + Text | $0.80 | 32K |
| GLM-4.5V | Zhipu | Image + Text | $0.01 | 32K |
| Hunyuan-Vision | Tencent | Image + Text | $1.20 | 32K |
| Hunyuan-Turbo-Vision | Tencent | Image + Text | $1.20 | 32K |
| Doubao-Seed-2.0-Pro | ByteDance | Image + Text | $3.00 | 128K |
Look at that spread. GLM-4.5V at $0.01/M is literally 300x cheaper than Doubao-Seed-2.0-Pro at $3.00/M. That's not a typo. The question is: is the cheap one actually usable? Let's find out.
My Test Setup (Nothing Fancy, Just Honest)
I'm not running this from a $10K GPU cluster. I'm running it from a MacBook Pro, a notebook of hand-picked images, and a Python script that loops through each model with identical prompts. I built five test categories that mirror what I actually bill clients for:
- Object recognition on a chaotic street scene
- OCR on a mixed English/Chinese document
- Chart and diagram interpretation
- Code screenshot → actual code
- Audio transcription (only one model supports this)
I scored each one myself. No fancy LLM-as-judge rig. I'm the client in this scenario, and I know what "good enough" looks like because I've been writing these prompts for actual deliverables.
Test 1: "Tell Me Everything You See"
First test was a busy street photo — vendors, signage in Chinese and English, parked scooters, a delivery truck, and about a dozen smaller objects in the background. I asked each model to describe everything.
| Model | Accuracy | Detail Level | My Take |
|---|---|---|---|
| Qwen3-VL-32B | ⭐⭐⭐⭐⭐ | Excellent | Caught 15+ objects, picked up brand names, even read the small text on the truck |
| GLM-4.6V | ⭐⭐⭐⭐ | Very good | Surprisingly strong on Asian context, missed some English signage |
| Qwen3-Omni-30B | ⭐⭐⭐⭐ | Very good | Almost as good as VL-32B, slightly less thorough |
| Hunyuan-Vision | ⭐⭐⭐ | Good | Got the gist, missed small details in the background |
| GLM-4.5V | ⭐⭐⭐ | Adequate | The $0.01 model — fine for "is there a person in this image" but not for deep analysis |
The takeaway: Qwen3-VL-32B is the gold standard here. If I'm billing a client for e-commerce cataloging and need to extract every product detail from a photo, that's the one. At $0.52/M output, I'm paying roughly $2.60 per 1,000 detailed image descriptions. That's a price I can put on an invoice without flinching.
Test 2: OCR — The Money Maker
This is the test that actually saves my clients money. A logistics client, a legal tech startup, and a friend's e-commerce store all need OCR. Let me put a multi-language document through the wringer.
| Model | English OCR | Chinese OCR | Mixed Languages |
|---|---|---|---|
| Qwen3-VL-32B | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| GLM-4.6V | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Qwen3-Omni-30B | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Hunyuan-Vision | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
GLM-4.6V absolutely smokes the field on Chinese text. That's expected — it's a Zhipu model and the training data bias is real. But what surprised me is that it doesn't sacrifice English performance to get there. The mixed-language extraction was genuinely clean.
Hunyuan-Vision was the disappointment. For $1.20/M I expected more, and the English OCR was mediocre. Unless you specifically need a Tencent stack for some compliance reason, I'd skip it.
For a client doing 10,000 OCR operations per month on mixed Chinese/English invoices, my calculator says GLM-4.6V at $0.80/M works out to about $40/month versus the same workload on Hunyuan at $60/month. That's a 33% saving with better Chinese accuracy. Easy pitch.
Test 3: Charts, Diagrams, and the Things That Haunt My Weekends
Every freelancer has at least one client whose PDFs contain important charts. I've spent hours manually transcribing bar charts into CSV files. I want a model that can look at a chart and give me clean, structured data.
| Model | Data Extraction | Trend Analysis | Formatting |
|---|---|---|---|
| Qwen3-VL-32B | Perfect | Excellent | Clean |
| GLM-4.6V | Excellent | Very good | Good |
| Qwen3-Omni-30B | Very good | Very good | Clean |
I threw a quarterly revenue chart with eight data points, a trend line, and some annotation text at each model. Qwen3-VL-32B nailed every number, called out the trend ("revenue dipped in Q2 due to seasonal factors visible in the annotation"), and returned markdown that I could paste straight into a client report.
GLM-4.6V got the numbers right but slightly missed one annotation. Qwen3-Omni-30B was solid all around. For pure chart work, I think Qwen3-VL-32B is the easiest to bill against because the output formatting is so clean.
Test 4: Code Screenshots → Code (The Developer Trap)
This one's personal. I have a habit of screenshotting code from YouTube tutorials, conference slides, and occasionally my own monitor when I forget to copy-paste. I wanted to see which model could actually convert a screenshot back into working code.
| Model | Accuracy | Edge Cases |
|---|---|---|
| Qwen3-VL-32B | 95% | Handled indentation, special chars, even the weird Unicode arrows |
| GLM-4.6V | 90% | Minor formatting issues, lost a comment block |
| Qwen3-Omni-30B | 92% | Good output, slight latency hit |
Qwen3-VL-32B at 95% accuracy is genuinely useful. I tested it on a screenshot of a Python decorator with multiline string parameters and it reproduced the whitespace perfectly. At $0.52/M output, this is something I might actually bill clients for as a "code archaeology" service — taking legacy screenshots from old documentation and reconstructing the source.
GLM-4.6V at 90% is fine if you're going to review the output anyway. Hunyuan-Vision isn't even in this table because it was clearly worse — but I'm not going to call it out by name in public.
Audio: The Qwen3-Omni-30B Show
Here's where things get interesting. Of the nine models I tested, only one supports audio input: Qwen3-Omni-30B. And it does video too. It's the closest thing to a true omni-modal model in this lineup.
I threw four audio tasks at it:
| Task | Result |
|---|---|
| Speech-to-text transcription | ✅ Excellent across multiple languages |
| Audio Q&A ("What's being said?") | ✅ Good |
| Emotion detection ("Analyze the tone") | ✅ Works, somewhat hit-or-miss on sarcasm |
| Music description | ✅ Basic but functional |
For a podcast transcription client project I have on the back burner, this is huge. The pricing stays at $0.52/M output — same as the VL models — so you're not paying a premium to unlock audio capability.
Let me show you the kind of code I wrote to wire this up. Global API's endpoint is OpenAI-compatible, so the integration is honestly boring (which is exactly what I want from my tooling):
python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["GLOBAL_API_KEY"],
base_url="https://global-apis.com/v1"
)
response = client.chat.completions.create(
model="Qwen/Qwen3-Omni-30B-A3B-Instruct",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "Transcribe this audio clip verbatim."},
{
"type": "audio_url",
"audio_url": {"url": "https://example.com/podcast-clip.mp3"}
}
]
Top comments (0)