POST /api/v1/chat/fusion sends the same conversation to two or three distinct models, then synthesizes their answers. It returns one non-streaming JSON result.
Authentication and billing
Use an organization API key asAuthorization: Bearer or X-API-Key, or an OAuth bearer with cli:inference. API credentials do not require browser cookies or CSRF headers. Calls are bound to the credential’s organization.
Fusion requires a paid plan with Fusion access. A prepaid balance alone does not unlock it. Each participant and the synthesis are billed separately against the same organization and API key spend cap.
Request
models and messages are required. Optional fields include temperature, top_p, max_tokens, and user. Hosted web_search and web_fetch options apply to every participant; function tools are not supported. See the endpoint schema for the full request shape.
An optional UUID Idempotency-Key produces stable billing keys for each participant and the synthesis. It is not a cache of the complete response; do not assume a repeated request avoids inference work.
Response
Illustrative successful response:complete: at least two participants and the synthesis succeeded.partial: only one participant succeeded, or the synthesis failed.failed: every participant failed. Provider failures can still produce HTTP200; inspectstatusand each entry’serroranderror_code. Requests where all participants fail deterministic caller validation can return a4xxerror instead.
prompt_tokens and tokens; synthesis usage is in synthesis_prompt_tokens and synthesis_tokens. There is no aggregate customer_cost field.
Privacy rules
Anonymous and Private models can mix. Confidential models only combine with other Confidential models, with a Confidential synthesis and attestation fields in the result. Encrypted participants are rejected by this server route. The Browser App coordinates Encrypted Fusion in the browser with an explicit synthesis step.Through MCP
Agent hosts can usenito.chat_fusion on the hosted MCP endpoint with an OAuth client holding mcp:inference. That tool takes a request ID, prompt, and two or three logical model IDs. Its web search and fetch are on by default with per-call opt-outs.

