Skip to content

Nemotron 3 Ultra 550B A55B 262K

Nemotron 3 Ultra 550B A55B is NVIDIA's largest open-weight Nemotron model: a sparse Mixture-of-Experts architecture that runs 55 billion of its 550 billion parameters per token. It is built for frontier reasoning, orchestration, coding agents and long-running enterprise workflows. Call it through /v1/chat/completions with the canonical model id nvidia/nemotron-3-ultra-550b-a55b-262k.

Model Context Input / Output ($/1M) Cached input ($/1M)
nvidia/nemotron-3-ultra-550b-a55b-262k 262,144 0.50 / 2.20 0.10
Terminal window
curl "$LLMTR_BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer llmtr-your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "nvidia/nemotron-3-ultra-550b-a55b-262k",
"messages": [
{ "role": "user", "content": "Summarize the trade-offs of a distributed queue design." }
],
"max_tokens": 1024
}'

Do not confuse it with the free Nemotron 3 Ultra

Section titled “Do not confuse it with the free Nemotron 3 Ultra”

The catalog carries two separate models that share a checkpoint name. They are different products:

nvidia/nemotron-3-ultra-550b-a55b nvidia/nemotron-3-ultra-550b-a55b-262k
Billing Free, daily quota Metered, per token
Context 1,000,000 262,144
Prompt cache No Yes
Reasoning Off by default On by default, switchable

When the quota runs out the free row limits requests; the metered row on this page is unaffected by that quota, and the reverse is true as well.

Step-by-step reasoning is on by default on this model. Even with no parameter sent, the response carries a separate reasoning trace in message.reasoning_content, and those tokens are counted inside completion_tokens and billed at the output rate.

The practical consequence: even a short question spends reasoning tokens. Size max_tokens accordingly, or the response may be cut off mid-reasoning.

To switch reasoning off, add reasoning: false to the request or use the :fast suffix:

{ "model": "nvidia/nemotron-3-ultra-550b-a55b-262k:fast", "messages": [{ "role": "user", "content": "What is 137 times 42?" }], "max_tokens": 256 }
// Or the reasoning field in the request body
{ "model": "nvidia/nemotron-3-ultra-550b-a55b-262k", "reasoning": false, "messages": [{ "role": "user", "content": "What is 137 times 42?" }], "max_tokens": 256 }

With reasoning off, reasoning_content comes back empty and the response goes straight to the answer.

The reasoning_effort parameter is not supported on this model. When the levels were measured they did not order relative to one another, so the gateway rejects the parameter with a 400 rather than accepting a level that does not exist and silently ignoring it.

Repeated prompt prefixes are cached automatically; you do not send a parameter for it. The cache is retained in whole blocks of 8,192 tokens, and the remainder is billed as standard input.

When you send the same prefix a second time, the response's usage reports how many tokens hit:

{
"usage": {
"prompt_tokens": 52275,
"completion_tokens": 32,
"prompt_tokens_details": { "cached_tokens": 49152 }
}
}

In this example 49,152 tokens (exactly six blocks) bill at the discounted cached-input rate and the remaining 3,123 bill as standard input. To benefit from the cache, put the unchanging content — system prompt, document body, examples — at the start of the prompt; nothing after the first differing token is cached.

Tool calling is native. auto and required both work correctly in tool_choice, and the returned tool_calls arguments are valid JSON. See Tool Calling for details.

Terminal window
curl "$LLMTR_BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer llmtr-your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "nvidia/nemotron-3-ultra-550b-a55b-262k",
"messages": [{ "role": "user", "content": "What is the weather in Istanbul?" }],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a city",
"parameters": {
"type": "object",
"properties": { "city": { "type": "string" } },
"required": ["city"]
}
}
}],
"tool_choice": "auto"
}'

Forcing one specific function by name ("tool_choice": { "type": "function", "function": { "name": "..." } }) does not act as a constraint on this deployment, and it fails silently: the request returns 200, but the model calls whichever tool matches the prompt rather than the one you named.

Measured 2026-08-19 against a two-tool list:

Name requested Question Tool actually called
get_time weather get_weather (3/3)
get_weather time get_time (2/2)

The name is still validated: sending a name that is not in the tools list returns 422. So the parameter is read and then disregarded as a constraint.

A named choice only looks correct when the tool you want happens to be the one the model would have picked anyway. Do not rely on it with this model: build the flow on auto or required, and when exactly one tool must be called, reduce the tools list to that single tool.

response_format accepts both json_object and json_schema:

{
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "person",
"strict": true,
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer" }
},
"required": ["name", "age"],
"additionalProperties": false
}
}
}
}

If you want an object back in json_object mode, say so explicitly in the system prompt; otherwise the model may return its reasoning steps as valid JSON in a shape you did not expect.

  • The context window is 262,144 tokens. The "1M context" figure on the product page is the checkpoint's architectural ceiling; this deployment refuses requests above 262,144 tokens.
  • There is no separate output ceiling. No limit beyond the context window is applied to max_tokens.
  • A named tool_choice is not enforced. See the section above.
  • Image, audio and video input are not supported. The model accepts text only and produces text only.
  • reasoning_effort is not supported.