UNPKG

@aj-archipelago/cortex

Version:

Cortex is a GraphQL API for AI. It provides a simple, extensible interface for using AI services from OpenAI, Azure and others.

44 lines (34 loc) 1.73 kB
import Gemini25ImagePlugin from './gemini25ImagePlugin.js'; class Gemini3ImagePlugin extends Gemini25ImagePlugin { // Override getRequestParameters to add Gemini 3 specific image_config support getRequestParameters(text, parameters, prompt, cortexRequest) { const baseParameters = super.getRequestParameters(text, parameters, prompt, cortexRequest); // Add Gemini 3 specific image_config support (aspectRatio and image_size) // Convert camelCase aspectRatio to snake_case aspect_ratio for API let aspectRatio = parameters?.aspectRatio || parameters?.aspect_ratio; let imageSize = parameters?.image_size; // Also check pathway parameters if (!aspectRatio && cortexRequest?.pathway?.aspectRatio) { aspectRatio = cortexRequest.pathway.aspectRatio; } else if (!aspectRatio && cortexRequest?.pathway?.aspect_ratio) { aspectRatio = cortexRequest.pathway.aspect_ratio; } if (!imageSize && cortexRequest?.pathway?.image_size) { imageSize = cortexRequest.pathway.image_size; } // Set up image_config in generationConfig if either parameter is specified if (aspectRatio || imageSize) { if (!baseParameters.generationConfig.image_config) { baseParameters.generationConfig.image_config = {}; } if (aspectRatio) { baseParameters.generationConfig.image_config.aspect_ratio = aspectRatio; } if (imageSize) { baseParameters.generationConfig.image_config.image_size = imageSize; } } return baseParameters; } } export default Gemini3ImagePlugin;