vlm.fyi by Ambient Get the data
● 81 model × provider pairs

Same model. Same video. Different providers. Different views.

Send the same 5-minute video to Kimi K3.1 Pro, and Moonshot AI shows the model 60 frames of it. Fireworks samples 480 frames a minute, about 1.7 million tokens for the whole video. Together AI accepts it, and the model sees none of it. A successful response never tells you how much the model saw. vlm.fyi measures how much of your video each API actually passes to the model, along with its limits on images, frames, bytes and files.

Same model · same video Kimi K3.1 ProFrames the model saw, per minute of video
  • Fireworks (direct) †480
  • Fireworks †480
  • Moonshot AI (direct)11.7 ⁎
  • Moonshot AI (highspeed)11.7 ⁎
  • Moonshot AI (mxfp4)11.7 ⁎
  • Together AI (direct)Ignored

Via OpenRouter unless marked direct, the same 5:08 clip. Moonshot AI (direct) fed the model 60 frames of it. 5 more refuse video via OpenRouter: Alibaba Cloud, DeepInfra (bf16), Modal (mxfp4), Nebius (fp4), and Together AI.

† Measured on the clip's first minute: the full 5:08 clip timed out at 300 s.

⁎ The provider caps frames per video, so longer videos get even fewer per minute.

Ignored: the request succeeds, but the video adds no tokens.

See all 11 Kimi K3.1 Pro providers →

Model × provider pairs 81 45 featured · 36 more OpenRouter upstreams
Providers 49 5 direct APIs, the rest OpenRouter upstreams
Limits per pair 8 images, frames, video density, file sizes and tokens
Open source Open data JSON and CSV under CC BY 4.0, source on GitHub. Use the data →
01 — Limits per request

Pick a limit. See who fits.

How much of a video does the model actually see?

Every route got the same 5-minute 1080p video. Video tokens per minute is what the provider billed for it: the amount of visual input the model got, and what ranks providers. Frames per minute is how many frames that was, and how large, worked out from the bills and the model's own preprocessing code.

Video tokens / min billed for the video; ranks providers Frames delivered / min and the size each frame was resized to
Kimi K3.1 Pro Fireworks 324,240 on the first minute 480 at 1932×1092 · on the first minute Fireworks via OpenRouter 324,240 on the first minute 480 at 1932×1092 · on the first minute Moonshot AI 7,886 11.7 at 1932×1092 · fixed per video Moonshot AI (highspeed) via OpenRouter 7,886 11.7 at 1932×1092 · fixed per video Moonshot AI (mxfp4) via OpenRouter 7,886 11.7 at 1932×1092 · fixed per video Together AI Ignored: billed 0 tokens
Kimi K3 Moonshot AI 7,886 11.7 at 1932×1092 · fixed per video Moonshot AI via OpenRouter 7,886 11.7 at 1932×1092 · fixed per video Decart (mxfp4) via OpenRouter 156,840 on a 16 s clip 480 at 1344×756 · on a 16 s clip Together AI Ignored: billed 0 tokens

No provider accepted video for DeepSeek V4.1 Flash (1017).

"On a 32 s clip" and similar: the provider refused the 5-minute video. Both numbers describe the longest clip it accepted, and they don't count toward the overall score.

"On the first minute", "on a 360p copy": the provider couldn't take the original file whole, so it got the first part or a smaller copy of the same video. That counts.

Fixed per video: the provider sends the same number of frames however long the video is, so longer videos get fewer per minute.

Bars are scaled within each model. Hover a row for how the frames were worked out. How we measure.

Show as table
ModelProviderVideo tokens / minFrames / minFrame sizeMeasured on
Kimi K3.1 ProFireworks 324,240480 1932×1092the first minute
Kimi K3.1 ProFireworks via OpenRouter 324,240480 1932×1092the first minute
GLM 5.3 FlashFireworks 46,994120 1036×588the 5-minute clip
GLM 5.3 FlashZ.ai via OpenRouter 39,134120 952×532the 5-minute clip
Qwen3.6 35B A3BAtlas Cloud (fp8) via OpenRouter 35,757120 1056×576the 5-minute clip
Qwen3.8 27BAlibaba Cloud via OpenRouter 35,640120 1056×576the 5-minute clip
Qwen3.8 27BNovita via OpenRouter 35,640120 1056×576the 5-minute clip
Muse Spark (open)Together AI 15,601120 588×336the first minute
Muse Spark (open)Together AI via OpenRouter 15,601120 588×336the first minute
Muse Spark (open)Nebius (fp4) via OpenRouter 15,195116.9 588×336the 5-minute clip
Nemotron 3.5 Super VLTogether AI 9,470120 672×384the first minute
Nemotron 3.5 Super VLTogether AI via OpenRouter 9,470120 672×384the first minute
Kimi K3Moonshot AI 7,88611.7 (fixed per video) 1932×1092the 5-minute clip
Kimi K3Moonshot AI via OpenRouter 7,88611.7 (fixed per video) 1932×1092the 5-minute clip
Kimi K3.1 ProMoonshot AI 7,88611.7 (fixed per video) 1932×1092the 5-minute clip
Kimi K3.1 ProMoonshot AI (highspeed) via OpenRouter 7,88611.7 (fixed per video) 1932×1092the 5-minute clip
Kimi K3.1 ProMoonshot AI (mxfp4) via OpenRouter 7,88611.7 (fixed per video) 1932×1092the 5-minute clip
GLM 5.3 FlashJarvislabs 5,834120 364×196the 5-minute clip
Gemini 3.7 FlashGoogle AI Studio via OpenRouter 3,96160 a 360p copy
Gemini 3.7 FlashGoogle AI Studio (flex) via OpenRouter 3,96160 a 360p copy
Gemini 3.7 FlashGoogle AI Studio (priority) via OpenRouter 3,96160 a 360p copy
Gemini 3.7 FlashGoogle Vertex (global) via OpenRouter 3,96060 a 360p copy
Gemini 3.7 FlashGoogle Vertex (global, flex) via OpenRouter 3,96060 a 360p copy
Gemini 3.7 FlashGoogle Vertex (global, priority) via OpenRouter 3,96060 a 360p copy
Gemini 3.7 FlashGoogle Vertex (us) via OpenRouter 3,96060 a 360p copy
Qwen3.6 35B A3BAkashML (fp8) via OpenRouter 2,499120 256×128the 5-minute clip
Qwen3.6 35B A3BParasail (fp8) via OpenRouter 2,499120 256×128a 360p copy
Qwen3.8 27BAkashML (fp8) via OpenRouter 2,499120 256×128the 5-minute clip
Qwen3.8 27BChutes (fp8) via OpenRouter 2,499120 256×128the 5-minute clip
Qwen3.8 27BCloudflare via OpenRouter 2,499120 256×128the 5-minute clip
Qwen3.8 27BJarvislabs 2,499120 256×128the 5-minute clip
Qwen3.8 27BParasail (fp8) via OpenRouter 2,499120 256×128the 5-minute clip
Qwen3.8 27BReka (fp8) via OpenRouter 2,499120 256×128the 5-minute clip
Qwen3.8 27BVenice (fp8) via OpenRouter 2,499120 256×128the 5-minute clip
Qwen3.8 27BPhala via OpenRouter 2,499Varies between identical requests the 5-minute clip
Qwen3.8 27BModelRun (fp4) via OpenRouter 2,498120 256×128the 5-minute clip
Qwen3.6 35B A3BDekaLLM via OpenRouter 2,330Not determined the 5-minute clip
Qwen3.8 27BDekaLLM via OpenRouter 2,330Not determined the 5-minute clip
Qwen3.6 35B A3BCoreWeave (fp8) via OpenRouter 2,2746.2 (fixed per video) 1152×640the 5-minute clip
Qwen3.8 27BCoreWeave (fp8) via OpenRouter 2,2746.2 (fixed per video) 1152×640the 5-minute clip
Muse Spark (open)Baseten (fp4) via OpenRouter 1,82424 (fixed per video) 448×252the first 4 minutes
GLM 5.3 FlashTogether AI 9526.2 (fixed per video) 644×364a 360p copy
Nemotron 3.5 Super VLDeepInfra (fp4) via OpenRouter 9006.2 (fixed per video) the 5-minute clip
Qwen3.6 35B A3BDeepInfra (fp8) via OpenRouter 639120 32×32the 5-minute clip
Gemma 4 31BJarvislabs 4676.2 (fixed per video) 528×288the 5-minute clip
Qwen3.6 35B A3BSiliconFlow (fp8) via OpenRouter 281Varies between identical requests the 5-minute clip
Kimi K3Decart (mxfp4) via OpenRouter 156,840480 1344×756a 16 s clip
Qwen3.8 27BMancer (fp8) via OpenRouter 22,365120 832×448a 32 s clip
Qwen3.8 27BDarkBloom (fp4) via OpenRouter 3302.5 (fixed per video) 672×384a 192 s clip
Kimi K3Together AI Ignored: billed 0 tokens
Kimi K3.1 ProTogether AI Ignored: billed 0 tokens
Qwen3.6 35B A3BPhala via OpenRouter Rejected
Qwen3.8 27BDeepInfra (bf16) via OpenRouter Rejected
DeepSeek V4.1 Flash (1017)Fireworks via OpenRouter No video
DeepSeek V4.1 Flash (1017)Fireworks No video
DeepSeek V4.1 Flash (1017)Jarvislabs No video
DeepSeek V4.1 Flash (1017)Modal No video
DeepSeek V4.1 Flash (1017)Together AI No video
Kimi K3Alibaba Cloud via OpenRouter No video
Kimi K3Baseten (fp8) via OpenRouter No video
Kimi K3Fireworks No video
Kimi K3Fireworks via OpenRouter No video
Kimi K3Modal No video
Kimi K3Modal (mxfp4) via OpenRouter No video
Kimi K3Together AI via OpenRouter No video
Kimi K3Wafer via OpenRouter No video
Kimi K3.1 ProAlibaba Cloud via OpenRouter No video
Kimi K3.1 ProDeepInfra (bf16) via OpenRouter No video
Kimi K3.1 ProModal (mxfp4) via OpenRouter No video
Kimi K3.1 ProNebius (fp4) via OpenRouter No video
Kimi K3.1 ProTogether AI via OpenRouter No video
Muse Spark (open)Fireworks No video
Muse Spark (open)Fireworks via OpenRouter No video
Qwen3.6 35B A3BDarkBloom (fp4) via OpenRouter No video
Qwen3.6 35B A3BVenice (fp8) via OpenRouter No video
Qwen3.8 27BCerebras (fp16) via OpenRouter No video
Qwen3.8 27BIonStream (fp8) via OpenRouter No video
Qwen3.8 27BModal via OpenRouter No video
Qwen3.8 27BNEAR AI (fp8) via OpenRouter No video
Qwen3.8 27BTenstorrent (fp4) via OpenRouter No video
Qwen3.8 27BWafer (fp8) via OpenRouter No video
02 — Request format

What each endpoint accepts.

Input types, and the request-format rules that break integrations most often.

Model · provider Images inlineImages by URLVideo inputTool messagesExtra fields
Kimi K3 MoonshotAI
Alibaba Cloud via OpenRouter Yes Yes No Lenient Accepted
Baseten (fp8) via OpenRouter Yes Yes No Lenient Rejects response_format
Decart (mxfp4) via OpenRouter Yes Yes Yes Lenient Accepted
Fireworks Yes Yes No Lenient Rejects usage, reasoning
Fireworks via OpenRouter Yes Yes No Lenient Accepted
Modal Yes Yes No Lenient Accepted
Modal (mxfp4) via OpenRouter Yes Yes No Lenient Accepted
Moonshot AI Yes No Yes Strict order Accepted
Moonshot AI via OpenRouter Yes Yes Yes Strict order Accepted
Together AI Yes Yes Ignored Strict order Accepted
Together AI via OpenRouter Yes Yes No Strict order Accepted
Wafer via OpenRouter Yes Yes No Lenient Accepted
Kimi K3.1 Pro MoonshotAI
Alibaba Cloud via OpenRouter Yes Yes No Lenient Accepted
DeepInfra (bf16) via OpenRouter Yes Yes No Lenient Accepted
Fireworks Yes Yes Yes Lenient Rejects usage, reasoning
Fireworks via OpenRouter Yes Yes Yes Lenient Accepted
Modal (mxfp4) via OpenRouter Yes Yes No Lenient Accepted
Moonshot AI Yes No Yes Strict order Accepted
Moonshot AI (highspeed) via OpenRouter Yes Yes Yes Strict order Accepted
Moonshot AI (mxfp4) via OpenRouter Yes Yes Yes Strict order Accepted
Nebius (fp4) via OpenRouter Yes Yes No Lenient Accepted
Together AI Yes Yes Ignored Strict order Accepted
Together AI via OpenRouter Yes Yes No Strict order Accepted
Muse Spark (open) Meta
Baseten (fp4) via OpenRouter Yes Yes Yes Lenient Rejects response_format
Fireworks Yes Yes No Lenient Rejects usage, reasoning
Fireworks via OpenRouter Yes Yes No Lenient Accepted
Nebius (fp4) via OpenRouter Yes Yes Yes Lenient Accepted
Together AI Yes Yes Yes Strict order Accepted
Together AI via OpenRouter Yes Yes Yes Strict order Accepted
DeepSeek V4.1 Flash (1017) DeepSeek
Fireworks via OpenRouter Yes Yes No Lenient Accepted
Fireworks Yes Yes No Lenient Accepted
Jarvislabs Yes Yes No Lenient Accepted
Modal Yes Yes No Lenient Accepted
Together AI Yes Yes No Strict order Accepted
GLM 5.3 Flash Z.ai
Fireworks Yes Yes Yes Lenient Accepted
Jarvislabs Yes Yes Yes Lenient Accepted
Together AI Yes Yes Yes Strict order Accepted
Z.ai via OpenRouter Yes Yes Yes Lenient Rejects response_format
Nemotron 3.5 Super VL NVIDIA
DeepInfra (fp4) via OpenRouter Yes Yes Yes Lenient Accepted
Together AI Yes Yes Yes Strict order Accepted
Together AI via OpenRouter Yes Yes Yes Strict order Accepted
Qwen3.8 27B Qwen
Alibaba Cloud via OpenRouter Yes Yes Yes Lenient Rejects response_format
Jarvislabs Yes Yes Yes Lenient Accepted
Gemini 3.7 Flash Google
Google AI Studio via OpenRouter Yes Yes Yes Lenient Accepted
Gemma 4 31B Google
Jarvislabs Yes Yes Yes Lenient Accepted