of GLM 5.2's structured outputs fail on DigitalOcean.
The same model breaks your pipeline's structured outputs 15× more often on some inference providers than on others. Find the best one for your pipelines.
| # | Model | Broken structured outputs | Rank | Best for this model | Structured outputs a day |
|---|---|---|---|---|---|
| 1 | MiniMax M3.1 Flash | 0.59% | 2 of 8 | Nebius Token Factory (fp4) 0.14% | 15k |
| 2 | GLM 5.3 Flash | 0.74% | 10 of 29 | Parasail (fp4) 0.28% | 248k |
| 3 | DeepSeek V4.1 Flash 1017 | 1.26% | 19 of 33 | Reka AI 0.40% | 284k |
| 4 | DeepSeek V4.1 Flash | 1.62% | 14 of 28 | DeepInfra (fp8/flex) 0.35% | 887k |
| 5 | DeepSeek V4 Flash 0731 | 2.70% | 13 of 18 | AtlasCloud (fp4) 0.16% | 750k |
| 6 | Qwen3.5 397B A17B | 4.19% | 7 of 7 | AtlasCloud (fp8) 0.65% | 7.9k |
| 7 | GLM 5.3 | 4.41% | 19 of 28 | Together 0.25% | 4.8k |
| 8 | DeepSeek V4 Flash 0423 | 5.93% | 12 of 13 | Alibaba Cloud Int. (fp8) 0.66% | 350k |
| 9 | GLM 5.2 | 63.34% | 22 of 22 | Venice (fp8) 0.23% | 3.2k |
And which provider to use.
The same provider can handle structured outputs well on one model and struggle on the next. Implementations diverge on strings, optionals, composition and conditionals (the April announcement): the schema one provider enforces, another ignores.
of GLM 5.2's structured outputs fail on DigitalOcean.
on MiniMax M3.1 Flash, its best model.
models, where the settings tell OpenRouter to skip DigitalOcean.
dotjson plugs into your inference stack, so every model you serve gets perfect structured outputs from day 0.
Fix DigitalOcean's structured outputs↵