mirror of
				https://github.com/linux-do/new-api.git
				synced 2025-11-04 13:23:42 +08:00 
			
		
		
		
	Merge pull request #383 from Yan-Zero/main
fix: the base64 format image_url for gemini
This commit is contained in:
		@@ -83,6 +83,9 @@ func CovertGemini2OpenAI(textRequest dto.GeneralOpenAIRequest) *GeminiChatReques
 | 
			
		||||
				if imageNum > GeminiVisionMaxImageNum {
 | 
			
		||||
					continue
 | 
			
		||||
				}
 | 
			
		||||
				// 判断是否是url
 | 
			
		||||
				if strings.HasPrefix(part.ImageUrl.(dto.MessageImageUrl).Url, "http") {
 | 
			
		||||
					// 是url,获取图片的类型和base64编码的数据
 | 
			
		||||
					mimeType, data, _ := service.GetImageFromUrl(part.ImageUrl.(dto.MessageImageUrl).Url)
 | 
			
		||||
					parts = append(parts, GeminiPart{
 | 
			
		||||
						InlineData: &GeminiInlineData{
 | 
			
		||||
@@ -91,6 +94,19 @@ func CovertGemini2OpenAI(textRequest dto.GeneralOpenAIRequest) *GeminiChatReques
 | 
			
		||||
						},
 | 
			
		||||
					})
 | 
			
		||||
				}
 | 
			
		||||
				else{
 | 
			
		||||
					_, format, base64String, err := service.DecodeBase64ImageData(part.ImageUrl.(dto.MessageImageUrl).Url)
 | 
			
		||||
					if err != nil {
 | 
			
		||||
						return nil, err
 | 
			
		||||
					}
 | 
			
		||||
					parts = append(parts, GeminiPart{
 | 
			
		||||
						InlineData: &GeminiInlineData{
 | 
			
		||||
							MimeType: "image/" + format,
 | 
			
		||||
							Data:     base64String,
 | 
			
		||||
						},
 | 
			
		||||
					})
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		content.Parts = parts
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user