Hand a model a screenshot of a quarterly report and ask it to read the numbers out of a table. Open an aggregator's catalog, though, and among the models labeled flagship some offer no way to attach an image at all. This has little to do with how smart a model is and everything to do with a prior, rarely checked question: on this channel, at this version, does it accept image input? This review turns that question into a parameter table you can verify field by field. First, the division of labor. Our earlier LLM API pricing comparison took apart the unit-price illusion, cache hits and the hidden costs buried in a bill - that is a cost-structure story. This piece answers only three things: who accepts image input, under what captured parameters these models are listed, and how to choose by scenario. It does not expand on hidden billing costs. The companion pieces in this batch cover release news, the open-source tooling chain and integration walkthroughs, each from a different angle, so none of that is repeated here.
There is exactly one source for the data: a single live capture of OpenRouter's GET /api/v1/models on November 4, 2026. It returned 453 models, 308 of which carry image in the architecture.modality field, meaning they accept image input - close to seven in ten. The table below picks eight frequently compared flagships from that same response and transcribes them field by field: input modality from architecture.modality, context from context_length, and prices from the prompt, completion and input_cache_read fields of pricing, all converted to US dollars per million tokens. One caveat has to be nailed down before anything else: these figures are OpenRouter's captured rates on that date, not any vendor's official list price, and not a yuan-denominated rate card. Conflate the two and every comparison downstream goes crooked.
The Complete Eight-Model Table
| Model ID | Input modality | Context | Input $/1M | Output $/1M | Cache read $/1M |
|---|---|---|---|---|---|
tencent/hy4 | text+image | 1,048,576 | 0.417 | 1.2505 | 0.021 |
tencent/hy4-preview | text | 1,048,576 | 0.834 | 2.501 | 0.042 |
anthropic/claude-sonnet-4.5 | text+image+file | 1,000,000 | 3 | 15 | 0.30 |
openai/gpt-5.1 | text+image+file | 400,000 | 1.25 | 10 | 0.125 |
qwen/qwen3-vl-235b-a22b-instruct | text+image | 262,144 | 0.21 | 1.90 | 0.10 |
z-ai/glm-4.6 | text | 204,800 | 0.5 | 2 | 0.10 |
moonshotai/kimi-k2-thinking | text | 262,144 | 0.6 | 2.5 | 0.15 |
deepseek/deepseek-v3.2 | text | 163,840 | 0.26 | 0.38 | 0.13 |
Three boundaries before reading it. First, architecture.modality is the aggregator's label for input modality: it says what a request may carry in, not a measured verdict on vision strength, and not the full capability set on a vendor's own site. A cell reading text only means that channel and that version did not open an image entry point. Second, the price columns are captured rates, not official pricing; the yuan rate card on Tencent Cloud TokenHub is a separate ledger and the two do not explain each other. Third, there is no rank column and no score column, for reasons a later section sets out. Without these three, the table is easily misread as a strength ranking.
Input Modality Comes in Three Tiers
Lay out the input modality column and the eight models fall into three tiers rather than a binary can-see or cannot-see. Tier one is text+image: two models, the stable Hy4 and Qwen3-VL-235B, taking text plus images and returning text. Tier two is text+image+file: two models, Claude Sonnet 4.5 and GPT-5.1, which accept file input on top of images. Tier three is plain text: four models, Hy4 preview, GLM-4.6, Kimi K2 Thinking and DeepSeek V3.2, which on this channel take text only. Four of eight are labeled a text-only entry point, exactly half, so accepting images is still not a default flagship feature in 2026.
The file tier deserves separate attention because it decides whether a whole class of workflows is even possible. The two models with file modality let you pass a PDF or an entire document as part of the request; the two labeled text+image can read an image but do not necessarily take a raw file; the four plain-text models take neither. If your job is to throw a lengthy scan or a full report in whole, check for the file tier before comparing any price - it is far more useful than a rate comparison. Conversely, if the task is only to read a chart inside one screenshot, text+image is enough, and the extra file capability will not make the answer more accurate.
Input modality is an entry list, not a capability score: it records what goes in, not what a model can do. Read it as a score and you end up claiming a model rejecting images is worse, which does not follow - it may be a version difference, or the image path may live on the vendor's native API.
Two Gaps of an Order of Magnitude Each
Move from the entry point to the window and the price and the spread is just as stark. On context, the longest are the stable Hy4 and Hy4 preview at 1,048,576, the shortest DeepSeek V3.2 at 163,840 - a gap of about 6.4x. In between sit Claude Sonnet 4.5 at 1,000,000, GPT-5.1 at 400,000, and Qwen3-VL-235B and Kimi K2 Thinking both at 262,144. For long-document work the order of operations is window first, price second: a contract or codebase running into hundreds of thousands of tokens will not fit into 163,840, and the cheapest output rate is useless if the input will not fit.
The output-price spread is wider still. Claude Sonnet 4.5 lists 15 dollars per million output tokens and DeepSeek V3.2 lists 0.38, roughly 39x apart; cache read ranges from 0.021 to 0.30 dollars. But these two numbers cannot be pulled out to rank value on their own, because the input modalities differ: one carries text+image+file, the other is plain text, and they are not candidates for the same job. Output, not input, tends to dominate the bill, so a tight budget should watch the output rate - yet the moment a task needs images, the plain-text tier leaves the shortlist no matter how cheap. Split "which is cheaper" and "which accepts this input" into two questions answered in order. For stable, reused prompts, the cache read rate belongs in that estimate too.
Hy4 Stable and Hy4 Preview: One Name, Two Contracts
This pairing is the most interesting cell in the table. On November 4, 2026, Tencent Hunyuan shipped the stable Hy4 and the official wording called it the first introduction of vision capability, citing fine-grained image processing, complex chart analysis and mathematical visual reasoning, along with first support for computer operation. On OpenRouter, tencent/hy4 shows text+image on the input side and text on the output side, which lines up with that wording; the sibling tencent/hy4-preview is still plain text to text. One word apart in the name, two entirely different entry points. For what shipped, see the stable release coverage; for the earlier preview discussion, see the preview piece.
The price column is where misreading creeps in. Stable Hy4 lists input 0.417, output 1.2505 and cache read 0.021; preview lists input 0.834, output 2.501 and cache read 0.042. The stable 0.417 is exactly half of the preview 0.834, and the output is nearly a clean half too, but do not turn that into an official price cut, and certainly do not attach a half-price promotion to it. The yuan rate card on Tencent Cloud TokenHub is input 6 yuan, output 18 yuan and cache 0.3 yuan, and it applies the same card to both stable and preview - a ledger independent of OpenRouter's dollar captures. TokenHub's half-price offer before December 31 is a Tencent Cloud campaign; it neither covers OpenRouter nor explains the numbers in this table. For the yuan-denominated path, the TokenHub integration walkthrough keeps a separate set of books. Also, the stable Hy4 weights are not open yet - the official line is that they will arrive shortly - so local self-hosting cannot count on it. The official "among the strongest open models" is a self-reported claim, and first vision capability does not establish any ranking.
There Is No Score Column, on Purpose
If this is a comparison, why is there no ranking and no MMMU-Pro, SuperCLUE, OCRBench or OSWorld scores? Because this piece deliberately makes no cross-leaderboard comparison and builds its table only from objective parameters inside one OpenRouter API response. Different leaderboards use different evaluation setups and cannot be aligned horizontally; lining up an Elo from one board against an accuracy from another looks most like a conclusion and holds up the least. Reconnaissance also surfaced a vendor-slanted piece where Doubao and Qwen scores are repeatedly marked as reference or not published on a comparable basis. None of those numbers are used here, not even as background.
By the same logic, this piece never rewrites a self-reported claim into a cross-leaderboard verdict or any number-one claim. Table and commentary stay with three verifiable things: what the input modality is, what the context and rates are, and how to choose by scenario. Measured vision strength, each vendor's full capability set and any overall ranking of model quality are outside this table's range. Being explicit about what is not done is often more honest than adding a few more columns, which is why the table refuses a total-score column.
Choosing by Workload
Collect the sections above into advice you can act on, matched to the workload rather than sorted by one number.
Reading charts, screenshots or UI elements: you need at least text+image. Qualifying here are the stable Hy4, Qwen3-VL-235B, and Claude Sonnet 4.5 and GPT-5.1 with file support; the four plain-text models leave the running immediately.
Feeding files directly: look for the file modality. When a PDF or a whole document has to be passed in as-is, only Claude Sonnet 4.5 and GPT-5.1 sit in that tier; text+image can read a picture, which is not the same as accepting a raw file.
Long documents: check the context window first. The 1,048,576 of stable Hy4 and Hy4 preview and the 1,000,000 of Claude Sonnet 4.5 hold very long material, 262,144 of Qwen3-VL-235B and Kimi K2 Thinking is mid-range, and 163,840 of DeepSeek V3.2 suits shorter inputs.
Budget: watch the output rate, not the input rate. Output at 0.38 dollars for DeepSeek V3.2 versus 15 dollars for Claude Sonnet 4.5 is about 39x, but only if both can accept your input modality; cache read belongs in the estimate too for stable, reused prompts.
Local self-hosting: look at whether weights are open, not at captured rates. Stable Hy4 weights have not been released, so that path is closed for now; the open-source vision tooling chain has plenty of options regardless - serving with vLLM, using Qwen3-VL as a vision base, or running quantized models on consumer hardware with llama.cpp are all mature routes. Sizing VRAM and speccing a machine is in the local deployment memory SOP; the catalog of open weights and inference resources is in the local inference open-source collection. Self-hosting swaps a token bill for VRAM and operations; whether it pays depends on utilization.
FAQ
Q1: Are the prices in the table the vendors' official list prices?
A1: No. They are OpenRouter's captured rates on November 4, 2026, converted to US dollars per million tokens. The yuan rate card on Tencent Cloud TokenHub - input 6 yuan, output 18 yuan, cache 0.3 yuan - is a separate ledger, and TokenHub's half-price offer before December 31 is a Tencent Cloud campaign that does not carry over to OpenRouter. For budgeting, go back to the relevant channel's note for that day.
Q2: Does a text input modality mean the model has no vision, or is a worse model?
A2: Neither follows. architecture.modality is the aggregator's input-modality label, not a measured result about vision strength, and not the full capability set on a vendor's site. A text label only means that channel and that version have no image entry point, which may be a version gap or may require the vendor's native API; it is a separate matter from model quality.
Q3: Stable Hy4 input 0.417 is exactly half of preview 0.834 - is that an official price cut or a half-price deal?
A3: No, and it should not be read that way. They are two independent captured numbers in the same API, while the yuan rate card on Tencent Cloud TokenHub applies one identical card to both stable and preview and does not explain the dollar captures. A neat half is just two fields that happen to line up - no need to invent a pricing story for the vendor.
Q4: Can I use this table to rank the models by strength?
A4: No. This piece deliberately makes no cross-leaderboard comparison and lists only objective parameters from one API. Different leaderboards use different evaluation setups and cannot be aligned horizontally, so no MMMU-Pro, SuperCLUE, OCRBench or OSWorld scores are used to rank anything; there is no rank column, and the table should not be read as a value ranking.
Q5: What should I check first to run a vision model locally?
A5: Whether the weights are open. Stable Hy4 weights are not open at this moment, with the official line that they will arrive shortly, so self-hosting cannot use it yet; on the open side, vLLM, Qwen3-VL and llama.cpp form the tooling chain. Then estimate cost from VRAM and utilization - sizing and setup are covered in the local deployment memory SOP.
Related reading
- LLM API pricing comparison - the unit-price illusion, cache hits and hidden billing costs; complementary to this piece.
- Hy4 stable release coverage - the release wording on first vision capability and computer operation.
- TokenHub integration walkthrough - a separate ledger for the yuan rate card and integration flow.
- Local deployment memory SOP - VRAM estimation and setup for the self-hosting route.
- Local inference open-source collection - a catalog of open weights and inference tooling.