OpenRouter /images/models supported_parameters vs Sume

How to read supported_parameters enum and range descriptors before sending an image request, and what Sume does with a parameter a model does not list.

4 min readSume
All posts

supported_parameters is a map from request field name to a typed descriptor: enum lists the allowed string values, range gives an integer min and max, and boolean marks a field as supported. Sume's GET /v1/images/models uses the same three descriptor types, and a request that sets a parameter the model does not list fails with 400 unsupported_parameter.

OpenRouter's side is from its image generation guide and Sume's from Image generation, both read 2026-10-01.

What do the descriptors mean?

OpenRouter's guide describes enum as a discrete allowlist of accepted string values and range as any integer in [min, max]. Sume's docs say the same: enum is a discrete allowlist, range is any integer within min/max bounds.

Descriptor types on each side, read 2026-10-01.
DescriptorShapeMeaning
enum{ "type": "enum", "values": [...] }Discrete allowlist of string values
range{ "type": "range", "min": 1, "max": 4 }Any integer within min/max
boolean{ "type": "boolean" }Supported when present, unsupported when absent (Sume docs)

Where do I read them on Sume?

List models with GET /v1/images/models, then read one model's definitive set with GET /v1/images/models/{model_id}/endpoints. The docs' example for bytedance-seed/seedream-4.5 shows an aspect_ratio enum, an n range of 1 to 4, and an output_format enum of png, jpeg and webp.

curl "https://api.sume.com/v1/images/models/bytedance-seed/seedream-4.5/endpoints" \
  -H "Authorization: Bearer $SUME_API_KEY"

Why is there only one endpoint on Sume?

Sume serves every catalog model through a single sume endpoint in v1, so the model-level and endpoint-level supported_parameters are identical. OpenRouter's guide says a model can have several providers, and that the endpoint set is the definitive subset of the model-level union.

What happens if I send an unlisted parameter?

Sume rejects it with 400 unsupported_parameter rather than silently dropping it. That makes the descriptor map a safe pre-flight: validate your request body against it, and a field that is absent is a field you cannot use. For the same pattern on video, see OpenRouter video provider options on Sume.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume