Image Generation
Image Generation
Generate images from text prompts
ImageGeneration class
📍 src/capabilities/images/ImageGeneration.ts:80
ImageGeneration capability class
Static Methods
static create()
Create an ImageGeneration instance
static create(options: ImageGenerationCreateOptions): ImageGeneration
Parameters:
options:ImageGenerationCreateOptions
Returns: ImageGeneration
Methods
generate()
Generate images from a text prompt
async generate(options: SimpleGenerateOptions): Promise<ImageResponse>
Parameters:
options:SimpleGenerateOptions
Returns: Promise<ImageResponse>
edit()
Edit an existing image Note: Not all models/vendors support this
async edit(options: SimpleImageEditOptions): Promise<ImageResponse>
Parameters:
options:SimpleImageEditOptions
Returns: Promise<ImageResponse>
createVariation()
Create variations of an existing image. OpenAI variations are retired and reject locally; use edit() with an explicit variation prompt instead.
async createVariation(options: ImageVariationOptions): Promise<ImageResponse>
Parameters:
options:ImageVariationOptions
Returns: Promise<ImageResponse>
listModels()
List available models for this provider
async listModels(): Promise<string[]>
Returns: Promise<string[]>
getModelInfo()
Get information about a specific model
getModelInfo(modelName: string)
Parameters:
modelName:string
Returns: IImageModelDescription | undefined
getProvider()
Get the underlying provider
getProvider(): IImageProvider
Returns: IImageProvider
getConnector()
Get the current connector
getConnector(): Connector
Returns: Connector
ClipboardImageResult interface
📍 src/utils/clipboardImage.ts:27
Properties
| Property | Type | Description |
|---|---|---|
success |
success: boolean; |
- |
dataUri? |
dataUri?: string; |
- |
error? |
error?: string; |
- |
format? |
format?: string; |
- |
DocumentImagePiece interface
📍 src/capabilities/documents/types.ts:43
Properties
| Property | Type | Description |
|---|---|---|
type |
type: 'image'; |
- |
base64 |
base64: string; |
- |
mimeType |
mimeType: string; |
- |
width? |
width?: number; |
- |
height? |
height?: number; |
- |
metadata |
metadata: PieceMetadata; |
- |
IImageModelDescription interface
📍 src/domain/entities/ImageModel.ts:108
Complete image model description
Properties
| Property | Type | Description |
|---|---|---|
capabilities |
capabilities: ImageModelCapabilities; |
- |
pricing? |
pricing?: ImageModelPricing; |
- |
IImageProvider interface
📍 src/domain/interfaces/IImageProvider.ts:53
Methods
generateImage()
Generate images from text prompt
generateImage(options: ImageGenerateOptions): Promise<ImageResponse>;
Parameters:
options:ImageGenerateOptions
Returns: Promise<ImageResponse>
editImage()?
Edit an existing image (optional - not all providers support)
editImage?(options: ImageEditOptions): Promise<ImageResponse>;
Parameters:
options:ImageEditOptions
Returns: Promise<ImageResponse>
createVariation()?
Create variations of an image (optional)
createVariation?(options: ImageVariationOptions): Promise<ImageResponse>;
Parameters:
options:ImageVariationOptions
Returns: Promise<ImageResponse>
listModels()?
List available models
listModels?(): Promise<string[]>;
Returns: Promise<string[]>
ImageEditOptions interface
📍 src/domain/interfaces/IImageProvider.ts:20
Properties
| Property | Type | Description |
|---|---|---|
model |
model: string; |
- |
image |
`image: Buffer | string;` |
prompt |
prompt: string; |
- |
mask? |
`mask?: Buffer | string;` |
size? |
size?: string; |
- |
n? |
n?: number; |
- |
response_format? |
`response_format?: 'url' | 'b64_json';` |
vendorOptions? |
vendorOptions?: Record<string, unknown>; |
Provider-specific options for features without a normalized equivalent. |
ImageFilterOptions interface
📍 src/capabilities/documents/types.ts:108
Properties
| Property | Type | Description |
|---|---|---|
minWidth? |
minWidth?: number; |
Skip images narrower than this (default: 50px) |
minHeight? |
minHeight?: number; |
Skip images shorter than this (default: 50px) |
minSizeBytes? |
minSizeBytes?: number; |
Skip images smaller than this in bytes (default: 1024) |
maxImages? |
maxImages?: number; |
Maximum images to keep (default: 50 at extraction, 20 at content conversion) |
excludePatterns? |
excludePatterns?: RegExp[]; |
Exclude images whose filename/label matches these patterns |
ImageGenerateOptions interface
📍 src/domain/interfaces/IImageProvider.ts:7
Properties
| Property | Type | Description |
|---|---|---|
model |
model: string; |
- |
prompt |
prompt: string; |
- |
size? |
size?: string; |
- |
aspectRatio? |
aspectRatio?: string; |
- |
quality? |
`quality?: 'standard' | 'hd' |
style? |
`style?: 'vivid' | 'natural';` |
n? |
n?: number; |
- |
response_format? |
`response_format?: 'url' | 'b64_json';` |
vendorOptions? |
vendorOptions?: Record<string, unknown>; |
Provider-specific options for features without a normalized equivalent. |
ImageGenerationCreateOptions interface
📍 src/capabilities/images/ImageGeneration.ts:45
Options for creating an ImageGeneration instance
Properties
| Property | Type | Description |
|---|---|---|
connector |
`connector: string | Connector;` |
ImageModelCapabilities interface
📍 src/domain/entities/ImageModel.ts:37
Image model capabilities
Properties
| Property | Type | Description |
|---|---|---|
sizes |
sizes: readonly ImageSize[]; |
Supported image sizes |
aspectRatios? |
aspectRatios?: readonly AspectRatio[]; |
Supported aspect ratios (Google) |
maxImagesPerRequest |
maxImagesPerRequest: number; |
Maximum number of images per request |
outputFormats |
outputFormats: readonly string[]; |
Supported output formats |
features |
`features: { |
/** Text-to-image generation */
generation: boolean;
/** Image editing/inpainting */
editing: boolean;
/** Image variations */
variations: boolean;
/** Style control */
styleControl: boolean;
/** Quality control (standard/hd) */
qualityControl: boolean;
/** Transparent backgrounds */
transparency: boolean;
/** Prompt revision/enhancement */
promptRevision: boolean;
};| Feature support flags | |limits|limits: {
/** Maximum prompt length in characters /
maxPromptLength: number;
/* Rate limit (requests per minute) */
maxRequestsPerMinute?: number;
};| Model limits | |vendorOptions?|vendorOptions?: Record<string, VendorOptionSchema>;` | Vendor-specific options schema |
ImageModelPricing interface
📍 src/domain/entities/ImageModel.ts:83
Image model pricing
Properties
| Property | Type | Description |
|---|---|---|
perImageStandard? |
perImageStandard?: number; |
Cost per image at standard quality |
perImageHD? |
perImageHD?: number; |
Cost per image at HD quality |
perImage? |
perImage?: number; |
Cost per image (flat rate) |
inputPerImage? |
inputPerImage?: number; |
Input-image charge for providers that bill source images separately. |
perImageByResolution? |
perImageByResolution?: Readonly<Record<string, number>>; |
Resolution-specific output prices, keyed by vendor resolution label. |
tokenPricing? |
`tokenPricing?: { |
textInput?: number;
cachedTextInput?: number;
imageInput?: number;
cachedImageInput?: number;
imageOutput?: number;
};| Token rates used by multimodal generation endpoints (USD per 1M tokens). | |currency|currency: 'USD';` | - |
ImageResponse interface
📍 src/domain/interfaces/IImageProvider.ts:40
Properties
| Property | Type | Description |
|---|---|---|
created |
created: number; |
- |
data |
`data: Array<{ |
url?: string;
b64_json?: string;
revised_prompt?: string;
/** Persistent provider file ID, when output storage was requested. */
file_id?: string;
/** Persistent public URL, when requested from the provider. */
public_url?: string;
}>;` | - |
ImageVariationOptions interface
📍 src/domain/interfaces/IImageProvider.ts:32
Properties
| Property | Type | Description |
|---|---|---|
model |
model: string; |
- |
image |
`image: Buffer | string;` |
n? |
n?: number; |
- |
size? |
size?: string; |
- |
response_format? |
`response_format?: 'url' | 'b64_json';` |
InputImageContent interface
📍 src/domain/entities/Content.ts:30
Properties
| Property | Type | Description |
|---|---|---|
type |
type: ContentType.INPUT_IMAGE_URL; |
- |
image_url |
`image_url: { |
url: string; // HTTP URL or data URI
detail?: 'auto' | 'low' | 'high';
};` | - |
SimpleGenerateOptions interface
📍 src/capabilities/images/ImageGeneration.ts:53
Simplified options for quick generation
Properties
| Property | Type | Description |
|---|---|---|
prompt |
prompt: string; |
Text prompt describing the image |
model? |
model?: string; |
Model to use (defaults to vendor's best model) |
size? |
size?: string; |
Image size |
aspectRatio? |
aspectRatio?: string; |
Aspect ratio for providers that use ratio rather than pixel dimensions |
quality? |
quality?: ImageGenerateOptions['quality']; |
Quality setting |
style? |
`style?: 'vivid' | 'natural';` |
n? |
n?: number; |
Number of images to generate |
response_format? |
`response_format?: 'url' | 'b64_json';` |
vendorOptions? |
vendorOptions?: Record<string, unknown>; |
Provider-specific controls such as output format, compression, or image resolution |
AspectRatio type
📍 src/domain/entities/ImageModel.ts:32
Supported aspect ratios
type AspectRatio = '1:1' | '3:4' | '4:3' | '4:5' | '5:4' | '9:16' | '16:9' | '21:9' | '3:2' | '2:3' | '1:4' | '4:1' | '1:8' | '8:1' | '2:1' | '1:2'
SimpleImageEditOptions type
📍 src/capabilities/images/ImageGeneration.ts:75
High-level edit options; the current vendor model is selected when omitted.
type SimpleImageEditOptions = Omit<ImageEditOptions, 'model'> & { model?: string }
calculateImageCost function
📍 src/domain/entities/ImageModel.ts:1540
Calculate estimated cost for image generation
export function calculateImageCost(
modelName: string,
imageCount: number,
qualityOrOptions: 'standard' | 'hd' | {
quality?: 'standard' | 'hd';
resolution?: string;
inputImages?: number;
textInputTokens?: number;
cachedTextInputTokens?: number;
imageInputTokens?: number;
cachedImageInputTokens?: number;
imageOutputTokens?: number;
} = 'standard'
): number | null
createImageGenerationTool function
📍 src/tools/multimedia/imageGeneration.ts:37
export function createImageGenerationTool(
connector: Connector,
storage?: IMediaStorage,
userId?: string
): ToolFunction<GenerateImageArgs, GenerateImageResult>
createImageProvider function
📍 src/core/createImageProvider.ts:16
Create an Image Generation provider from a connector
export function createImageProvider(connector: Connector): IImageProvider
createMessageWithImages function
📍 src/utils/messageBuilder.ts:140
Helper function to create a message with images
export function createMessageWithImages(
text: string,
imageUrls: string[],
role: MessageRole = MessageRole.USER
): InputItem
getImageModelsWithFeature function
📍 src/domain/entities/ImageModel.ts:1529
Get image models that support a specific feature
export function getImageModelsWithFeature(
feature: keyof IImageModelDescription['capabilities']['features']
): IImageModelDescription[]
hasClipboardImage function
📍 src/utils/clipboardImage.ts:221
Check if clipboard contains an image (quick check)
export async function hasClipboardImage(): Promise<boolean>
readClipboardImage function
📍 src/utils/clipboardImage.ts:37
Read image from clipboard and convert to data URI
export async function readClipboardImage(): Promise<ClipboardImageResult>
IMAGE_MODEL_REGISTRY const
📍 src/domain/entities/ImageModel.ts:176
Complete image model registry Last full audit: October 2026
Properties
| Property | Type | Description |
|---|---|---|
'gpt-image-2.5-sunburst' |
`{ |
name: 'gpt-image-2.5-sunburst',
displayName: 'GPT Image 2.5 Sunburst',
provider: Vendor.OpenAI,
description: 'OpenAI\'s most capable image model for high-quality generation and precision editing',
isActive: true,
lifecycle: 'active',
availability: 'public',
preferred: true,
snapshots: ['gpt-image-2.5-sunburst-2026-09-08'],
endpoints: ['image_generation', 'image_edit', 'responses', 'batch'],
releaseDate: '2026-09-08',
sources: { documentation: 'https://developers.openai.com/api/docs/models/gpt-image-2.5-sunburst', pricing: 'https://developers.openai.com/api/docs/pricing', lastVerified: '2026-10-07' },
capabilities: {
sizes: ['1024x1024', '1024x1536', '1536x1024', 'auto'],
maxImagesPerRequest: 10,
outputFormats: ['png', 'webp', 'jpeg'],
features: { generation: true, editing: true, variations: false, styleControl: false, qualityControl: true, transparency: true, promptRevision: false },
limits: { maxPromptLength: 32_000, maxRequestsPerMinute: 250 },
vendorOptions: {
quality: { type: 'enum', description: 'Rendering quality tier', enum: ['auto', 'low', 'medium', 'high', 'xhigh', 'max'], default: 'auto' },
background: { type: 'enum', description: 'Background handling', enum: ['auto', 'transparent', 'opaque'], default: 'auto' },
output_format: { type: 'enum', description: 'Encoded output image format', enum: ['png', 'jpeg', 'webp'], default: 'png' },
output_compression: { type: 'number', description: 'JPEG/WebP compression quality', min: 0, max: 100, default: 100 },
moderation: { type: 'enum', description: 'Moderation strictness', enum: ['auto', 'low'], default: 'auto' },
input_fidelity: { type: 'enum', description: 'Fidelity applied to editing input images', enum: ['low', 'high'], default: 'low' },
},
},
pricing: { tokenPricing: { textInput: 5, cachedTextInput: 1.25, imageInput: 8, cachedImageInput: 2, imageOutput: 30 }, currency: 'USD' },
}| - | |'gpt-image-2.5-flare'|{
name: 'gpt-image-2.5-flare',
displayName: 'GPT Image 2.5 Flare',
provider: Vendor.OpenAI,
description: 'Fast GPT Image 2.5 model for high-quality generation and editing',
isActive: true,
lifecycle: 'active',
availability: 'public',
preferred: true,
snapshots: ['gpt-image-2.5-flare-2026-09-08'],
endpoints: ['image_generation', 'image_edit', 'responses', 'batch'],
releaseDate: '2026-09-08',
sources: { documentation: 'https://developers.openai.com/api/docs/models/gpt-image-2.5-flare', pricing: 'https://developers.openai.com/api/docs/pricing', lastVerified: '2026-10-07' },
capabilities: {
sizes: ['1024x1024', '1024x1536', '1536x1024', 'auto'],
maxImagesPerRequest: 10,
outputFormats: ['png', 'webp', 'jpeg'],
features: { generation: true, editing: true, variations: false, styleControl: false, qualityControl: true, transparency: true, promptRevision: false },
limits: { maxPromptLength: 32_000, maxRequestsPerMinute: 250 },
vendorOptions: {
quality: { type: 'enum', description: 'Rendering quality tier', enum: ['auto', 'low', 'medium', 'high', 'xhigh', 'max'], default: 'auto' },
background: { type: 'enum', description: 'Background handling', enum: ['auto', 'transparent', 'opaque'], default: 'auto' },
output_format: { type: 'enum', description: 'Encoded output image format', enum: ['png', 'jpeg', 'webp'], default: 'png' },
output_compression: { type: 'number', description: 'JPEG/WebP compression quality', min: 0, max: 100, default: 100 },
moderation: { type: 'enum', description: 'Moderation strictness', enum: ['auto', 'low'], default: 'auto' },
input_fidelity: { type: 'enum', description: 'Fidelity applied to editing input images', enum: ['low', 'high'], default: 'low' },
},
},
pricing: { tokenPricing: { textInput: 5, cachedTextInput: 1.25, imageInput: 8, cachedImageInput: 2, imageOutput: 30 }, currency: 'USD' },
}| - | |'gpt-image-2'|{
name: 'gpt-image-2',
displayName: 'GPT Image 2',
provider: Vendor.OpenAI,
description: 'Current state-of-the-art OpenAI model for fast, high-quality image generation and editing',
isActive: true,
lifecycle: 'active',
availability: 'public',
preferred: false,
snapshots: ['gpt-image-2-2026-04-21'],
endpoints: ['image_generation', 'image_edit'],
releaseDate: '2026-04-21',
sources: {
documentation: 'https://developers.openai.com/api/docs/models/gpt-image-2',
pricing: 'https://developers.openai.com/api/docs/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024', '1024x1536', '1536x1024', 'auto'],
maxImagesPerRequest: 10,
outputFormats: ['png', 'webp', 'jpeg'],
features: {
generation: true, editing: true, variations: false, styleControl: false,
qualityControl: true, transparency: true, promptRevision: false,
},
limits: { maxPromptLength: 32000, maxRequestsPerMinute: 250 },
vendorOptions: {
quality: { type: 'enum', description: 'Rendering quality tier', enum: ['auto', 'low', 'medium', 'high'], default: 'auto' },
background: { type: 'enum', description: 'Background handling', enum: ['auto', 'transparent', 'opaque'], default: 'auto' },
output_format: { type: 'enum', description: 'Encoded output image format', enum: ['png', 'jpeg', 'webp'], default: 'png' },
output_compression: { type: 'number', description: 'JPEG/WebP compression quality', min: 0, max: 100, default: 100 },
moderation: { type: 'enum', description: 'Moderation strictness', enum: ['auto', 'low'], default: 'auto' },
input_fidelity: { type: 'enum', description: 'Fidelity applied to editing input images', enum: ['low', 'high'], default: 'low' },
},
},
pricing: {
tokenPricing: {
textInput: 2.5,
cachedTextInput: 0.625,
imageInput: 4,
cachedImageInput: 1,
imageOutput: 15,
},
currency: 'USD',
},
}| - | |'gpt-image-1.5'|{
name: 'gpt-image-1.5',
displayName: 'GPT Image 1.5',
provider: Vendor.OpenAI,
description: 'State-of-the-art image generation with better instruction following and prompt adherence',
isActive: true,
lifecycle: 'deprecated',
deprecationDate: '2026-06-02',
retirementDate: '2026-12-01',
replacementModel: 'gpt-image-2',
releaseDate: '2025-12-16',
sources: {
documentation: 'https://developers.openai.com/api/docs/models/gpt-image-1.5',
pricing: 'https://openai.com/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024', '1024x1536', '1536x1024', 'auto'],
maxImagesPerRequest: 10,
outputFormats: ['png', 'webp', 'jpeg'],
features: {
generation: true,
editing: true,
variations: false,
styleControl: false,
qualityControl: true,
transparency: true,
promptRevision: false,
},
limits: { maxPromptLength: 32000 },
vendorOptions: {
quality: {
type: 'enum',
label: 'Quality',
description: 'Image quality level',
enum: ['auto', 'low', 'medium', 'high'],
default: 'auto',
controlType: 'select',
},
background: {
type: 'enum',
label: 'Background',
description: 'Background transparency (requires png or webp)',
enum: ['auto', 'transparent', 'opaque'],
default: 'auto',
controlType: 'select',
},
output_format: {
type: 'enum',
label: 'Output Format',
description: 'Image file format',
enum: ['png', 'jpeg', 'webp'],
default: 'png',
controlType: 'select',
},
output_compression: {
type: 'number',
label: 'Compression',
description: 'Compression level for JPEG/WebP (0-100)',
min: 0,
max: 100,
default: 100,
controlType: 'slider',
},
moderation: {
type: 'enum',
label: 'Moderation',
description: 'Content moderation strictness',
enum: ['auto', 'low'],
default: 'auto',
controlType: 'radio',
},
},
},
pricing: {
perImageStandard: 0.034, // medium quality 1024x1024
perImageHD: 0.133, // high quality 1024x1024
currency: 'USD',
},
}| - | |'chatgpt-image-latest'|{
name: 'chatgpt-image-latest',
displayName: 'ChatGPT Image Latest',
provider: Vendor.OpenAI,
description: 'Image model used in ChatGPT. Floating alias pointing to current ChatGPT image snapshot',
isActive: true,
lifecycle: 'deprecated',
deprecationDate: '2026-06-02',
retirementDate: '2026-12-01',
replacementModel: 'gpt-image-2',
releaseDate: '2025-12-01',
sources: {
documentation: 'https://developers.openai.com/api/docs/models/chatgpt-image-latest',
pricing: 'https://openai.com/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024', '1024x1536', '1536x1024', 'auto'],
maxImagesPerRequest: 10,
outputFormats: ['png', 'webp', 'jpeg'],
features: {
generation: true,
editing: true,
variations: false,
styleControl: false,
qualityControl: true,
transparency: true,
promptRevision: false,
},
limits: { maxPromptLength: 32000 },
vendorOptions: {
quality: {
type: 'enum',
label: 'Quality',
description: 'Image quality level',
enum: ['auto', 'low', 'medium', 'high'],
default: 'auto',
controlType: 'select',
},
background: {
type: 'enum',
label: 'Background',
description: 'Background transparency (requires png or webp)',
enum: ['auto', 'transparent', 'opaque'],
default: 'auto',
controlType: 'select',
},
output_format: {
type: 'enum',
label: 'Output Format',
description: 'Image file format',
enum: ['png', 'jpeg', 'webp'],
default: 'png',
controlType: 'select',
},
output_compression: {
type: 'number',
label: 'Compression',
description: 'Compression level for JPEG/WebP (0-100)',
min: 0,
max: 100,
default: 100,
controlType: 'slider',
},
moderation: {
type: 'enum',
label: 'Moderation',
description: 'Content moderation strictness',
enum: ['auto', 'low'],
default: 'auto',
controlType: 'radio',
},
},
},
pricing: {
perImageStandard: 0.034, // medium quality 1024x1024
perImageHD: 0.133, // high quality 1024x1024
currency: 'USD',
},
}| - | |'gpt-image-1'|{
name: 'gpt-image-1',
displayName: 'GPT Image 1',
provider: Vendor.OpenAI,
description: 'Previous generation OpenAI image model. More expensive than GPT Image 1.5',
isActive: true,
lifecycle: 'deprecated',
deprecationDate: '2026-04-22',
retirementDate: '2026-10-23',
replacementModel: 'gpt-image-2',
releaseDate: '2025-04-01',
sources: {
documentation: 'https://developers.openai.com/api/docs/models/gpt-image-1',
pricing: 'https://openai.com/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024', '1024x1536', '1536x1024', 'auto'],
maxImagesPerRequest: 10,
outputFormats: ['png', 'webp', 'jpeg'],
features: {
generation: true,
editing: true,
variations: false,
styleControl: false,
qualityControl: true,
transparency: true,
promptRevision: false,
},
limits: { maxPromptLength: 32000 },
vendorOptions: {
quality: {
type: 'enum',
label: 'Quality',
description: 'Image quality level',
enum: ['auto', 'low', 'medium', 'high'],
default: 'auto',
controlType: 'select',
},
background: {
type: 'enum',
label: 'Background',
description: 'Background transparency',
enum: ['auto', 'transparent', 'opaque'],
default: 'auto',
controlType: 'select',
},
output_format: {
type: 'enum',
label: 'Output Format',
description: 'Image file format',
enum: ['png', 'jpeg', 'webp'],
default: 'png',
controlType: 'select',
},
output_compression: {
type: 'number',
label: 'Compression',
description: 'Compression level for JPEG/WebP (0-100)',
min: 0,
max: 100,
default: 75,
controlType: 'slider',
},
moderation: {
type: 'enum',
label: 'Moderation',
description: 'Content moderation strictness',
enum: ['auto', 'low'],
default: 'auto',
controlType: 'radio',
},
},
},
pricing: {
perImageStandard: 0.042, // medium quality 1024x1024
perImageHD: 0.167, // high quality 1024x1024
currency: 'USD',
},
}| - | |'gpt-image-1-mini'|{
name: 'gpt-image-1-mini',
displayName: 'GPT Image 1 Mini',
provider: Vendor.OpenAI,
description: 'Cost-efficient version of GPT Image 1. Cheapest OpenAI image model',
isActive: true,
lifecycle: 'deprecated',
deprecationDate: '2026-06-02',
retirementDate: '2026-12-01',
replacementModel: 'gpt-image-2',
releaseDate: '2025-06-01',
sources: {
documentation: 'https://developers.openai.com/api/docs/models/gpt-image-1-mini',
pricing: 'https://openai.com/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024', '1024x1536', '1536x1024', 'auto'],
maxImagesPerRequest: 10,
outputFormats: ['png', 'webp', 'jpeg'],
features: {
generation: true,
editing: true,
variations: false,
styleControl: false,
qualityControl: true,
transparency: true,
promptRevision: false,
},
limits: { maxPromptLength: 32000 },
vendorOptions: {
quality: {
type: 'enum',
label: 'Quality',
description: 'Image quality level',
enum: ['auto', 'low', 'medium', 'high'],
default: 'auto',
controlType: 'select',
},
background: {
type: 'enum',
label: 'Background',
description: 'Background transparency (requires png or webp)',
enum: ['auto', 'transparent', 'opaque'],
default: 'auto',
controlType: 'select',
},
output_format: {
type: 'enum',
label: 'Output Format',
description: 'Image file format',
enum: ['png', 'jpeg', 'webp'],
default: 'png',
controlType: 'select',
},
output_compression: {
type: 'number',
label: 'Compression',
description: 'Compression level for JPEG/WebP (0-100)',
min: 0,
max: 100,
default: 100,
controlType: 'slider',
},
moderation: {
type: 'enum',
label: 'Moderation',
description: 'Content moderation strictness',
enum: ['auto', 'low'],
default: 'auto',
controlType: 'radio',
},
},
},
pricing: {
perImageStandard: 0.011, // medium quality 1024x1024
perImageHD: 0.036, // high quality 1024x1024
currency: 'USD',
},
}| - | |'dall-e-3'|{
name: 'dall-e-3',
displayName: 'DALL-E 3',
provider: Vendor.OpenAI,
description: 'Deprecated. High quality image generation with prompt revision. Migrate to gpt-image-1.5',
isActive: false,
lifecycle: 'retired',
replacementModel: 'gpt-image-2',
releaseDate: '2023-11-06',
deprecationDate: '2025-11-14',
retirementDate: '2026-05-12',
sources: {
documentation: 'https://platform.openai.com/docs/guides/images',
pricing: 'https://openai.com/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024', '1024x1792', '1792x1024'],
maxImagesPerRequest: 1,
outputFormats: ['png', 'url'],
features: {
generation: true,
editing: false,
variations: false,
styleControl: true,
qualityControl: true,
transparency: false,
promptRevision: true,
},
limits: { maxPromptLength: 4000 },
vendorOptions: {
quality: {
type: 'enum',
label: 'Quality',
description: 'Image quality: standard or HD',
enum: ['standard', 'hd'],
default: 'standard',
controlType: 'radio',
},
style: {
type: 'enum',
label: 'Style',
description: 'Image style: vivid (hyper-real) or natural',
enum: ['vivid', 'natural'],
default: 'vivid',
controlType: 'radio',
},
},
},
pricing: {
perImageStandard: 0.040,
perImageHD: 0.080,
currency: 'USD',
},
}| - | |'dall-e-2'|{
name: 'dall-e-2',
displayName: 'DALL-E 2',
provider: Vendor.OpenAI,
description: 'Deprecated. Fast image generation with editing and variation support. Migrate to gpt-image-1-mini',
isActive: false,
lifecycle: 'retired',
replacementModel: 'gpt-image-2',
releaseDate: '2022-11-03',
deprecationDate: '2025-11-14',
retirementDate: '2026-05-12',
sources: {
documentation: 'https://platform.openai.com/docs/guides/images',
pricing: 'https://openai.com/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['256x256', '512x512', '1024x1024'],
maxImagesPerRequest: 10,
outputFormats: ['png', 'url'],
features: {
generation: true,
editing: true,
variations: true,
styleControl: false,
qualityControl: false,
transparency: false,
promptRevision: false,
},
limits: { maxPromptLength: 1000 },
vendorOptions: {},
},
pricing: {
perImage: 0.020,
currency: 'USD',
},
}| - | |'imagen-4.0-generate-001'|{
name: 'imagen-4.0-generate-001',
displayName: 'Imagen 4.0 Generate',
provider: Vendor.Google,
description: 'Google Imagen 4.0 - standard quality image generation',
isActive: false,
lifecycle: 'retired',
deprecationDate: '2026-07-16',
retirementDate: '2026-08-17',
replacementModel: 'gemini-3.1-flash-image',
releaseDate: '2025-06-01',
sources: {
documentation: 'https://ai.google.dev/gemini-api/docs/imagen',
pricing: 'https://ai.google.dev/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024'],
aspectRatios: ['1:1', '3:4', '4:3', '9:16', '16:9'],
maxImagesPerRequest: 4,
outputFormats: ['png', 'jpeg'],
features: {
generation: true,
editing: false,
variations: false,
styleControl: false,
qualityControl: false,
transparency: false,
promptRevision: false,
},
limits: { maxPromptLength: 480 },
vendorOptions: {
aspectRatio: {
type: 'enum',
label: 'Aspect Ratio',
description: 'Output image proportions',
enum: ['1:1', '3:4', '4:3', '16:9', '9:16'],
default: '1:1',
controlType: 'select',
},
sampleImageSize: {
type: 'enum',
label: 'Resolution',
description: 'Output image resolution',
enum: ['1K', '2K'],
default: '1K',
controlType: 'radio',
},
outputMimeType: {
type: 'enum',
label: 'Output Format',
description: 'Image file format',
enum: ['image/png', 'image/jpeg'],
default: 'image/png',
controlType: 'select',
},
negativePrompt: {
type: 'string',
label: 'Negative Prompt',
description: 'Elements to avoid in the generated image',
controlType: 'textarea',
},
personGeneration: {
type: 'enum',
label: 'Person Generation',
description: 'Controls whether people can appear in images',
enum: ['dont_allow', 'allow_adult', 'allow_all'],
default: 'allow_adult',
controlType: 'select',
},
safetyFilterLevel: {
type: 'enum',
label: 'Safety Filter',
description: 'Content safety filtering threshold',
enum: ['block_none', 'block_only_high', 'block_medium_and_above', 'block_low_and_above'],
default: 'block_medium_and_above',
controlType: 'select',
},
enhancePrompt: {
type: 'boolean',
label: 'Enhance Prompt',
description: 'Use LLM-based prompt rewriting for better quality',
default: true,
controlType: 'checkbox',
},
seed: {
type: 'number',
label: 'Seed',
description: 'Random seed for reproducible generation (1-2147483647)',
min: 1,
max: 2147483647,
controlType: 'text',
},
addWatermark: {
type: 'boolean',
label: 'Add Watermark',
description: 'Add invisible SynthID watermark',
default: true,
controlType: 'checkbox',
},
language: {
type: 'enum',
label: 'Prompt Language',
description: 'Language of the input prompt',
enum: ['auto', 'en', 'zh', 'zh-CN', 'zh-TW', 'hi', 'ja', 'ko', 'pt', 'es'],
default: 'en',
controlType: 'select',
},
},
},
pricing: {
perImage: 0.04,
currency: 'USD',
},
}| - | |'imagen-4.0-ultra-generate-001'|{
name: 'imagen-4.0-ultra-generate-001',
displayName: 'Imagen 4.0 Ultra',
provider: Vendor.Google,
description: 'Google Imagen 4.0 Ultra - highest quality image generation',
isActive: false,
lifecycle: 'retired',
deprecationDate: '2026-07-16',
retirementDate: '2026-08-17',
replacementModel: 'gemini-3-pro-image',
releaseDate: '2025-06-01',
sources: {
documentation: 'https://ai.google.dev/gemini-api/docs/imagen',
pricing: 'https://ai.google.dev/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024'],
aspectRatios: ['1:1', '3:4', '4:3', '9:16', '16:9'],
maxImagesPerRequest: 4,
outputFormats: ['png', 'jpeg'],
features: {
generation: true,
editing: false,
variations: false,
styleControl: false,
qualityControl: true,
transparency: false,
promptRevision: false,
},
limits: { maxPromptLength: 480 },
vendorOptions: {
aspectRatio: {
type: 'enum',
label: 'Aspect Ratio',
description: 'Output image proportions',
enum: ['1:1', '3:4', '4:3', '16:9', '9:16'],
default: '1:1',
controlType: 'select',
},
sampleImageSize: {
type: 'enum',
label: 'Resolution',
description: 'Output image resolution',
enum: ['1K', '2K'],
default: '1K',
controlType: 'radio',
},
outputMimeType: {
type: 'enum',
label: 'Output Format',
description: 'Image file format',
enum: ['image/png', 'image/jpeg'],
default: 'image/png',
controlType: 'select',
},
negativePrompt: {
type: 'string',
label: 'Negative Prompt',
description: 'Elements to avoid in the generated image',
controlType: 'textarea',
},
personGeneration: {
type: 'enum',
label: 'Person Generation',
description: 'Controls whether people can appear in images',
enum: ['dont_allow', 'allow_adult', 'allow_all'],
default: 'allow_adult',
controlType: 'select',
},
safetyFilterLevel: {
type: 'enum',
label: 'Safety Filter',
description: 'Content safety filtering threshold',
enum: ['block_none', 'block_only_high', 'block_medium_and_above', 'block_low_and_above'],
default: 'block_medium_and_above',
controlType: 'select',
},
enhancePrompt: {
type: 'boolean',
label: 'Enhance Prompt',
description: 'Use LLM-based prompt rewriting for better quality',
default: true,
controlType: 'checkbox',
},
seed: {
type: 'number',
label: 'Seed',
description: 'Random seed for reproducible generation (1-2147483647)',
min: 1,
max: 2147483647,
controlType: 'text',
},
addWatermark: {
type: 'boolean',
label: 'Add Watermark',
description: 'Add invisible SynthID watermark',
default: true,
controlType: 'checkbox',
},
language: {
type: 'enum',
label: 'Prompt Language',
description: 'Language of the input prompt',
enum: ['auto', 'en', 'zh', 'zh-CN', 'zh-TW', 'hi', 'ja', 'ko', 'pt', 'es'],
default: 'en',
controlType: 'select',
},
},
},
pricing: {
perImage: 0.06, // Updated per official pricing page (was $0.08)
currency: 'USD',
},
}| - | |'imagen-4.0-fast-generate-001'|{
name: 'imagen-4.0-fast-generate-001',
displayName: 'Imagen 4.0 Fast',
provider: Vendor.Google,
description: 'Google Imagen 4.0 Fast - optimized for speed',
isActive: false,
lifecycle: 'retired',
deprecationDate: '2026-07-16',
retirementDate: '2026-08-17',
replacementModel: 'gemini-3.1-flash-lite-image',
releaseDate: '2025-06-01',
sources: {
documentation: 'https://ai.google.dev/gemini-api/docs/imagen',
pricing: 'https://ai.google.dev/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024'],
aspectRatios: ['1:1', '3:4', '4:3', '9:16', '16:9'],
maxImagesPerRequest: 4,
outputFormats: ['png', 'jpeg'],
features: {
generation: true,
editing: false,
variations: false,
styleControl: false,
qualityControl: false,
transparency: false,
promptRevision: false,
},
limits: { maxPromptLength: 480 },
vendorOptions: {
aspectRatio: {
type: 'enum',
label: 'Aspect Ratio',
description: 'Output image proportions',
enum: ['1:1', '3:4', '4:3', '16:9', '9:16'],
default: '1:1',
controlType: 'select',
},
sampleImageSize: {
type: 'enum',
label: 'Resolution',
description: 'Output image resolution',
enum: ['1K', '2K'],
default: '1K',
controlType: 'radio',
},
outputMimeType: {
type: 'enum',
label: 'Output Format',
description: 'Image file format',
enum: ['image/png', 'image/jpeg'],
default: 'image/png',
controlType: 'select',
},
negativePrompt: {
type: 'string',
label: 'Negative Prompt',
description: 'Elements to avoid in the generated image',
controlType: 'textarea',
},
personGeneration: {
type: 'enum',
label: 'Person Generation',
description: 'Controls whether people can appear in images',
enum: ['dont_allow', 'allow_adult', 'allow_all'],
default: 'allow_adult',
controlType: 'select',
},
safetyFilterLevel: {
type: 'enum',
label: 'Safety Filter',
description: 'Content safety filtering threshold',
enum: ['block_none', 'block_only_high', 'block_medium_and_above', 'block_low_and_above'],
default: 'block_medium_and_above',
controlType: 'select',
},
enhancePrompt: {
type: 'boolean',
label: 'Enhance Prompt',
description: 'Use LLM-based prompt rewriting for better quality',
default: true,
controlType: 'checkbox',
},
seed: {
type: 'number',
label: 'Seed',
description: 'Random seed for reproducible generation (1-2147483647)',
min: 1,
max: 2147483647,
controlType: 'text',
},
addWatermark: {
type: 'boolean',
label: 'Add Watermark',
description: 'Add invisible SynthID watermark',
default: true,
controlType: 'checkbox',
},
language: {
type: 'enum',
label: 'Prompt Language',
description: 'Language of the input prompt',
enum: ['auto', 'en', 'zh', 'zh-CN', 'zh-TW', 'hi', 'ja', 'ko', 'pt', 'es'],
default: 'en',
controlType: 'select',
},
},
},
pricing: {
perImage: 0.02,
currency: 'USD',
},
}| - | |'gemini-nano-banana-2.1'|{
name: 'gemini-nano-banana-2.1',
displayName: 'Nano Banana 2.1',
provider: Vendor.Google,
description: 'Latest high-efficiency Gemini image generation and conversational editing model with stronger typography and multi-turn consistency',
isActive: true,
lifecycle: 'active',
availability: 'public',
preferred: true,
endpoints: ['image_generation', 'image_edit', 'interactions', 'generate_content', 'batch'],
releaseDate: '2026-10-06',
sources: { documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1', pricing: 'https://ai.google.dev/gemini-api/docs/pricing', lastVerified: '2026-10-07' },
capabilities: {
sizes: ['1024x1024', '2048x2048', '4096x4096', 'auto'],
aspectRatios: ['1:1', '3:4', '4:3', '9:16', '16:9', '3:2', '2:3', '1:4', '4:1', '1:8', '8:1'],
maxImagesPerRequest: 4,
outputFormats: ['png', 'jpeg'],
features: { generation: true, editing: true, variations: false, styleControl: false, qualityControl: true, transparency: false, promptRevision: false },
limits: { maxPromptLength: 131_072 },
vendorOptions: {
imageSize: { type: 'enum', description: 'Requested output image resolution', enum: ['1024px', '2048px', '4096px'], default: '1024px' },
thinkingLevel: { type: 'enum', description: 'Generation reasoning depth', enum: ['minimal', 'medium', 'high'], default: 'medium' },
},
},
pricing: {
perImageStandard: 0.067,
perImageHD: 0.151,
perImageByResolution: { '1024px': 0.067, '2048px': 0.101, '4096px': 0.151 },
tokenPricing: { textInput: 0.5, imageInput: 0.5, imageOutput: 60 },
currency: 'USD',
},
}| - | |'gemini-3.1-flash-image'|{
name: 'gemini-3.1-flash-image',
displayName: 'Nano Banana 2',
provider: Vendor.Google,
description: 'Current all-around Gemini image generation and editing model with up to 4K output',
isActive: true,
lifecycle: 'deprecated',
availability: 'public',
deprecationDate: '2026-10-06',
retirementDate: '2026-10-29',
replacementModel: 'gemini-nano-banana-2.1',
endpoints: ['image_generation', 'image_edit', 'generate_content', 'batch'],
releaseDate: '2026-06-25',
sources: {
documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-image',
pricing: 'https://ai.google.dev/gemini-api/docs/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['512x512', '1024x1024', '2048x2048', '4096x4096', 'auto'],
aspectRatios: ['1:1', '3:4', '4:3', '9:16', '16:9', '3:2', '2:3', '1:4', '4:1', '1:8', '8:1'],
maxImagesPerRequest: 4,
outputFormats: ['png', 'jpeg'],
features: { generation: true, editing: true, variations: false, styleControl: false, qualityControl: true, transparency: false, promptRevision: false },
limits: { maxPromptLength: 131072 },
vendorOptions: {
imageSize: { type: 'enum', description: 'Requested output image resolution', enum: ['512px', '1024px', '2048px', '4096px'], default: '1024px' },
},
},
pricing: {
perImageStandard: 0.067,
perImageHD: 0.151,
perImageByResolution: { '512px': 0.045, '1024px': 0.067, '2048px': 0.101, '4096px': 0.151 },
tokenPricing: { textInput: 0.50, imageInput: 0.50, imageOutput: 60 },
currency: 'USD',
},
}| - | |'gemini-3.1-flash-lite-image'|{
name: 'gemini-3.1-flash-lite-image',
displayName: 'Nano Banana 2 Lite',
provider: Vendor.Google,
description: 'Ultra-low-latency 1K image generation and editing for high-volume interactive use',
isActive: true,
lifecycle: 'active',
availability: 'public',
preferred: true,
endpoints: ['image_generation', 'image_edit', 'generate_content', 'batch'],
releaseDate: '2026-06-25',
sources: {
documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-lite-image',
pricing: 'https://ai.google.dev/gemini-api/docs/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024', 'auto'],
aspectRatios: ['1:1', '3:2', '2:3', '3:4', '4:3', '4:5', '5:4', '9:16', '16:9', '21:9'],
maxImagesPerRequest: 4,
outputFormats: ['png', 'jpeg'],
features: { generation: true, editing: true, variations: false, styleControl: false, qualityControl: false, transparency: false, promptRevision: false },
limits: { maxPromptLength: 65536 },
vendorOptions: { imageSize: { type: 'enum', description: 'Requested output image resolution', enum: ['1024px'], default: '1024px' } },
},
pricing: {
perImage: 0.0336,
perImageByResolution: { '1024px': 0.0336 },
tokenPricing: { textInput: 0.25, imageInput: 0.25, imageOutput: 30 },
currency: 'USD',
},
}| - | |'gemini-3-pro-image'|{
name: 'gemini-3-pro-image',
displayName: 'Nano Banana Pro',
provider: Vendor.Google,
description: 'Professional Gemini design engine for complex instructions, grounded assets, and 4K output',
isActive: true,
lifecycle: 'active',
availability: 'public',
endpoints: ['image_generation', 'image_edit', 'generate_content', 'batch'],
releaseDate: '2026-06-25',
sources: {
documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-3-pro-image',
pricing: 'https://ai.google.dev/gemini-api/docs/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024', '2048x2048', '4096x4096', 'auto'],
aspectRatios: ['1:1', '3:4', '4:3', '9:16', '16:9'],
maxImagesPerRequest: 4,
outputFormats: ['png', 'jpeg'],
features: { generation: true, editing: true, variations: false, styleControl: true, qualityControl: true, transparency: false, promptRevision: false },
limits: { maxPromptLength: 65536 },
vendorOptions: { imageSize: { type: 'enum', description: 'Requested output image resolution', enum: ['1024px', '2048px', '4096px'], default: '1024px' } },
},
pricing: { perImageStandard: 0.134, perImageHD: 0.24, currency: 'USD' },
}| - | |'gemini-3.1-flash-image-preview'|{
name: 'gemini-3.1-flash-image-preview',
displayName: 'Nano Banana 2 (Gemini 3.1 Flash Image)',
provider: Vendor.Google,
description: 'High-efficiency native image generation and editing with 4K support and thinking capabilities',
isActive: false,
lifecycle: 'retired',
retirementDate: '2026-06-25',
replacementModel: 'gemini-3.1-flash-image',
releaseDate: '2026-02-01',
sources: {
documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-image-preview',
pricing: 'https://ai.google.dev/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['512x512', '1024x1024', '1536x1536', 'auto'],
aspectRatios: ['1:1', '1:4', '4:1', '1:8', '8:1'],
maxImagesPerRequest: 4,
outputFormats: ['png', 'jpeg'],
features: {
generation: true,
editing: true,
variations: false,
styleControl: false,
qualityControl: true, // Multiple resolution tiers: 0.5K, 1K, 2K, 4K
transparency: false,
promptRevision: false,
},
limits: { maxPromptLength: 131072 }, // 131K input tokens
vendorOptions: {
outputImageResolution: {
type: 'enum',
label: 'Resolution',
description: 'Output image resolution tier',
enum: ['0.5K', '1K', '2K', '4K'],
default: '1K',
controlType: 'select',
},
},
},
pricing: {
// Per-image, varies by resolution: $0.045 (512px), $0.067 (1K), $0.101 (2K), $0.151 (4K)
perImageStandard: 0.067, // 1K default
perImageHD: 0.151, // 4K
currency: 'USD',
},
}| - | |'gemini-3-pro-image-preview'|{
name: 'gemini-3-pro-image-preview',
displayName: 'Nano Banana Pro (Gemini 3 Pro Image)',
provider: Vendor.Google,
description: 'Professional design engine with reasoning for studio-quality 4K visuals, complex layouts, and precise text rendering',
isActive: false,
lifecycle: 'retired',
retirementDate: '2026-06-25',
replacementModel: 'gemini-3-pro-image',
releaseDate: '2025-11-01',
sources: {
documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-3-pro-image-preview',
pricing: 'https://ai.google.dev/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024', 'auto'],
aspectRatios: ['1:1', '3:4', '4:3', '9:16', '16:9'],
maxImagesPerRequest: 4,
outputFormats: ['png', 'jpeg'],
features: {
generation: true,
editing: true,
variations: false,
styleControl: true, // Reasoning-driven design
qualityControl: true, // 1K, 2K, 4K tiers
transparency: false,
promptRevision: false,
},
limits: { maxPromptLength: 65536 }, // 65K input tokens
vendorOptions: {
outputImageResolution: {
type: 'enum',
label: 'Resolution',
description: 'Output image resolution tier',
enum: ['1K', '2K', '4K'],
default: '1K',
controlType: 'select',
},
},
},
pricing: {
// $0.134 per 1K/2K image, $0.24 per 4K image
perImageStandard: 0.134, // 1K/2K
perImageHD: 0.24, // 4K
currency: 'USD',
},
}| - | |'gemini-2.5-flash-image'|{
name: 'gemini-2.5-flash-image',
displayName: 'Nano Banana (Gemini 2.5 Flash Image)',
provider: Vendor.Google,
description: 'Native image generation and editing designed for fast, creative workflows',
isActive: true,
lifecycle: 'deprecated',
retirementDate: '2026-10-02',
replacementModel: 'gemini-3.1-flash-image',
releaseDate: '2025-10-01',
sources: {
documentation: 'https://ai.google.dev/gemini-api/docs/models/gemini-2.5-flash-image',
pricing: 'https://ai.google.dev/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024', 'auto'],
aspectRatios: ['1:1', '3:4', '4:3', '9:16', '16:9'],
maxImagesPerRequest: 4,
outputFormats: ['png', 'jpeg'],
features: {
generation: true,
editing: true,
variations: false,
styleControl: false,
qualityControl: false,
transparency: false,
promptRevision: false,
},
limits: { maxPromptLength: 65536 }, // 65K input tokens
},
pricing: {
perImage: 0.039, // $0.039 per image
currency: 'USD',
},
}| - | |'grok-imagine-image-2.0'|{
name: 'grok-imagine-image-2.0',
displayName: 'Grok Imagine Image 2.0',
provider: Vendor.Grok,
description: 'Current xAI image generation and editing model with 1K/2K low and medium quality tiers',
isActive: true,
lifecycle: 'active',
availability: 'public',
preferred: true,
endpoints: ['image_generation', 'image_edit', 'batch'],
sources: {
documentation: 'https://docs.x.ai/developers/models/grok-imagine-image-2.0',
pricing: 'https://docs.x.ai/developers/pricing',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024', '2048x2048', 'auto'],
aspectRatios: ['1:1', '3:2', '2:3', '3:4', '4:3', '9:16', '16:9'],
maxImagesPerRequest: 10,
outputFormats: ['jpeg', 'png'],
features: { generation: true, editing: true, variations: false, styleControl: true, qualityControl: true, transparency: false, promptRevision: false },
limits: { maxPromptLength: 32_000, maxRequestsPerMinute: 360 },
vendorOptions: {
resolution: { type: 'enum', description: 'Requested output image resolution', enum: ['1K', '2K'], default: '1K' },
quality: { type: 'enum', description: 'Requested output quality', enum: ['low', 'medium'], default: 'low' },
storage_options: { type: 'object', description: 'Optional xAI Files persistence and public URL settings' },
},
},
pricing: {
inputPerImage: 0.01,
perImageStandard: 0.04,
perImageHD: 0.08,
perImageByResolution: { '1K-low': 0.04, '2K-low': 0.06, '1K-medium': 0.06, '2K-medium': 0.08 },
currency: 'USD',
},
}| - | |'grok-imagine-image-quality'|{
name: 'grok-imagine-image-quality',
displayName: 'Grok Imagine Image Quality',
provider: Vendor.Grok,
description: 'Deprecated higher-fidelity xAI image model; migrate to Grok Imagine Image 2.0 low quality before retirement',
isActive: true,
lifecycle: 'deprecated',
availability: 'public',
aliases: ['grok-imagine-image-quality-latest', 'grok-imagine-image-pro'],
snapshots: ['grok-imagine-image-quality-20260403'],
endpoints: ['image_generation', 'image_edit'],
releaseDate: '2026-04-03',
deprecationDate: '2026-09-02',
retirementDate: '2026-11-02',
replacementModel: 'grok-imagine-image-2.0',
sources: {
documentation: 'https://docs.x.ai/developers/models/grok-imagine-image-quality',
pricing: 'https://docs.x.ai/developers/models/grok-imagine-image-quality',
lastVerified: '2026-09-04',
},
capabilities: {
sizes: ['1024x1024', '2048x2048', 'auto'],
aspectRatios: ['1:1', '3:2', '2:3', '3:4', '4:3', '9:16', '16:9'],
maxImagesPerRequest: 4,
outputFormats: ['jpeg', 'png'],
features: { generation: true, editing: true, variations: false, styleControl: true, qualityControl: true, transparency: false, promptRevision: false },
limits: { maxPromptLength: 32000, maxRequestsPerMinute: 300 },
vendorOptions: {
resolution: { type: 'enum', description: 'Requested output image resolution', enum: ['1K', '2K'], default: '1K' },
storage_options: { type: 'object', description: 'Optional xAI Files persistence and public URL settings' },
},
},
pricing: {
inputPerImage: 0.01,
perImageStandard: 0.05,
perImageHD: 0.07,
perImageByResolution: { '1K': 0.05, '2K': 0.07 },
currency: 'USD',
},
}| - | |'grok-imagine-image'|{
name: 'grok-imagine-image',
displayName: 'Grok Imagine Image',
provider: Vendor.Grok,
description: 'xAI Grok Imagine image generation with aspect ratio control and editing support',
isActive: true,
releaseDate: '2025-01-01',
sources: {
documentation: 'https://docs.x.ai/docs/guides/image-generation',
pricing: 'https://docs.x.ai/docs/models',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024'],
aspectRatios: ['1:1', '4:3', '3:4', '16:9', '9:16', '3:2', '2:3', '2:1', '1:2'],
maxImagesPerRequest: 10,
outputFormats: ['png', 'jpeg'],
features: {
generation: true,
editing: true,
variations: false,
styleControl: false,
qualityControl: false, // quality not supported by xAI API
transparency: false,
promptRevision: true,
},
limits: { maxPromptLength: 4096 },
vendorOptions: {
n: {
type: 'number',
label: 'Number of Images',
description: 'Number of images to generate (1-10)',
min: 1,
max: 10,
default: 1,
controlType: 'slider',
},
response_format: {
type: 'enum',
label: 'Response Format',
description: 'Format of the returned image',
enum: ['url', 'b64_json'],
default: 'url',
controlType: 'radio',
},
},
},
pricing: {
perImage: 0.02,
currency: 'USD',
},
}| - | |'grok-2-image-1212'|{
name: 'grok-2-image-1212',
displayName: 'Grok 2 Image',
provider: Vendor.Grok,
description: 'xAI Grok 2 image generation (text-only input, no editing)',
isActive: false,
lifecycle: 'retired',
replacementModel: 'grok-imagine-image-quality',
releaseDate: '2024-12-12',
sources: {
documentation: 'https://docs.x.ai/docs/guides/image-generation',
pricing: 'https://docs.x.ai/docs/models',
lastVerified: '2026-08-30',
},
capabilities: {
sizes: ['1024x1024'],
aspectRatios: ['1:1', '4:3', '3:4', '16:9', '9:16', '3:2', '2:3'],
maxImagesPerRequest: 10,
outputFormats: ['png', 'jpeg'],
features: {
generation: true,
editing: false,
variations: false,
styleControl: false,
qualityControl: false, // quality not supported by xAI API
transparency: false,
promptRevision: false,
},
limits: { maxPromptLength: 4096 },
vendorOptions: {
n: {
type: 'number',
label: 'Number of Images',
description: 'Number of images to generate (1-10)',
min: 1,
max: 10,
default: 1,
controlType: 'slider',
},
response_format: {
type: 'enum',
label: 'Response Format',
description: 'Format of the returned image',
enum: ['url', 'b64_json'],
default: 'url',
controlType: 'radio',
},
},
},
pricing: {
perImage: 0.07,
currency: 'USD',
},
}` | - |