diff --git a/relay/channel/xai/text.go b/relay/channel/xai/text.go index 46169ff8..4d098102 100644 --- a/relay/channel/xai/text.go +++ b/relay/channel/xai/text.go @@ -90,8 +90,10 @@ func xAIHandler(c *gin.Context, info *relaycommon.RelayInfo, resp *http.Response if err != nil { return nil, types.NewError(err, types.ErrorCodeBadResponseBody) } - xaiResponse.Usage.CompletionTokens = xaiResponse.Usage.TotalTokens - xaiResponse.Usage.PromptTokens - xaiResponse.Usage.CompletionTokenDetails.TextTokens = xaiResponse.Usage.CompletionTokens - xaiResponse.Usage.CompletionTokenDetails.ReasoningTokens + if xaiResponse.Usage != nil { + xaiResponse.Usage.CompletionTokens = xaiResponse.Usage.TotalTokens - xaiResponse.Usage.PromptTokens + xaiResponse.Usage.CompletionTokenDetails.TextTokens = xaiResponse.Usage.CompletionTokens - xaiResponse.Usage.CompletionTokenDetails.ReasoningTokens + } // new body encodeJson, err := common.Marshal(xaiResponse)