Handle Gemini inline data in asset and size processing
This commit is contained in:
@@ -207,7 +207,8 @@ func (imageSizeProcessor) Process(params map[string]any, modelType string, conte
|
||||
width, height = constrainImageDimensions(width, height, capability)
|
||||
params["width"] = width
|
||||
params["height"] = height
|
||||
if stringFromAny(params["aspect_ratio"]) == "" {
|
||||
_, _, sizeHasPixelDimensions := parsePixelSizeString(stringFromAny(params["size"]))
|
||||
if stringFromAny(params["aspect_ratio"]) == "" || sizeHasPixelDimensions {
|
||||
aspectRatio := aspectRatioFromDimensions(width, height)
|
||||
allowed := aspectRatioAllowed(capability["aspect_ratio_allowed"], firstNonEmptyString(stringFromAny(params["resolution"]), context.resolution))
|
||||
if processed, ok := validateAndAdjustAspectRatio(aspectRatio, capability, allowed); ok && processed != "" {
|
||||
@@ -251,14 +252,14 @@ func (imageSizeProcessor) Process(params map[string]any, modelType string, conte
|
||||
}
|
||||
|
||||
func imageDimensionsFromParams(params map[string]any) (int, int, bool) {
|
||||
if width, height, ok := parsePixelSizeString(stringFromAny(params["size"])); ok {
|
||||
return width, height, true
|
||||
}
|
||||
width := positiveIntegerFromAny(params["width"])
|
||||
height := positiveIntegerFromAny(params["height"])
|
||||
if width > 0 && height > 0 {
|
||||
return width, height, true
|
||||
}
|
||||
if width, height, ok := parsePixelSizeString(stringFromAny(params["size"])); ok {
|
||||
return width, height, true
|
||||
}
|
||||
return parsePixelSizeString(stringFromAny(params["resolution"]))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user