openai_responses_model_rewrite
Rewrites the model field in Responses and Chat Completions request bodies.
On this page
Rewrites the model field in Responses and Chat Completions request bodies.
Configuration Notes
Quote wildcard alias keys in YAML, such as "gpt-4.1-*", so * is parsed as a literal character rather than YAML alias syntax. The examples quote all alias keys for consistency.
One alias table serves both create endpoints: the filter rewrites POST /v1/responses and POST /v1/chat/completions request bodies and leaves every other path untouched. The filter name keeps its openai_responses_ prefix for config compatibility.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
default_model | string | no | Model name to inject when the request body has no model field or when the field is null. |
headers | ModelRewriteHeaders | no | Header names for promoted model values. effective_model and original_model must use distinct names. |
headers.effective_model | string | no | Header name for the effective (post-rewrite) model value. Must not be a hop-by-hop, framing, Host, credential, API-key, or other internal x-praxis-* header. Dedicated default x-praxis-ai-effective-model remains allowed. Must differ from original_model. |
headers.original_model | string | no | Header name for the original (pre-rewrite) model value. Must not be a hop-by-hop, framing, Host, credential, API-key, or other internal x-praxis-* header. Dedicated default x-praxis-ai-original-model remains allowed. Must differ from effective_model. |
model_aliases | object<string, string> | no | Map from client-facing model names or single-wildcard patterns to backend model names. Quote wildcard keys in YAML. Exact aliases win before wildcard aliases; wildcard aliases are matched by literal specificity. |
on_invalid | continue | reject | no | Behavior when the body is not valid JSON. |
Examples
Example 1
filter: openai_responses_model_rewrite
default_model: "llama-3.3-70b"
model_aliases:
"codex-mini-latest": "llama-3.3-70b"
"gpt-4.1-*": "qwen-2.5-72b"
"gpt-4.1-mini": "qwen-2.5-72b"
Example 2
filter: openai_responses_model_rewrite
default_model: "llama-3.3-70b"
model_aliases:
"codex-mini-latest": "llama-3.3-70b"
"gpt-4.1-*": "qwen-2.5-72b"
on_invalid: continue
headers:
effective_model: x-praxis-ai-effective-model
original_model: x-praxis-ai-original-model