Parameter Normalization

OpenGateway preserves your request intent and adapts parameters to each provider's contract. Debug mode surfaces every correction and transformation.

You send one OpenAI-shaped request. Behind it sit many providers, each with its own contract — some reject top_p, some rename max_tokens, some want a reasoning budget instead of reasoning_effort. OpenGateway makes your request work everywhere without making you rewrite it per provider.

The principle#

OpenGateway preserves your intent and corrects only what a provider cannot accept. It never silently drops a field and pretends nothing happened — every adjustment is observable through debug mode.

This is the whole point: the gateway does work on your behalf, and it tells you what that work was.

What gets normalized#

Adjustments show up under debug.normalizations, each as one of three actions:

actionmeaning
stripthe provider does not support the field, so it is removed
overridethe value is forced to satisfy a provider rule (e.g. a reasoning model that requires temperature: 1)
addthe gateway injects a provider-specific field (e.g. a reasoning budget)

Every entry records the param, the action, and the before / after values.

"normalizations": [
{ "param": "reasoning_effort", "action": "strip", "before": "high", "after": null },
{ "param": "temperature", "action": "override", "before": 0.5, "after": 1 }
]

Seeing it#

By default, normalization always happens — debug mode just makes it visible. Set extra.debug: ["normalizations"] and the response includes the list.

Debug mode

Opt in to see normalizations, deprecations, and routing.

Opting out#

Active correction is the default. To send your request to the provider exactly as written — no temperature clamp, no stripped field — set extra.normalize: false. The gateway then applies only the essential format conversion needed to reach the provider, and if the provider rejects a value you get its error back instead of a silently corrected request. This is for advanced users who would rather see a provider's constraint than have the gateway smooth it over.