chat_model_explicit stops the Haiku stand-in
On the OpenRouter path, generation/slideshow/social/editor sub-agents may run Claude Haiku 4.5 unless chat_model_explicit is true. Workflow and movie planning keep the brain you picked. RunPod Kimi is not swapped.
On the OpenRouter path, generation, slideshow, social, and editor sub-agents may run Claude Haiku 4.5 unless chat_model_explicit is true. Workflow and movie planning keep the brain you picked. RunPod Kimi is not swapped.
That flag is the difference between a picker value and a leftover default. Omit it on an OpenRouter brain and a fast-eligible domain is allowed to stand in Haiku while the UI still shows the id you think you are using. The generate model is untouched either way. The plan is not.
The flag is the choice
Chat models live on GET /api/v1/agentic/chat-models. Generation models live on the public catalog. Picking the chat model behind the agent is the two-catalog rule. This page is only the explicit bit.
Both POST /api/v1/agentic/chat and POST /api/v1/agentic/chat/stream accept chat_model. Send the id from /chat-models, not the marketing name. Also send chat_model_explicit: true when the value is a choice, not a leftover default.
The app seeds its picker from default on /chat-models. Treat that list as live. The documented default at the time of the two-catalog write-up is runpod/kimi-k2.7-code (Kimi K2.7 Code). GLM 5.3 is not the default. GLM 5.3 is a custom OpenRouter id, z-ai/glm-5.3, text-only. Grok 4.6 is x-ai/grok-4.6, vision. Nine chat models to pin is the install list. Do not hard-code it as the picker.
If chat_model is not in the built-in map but looks like org/model, it is a custom OpenRouter model. Duplicate ids are dropped. The web agent sets chat_model_explicit when the user actually selected a model. A raw API client has to set it itself. A lasting preference can store "always plan with this brain." It still does not pin the renderer, and it is not a substitute for the flag on an API call.
Fast-eligible domains on OpenRouter
Several domain sub-agents are allowed to run on a faster stand-in. On the OpenRouter path that stand-in is Claude Haiku 4.5 unless you override the env. Mechanical domains are eligible:
- generation
- slideshow
- social
- the web editor
The stand-in exists so a long-horizon OpenRouter brain does not sit on every mechanical hop. The picker can still display z-ai/glm-5.3 or x-ai/grok-4.6 while Haiku fills the models argument on a generate tool. Set the flag when the picker value is a real choice and you want that brain on those domains too. Haiku standing in does not rewrite a pinned Seedance 2.5, but if the renderer was left to routing it can pick a different family. Pin the renderer if matching matters.
What the stand-in never touches
Workflow scene-directing and movie planning do not take the stand-in. They keep the chat model you picked, because the quality of the plan is the job. If you sent Grok 4.6 for a movie, the movie planner is Grok 4.6 whether or not you set the flag. If you sent GLM 5.3 for a workflow, the scene director is GLM 5.3. Do not attach a still to GLM 5.3 — the GLM-5 family is text-only and the image part 404s. Use Grok 4.6 when the still is the brief.
The stand-in is OpenRouter-only. The default RunPod Kimi (runpod/kimi-k2.7-code) is not swapped for Haiku. If you left the picker on the default and never saved an OpenRouter id, there is no Haiku hop to worry about. If you picked an OpenRouter brain and omitted the flag, there is.
Sending it from the app and the API
On POST /api/v1/agentic/chat (and /chat/stream) send:
chat_model: theid(z-ai/glm-5.3,x-ai/grok-4.6,runpod/kimi-k2.7-code, or another live id)chat_model_explicit:truewhen this is a choice, not a leftover default
A prompt that keeps the knobs apart:
Use this chat model for planning. Do not change the video model. Generate with Kling 3 Turbo, 5s, 9:16. If you need allowed durations, call the schema tool, then generate. Do not substitute a different renderer.
chat_model plus the flag selects the planner, including on fast-eligible sub-agents. The named renderer in the body selects the pixels. Omit the flag and an OpenRouter pick may still show in the picker while Haiku runs generation. Omit the renderer sentence and a newly clever brain may route to a different family. When you are exploring planners, keep the renderer named and the flag on. When you are exploring looks, keep the brain stable and explicit.
FAQ
Why did a sub-agent ignore the model I picked?
The request likely omitted chat_model_explicit: true on an OpenRouter brain, so a fast-eligible domain (generation, slideshow, social, web editor) was allowed to run on Haiku. Set the flag when the picker value is a real choice. The default RunPod Kimi is not swapped. Workflow and movie planning do not take that stand-in.
Is GLM 5.3 the default in Versely chat?
No. Treat /chat-models as live. The documented default at the time of the two-catalog post is runpod/kimi-k2.7-code. GLM 5.3 is a custom OpenRouter id: z-ai/glm-5.3.
Does the flag change the generate model?
No. It only controls whether a fast-eligible OpenRouter sub-agent may stand in Haiku 4.5. Pin the renderer in the brief if the clip has to match. The chat model changes planning, tool use, and the text reply.
Do workflow and movie planning take Haiku?
No. Workflow scene-directing and movie planning keep the brain you picked, because the quality of the plan is the job. The stand-in is OpenRouter-only and limited to generation, slideshow, social, and the web editor.