OpenRouter provider.sort and max_price vs Sume's inert sort

OpenRouter's provider.sort picks price, throughput or latency and turns off load balancing. On Sume's image route, sort is accepted and changes nothing.

4 min readSume
All posts

On OpenRouter, the provider object in a request body has a sort field that takes price, throughput or latency, and setting it (or order) disables the default load balancing so the router tries providers in that order. Sume's image route accepts the same provider.sort and provider.allow_fallbacks fields, but they have no effect, because Sume publishes one sume endpoint per model. Sending sort will not error, and it will not change which backend runs.

OpenRouter's fields are from its Provider Selection page, read on 2026-10-02; it describes the Chat Completions request. Sume's are from Image generation and Video generation.

What do OpenRouter's provider fields do?

The page lists order, allow_fallbacks (default true), require_parameters, data_collection, zdr, only, ignore, quantizations, sort, preferred_min_throughput, preferred_max_latency and max_price. By default OpenRouter load balances across providers, prioritising price: it favours providers without significant outages in the last 30 seconds, then picks among the cheapest weighted by the inverse square of the price, and keeps the rest as fallbacks.

If you set sort or order, load balancing is disabled and providers are tried in order. The three sort options are price, throughput and latency.

What does Sume do with them?

The image route documents provider.only, order, ignore, sort, allow_fallbacks and options. only and order accept only "sume"; any other slug returns 400 provider_not_available. ignore, sort and allow_fallbacks are accepted with no effect. provider.options must be omitted or empty, because the list of allowed passthrough parameters is empty for every endpoint in v1.

On the video route the difference table says provider.options is rejected when non-empty, with 400 unsupported_parameter. The OpenAPI schema for a video request lists only options inside provider. So do not copy an OpenRouter provider object to a video request unchanged; send provider.options empty or leave provider out.

Which OpenRouter field has a Sume counterpart?

Few do. The table maps what the two pages say.

OpenRouter's Provider Selection page and Sume's Image generation and Video generation docs, read 2026-10-02.
OpenRouter fieldOn Sume's image routeOn Sume's video route
sortAccepted, no effectNot in the documented provider schema
allow_fallbacksAccepted, no effectNot in the documented provider schema
only / orderOnly "sume" allowed; other slug is 400 provider_not_availableNot in the documented provider schema
optionsMust be emptyNon-empty returns 400 unsupported_parameter
zdr, max_priceNot documentedVideo is ZDR-ineligible; Sume has no ZDR toggle

How do I control cost and latency on Sume then?

You pick the model. Each catalog id has its own rate, and the catalog endpoints list pricing, so choosing a different id changes the rate, and that is a request-level decision you make, not a router setting. For one-off cost checks read the model's pricing in GET /v1/images/models before you submit.

Sume's docs say billing is the endpoint's pricing line already including margin, so cost_usd x n is what an image costs.

Sources

Related posts

More in Comparisons

All Comparisons posts

Written by Sume