diff --git a/backend/internal/service/account_test_service.go b/backend/internal/service/account_test_service.go index 8419c2b4..c17aa3ff 100644 --- a/backend/internal/service/account_test_service.go +++ b/backend/internal/service/account_test_service.go @@ -332,7 +332,10 @@ func (s *AccountTestService) testOpenAIAccountConnection(c *gin.Context, account if err != nil { return s.sendErrorAndEnd(c, fmt.Sprintf("Invalid base URL: %s", err.Error())) } - apiURL = strings.TrimSuffix(normalizedBaseURL, "/") + "/responses" + // Remove /chat/completions suffix if present, then add /responses + normalizedBaseURL = strings.TrimSuffix(normalizedBaseURL, "/") + normalizedBaseURL = strings.TrimSuffix(normalizedBaseURL, "/chat/completions") + apiURL = normalizedBaseURL + "/responses" } else { return s.sendErrorAndEnd(c, fmt.Sprintf("Unsupported account type: %s", account.Type)) } diff --git a/backend/internal/service/openai_gateway_service.go b/backend/internal/service/openai_gateway_service.go index 214da20a..0e228fb1 100644 --- a/backend/internal/service/openai_gateway_service.go +++ b/backend/internal/service/openai_gateway_service.go @@ -740,6 +740,9 @@ func (s *OpenAIGatewayService) buildUpstreamRequest(ctx context.Context, c *gin. if err != nil { return nil, err } + // Remove /chat/completions suffix if present, then add /responses + validatedURL = strings.TrimSuffix(validatedURL, "/") + validatedURL = strings.TrimSuffix(validatedURL, "/chat/completions") targetURL = validatedURL + "/responses" } default: