reasoning_effort sets how much the model thinks before it answers: none, minimal, low, medium, high or xhigh. NagaAI moves the value to the nearest level the model supports.
Where the reasoning is
The official Chat Completions API returns no reasoning. NagaAI adds two fields to the assistant message and to stream deltas:
Models that hide their reasoning return only a summary or an encrypted entry. NagaAI bills the tokens as output either way and counts them in
usage.completion_tokens_details.reasoning_tokens.
Keep the reasoning in multi-turn chats
When you continue a conversation, send each assistant message back with itsreasoning_details. In the Python SDK, append message.model_dump(exclude_none=True), in Node.js the message object itself. Models that sign their reasoning need the signature to continue a chain of tool calls. NagaAI removes signatures issued by a different provider, so switching providers mid-conversation does not fail.