> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trynito.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Fusion

> Call two or three models and return their answers plus a synthesis in one API request.

`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 as `Authorization: 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

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl https://app.trynito.ai/api/v1/chat/fusion \
  -H "Authorization: Bearer $NITO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "models": ["openai/gpt-5.5", "anthropic/claude-sonnet-4"],
    "messages": [{"role":"user","content":"Compare PostgreSQL and SQLite for a small team application."}],
    "max_tokens": 1000
  }'
```

Choose available logical model IDs from [the live catalog](/api/api-reference/models-catalog/list-models). `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](/api/api-reference/endpoints/chat/createchatfusioncompletion) 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:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "created": 1778268600,
  "judge": "openai/gpt-5.5",
  "models": [
    {
      "finish_reason": "stop",
      "id": "openai/gpt-5.5",
      "latency_ms": 800,
      "model": "openai/gpt-5.5",
      "output": "Option A is concise.",
      "prompt_tokens": 12,
      "tokens": 6
    },
    {
      "finish_reason": "stop",
      "id": "anthropic/claude-sonnet-4",
      "latency_ms": 950,
      "model": "anthropic/claude-sonnet-4",
      "output": "Option B allows more flexibility.",
      "prompt_tokens": 14,
      "tokens": 8
    }
  ],
  "object": "fusion.completion",
  "status": "complete",
  "synthesis": "Both options are viable.",
  "synthesis_prompt_tokens": 30,
  "synthesis_tokens": 12
}
```

* `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 HTTP `200`; inspect `status` and each entry's `error` and `error_code`. Requests where all participants fail deterministic caller validation can return a `4xx` error instead.

Participant usage is in `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 use `nito.chat_fusion` on the [hosted MCP endpoint](/api/api-reference/endpoints/mcp/handlemcppost) 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.

## Related

* [Fusion endpoint](/api/api-reference/endpoints/chat/createchatfusioncompletion)
* [Fusion in the Browser App](/web-app/fusion)
* [Fusion in the plugin](/plugin/commands/fusion)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.