diff --git a/service/convert.go b/service/convert.go index 52824374e0..fad60e2297 100644 --- a/service/convert.go +++ b/service/convert.go @@ -127,7 +127,7 @@ func ClaudeToOpenAIRequest(claudeRequest dto.ClaudeRequest, info *relaycommon.Re for _, mediaMsg := range contents { switch mediaMsg.Type { - case "text": + case "text", "input_text": message := dto.MediaContent{ Type: "text", Text: mediaMsg.GetText(), diff --git a/service/openaicompat/chat_to_responses.go b/service/openaicompat/chat_to_responses.go index c2b44c9029..2904582fc1 100644 --- a/service/openaicompat/chat_to_responses.go +++ b/service/openaicompat/chat_to_responses.go @@ -214,8 +214,12 @@ func ChatCompletionsRequestToResponsesRequest(req *dto.GeneralOpenAIRequest) (*d for _, part := range parts { switch part.Type { case dto.ContentTypeText: + textType := "input_text" + if role == "assistant" { + textType = "output_text" + } contentParts = append(contentParts, map[string]any{ - "type": "input_text", + "type": textType, "text": part.Text, }) case dto.ContentTypeImageURL: