Image Generation
Generate images through CoreValue's AI Gateway using models with native image output like Nano Banana Pro
CoreValue's AI Gateway supports image generation through models with native image output capabilities. Use the unified OpenAI-compatible API to generate images - the Gateway handles provider-specific translations automatically.
Image generation is currently supported for Nano Banana Pro (gemini-3-pro-image-preview) via Google AI Studio. Support for additional providers will be added in future updates.
Quick Start
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.COVA_API_KEY,
baseURL: "https://gateway.corevalue.dev/v1",
});
const response = await client.chat.completions.create({
model: "google/gemini-3-pro-image-preview",
messages: [
{ role: "user", content: "Generate an image of a sunset over mountains" }
],
max_tokens: 8192
});
// Access generated images
const images = response.choices[0].message.images;import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.COVA_API_KEY,
baseURL: "https://gateway.corevalue.dev/v1",
});
const response = await client.responses.create({
model: "google/gemini-3-pro-image-preview",
input: "Generate an image of a sunset over mountains",
max_output_tokens: 8192
});
// Access generated images from output
const messageOutput = response.output.find(item => item.type === "message");
const imageContent = messageOutput?.content.find(c => c.type === "output_image");Configuration
To enable image generation:
- Set the
modelto one that supports image output (currentlygoogle/gemini-3-pro-image-preview, also known as Nano Banana Pro) - Optionally configure
image_generationto control aspect ratio and size
{
model: "google/gemini-3-pro-image-preview",
messages: [...],
image_generation: {
aspect_ratio: "16:9",
image_size: "2K"
}
}{
model: "google/gemini-3-pro-image-preview",
input: "...",
image_generation: {
aspect_ratio: "16:9",
image_size: "2K"
}
}image_generation
| Parameter | Type | Description |
|---|---|---|
aspect_ratio | string | Image aspect ratio (e.g., "16:9", "1:1", "9:16") |
image_size | string | Image resolution (e.g., "2K", "1K") |
The image_generation field is optional. If omitted, the model uses default settings. However, if you specify image_generation, both aspect_ratio and image_size are required.
Handling Responses
Chat Completions
When streaming, images arrive in chunks via the images delta field:
// Image chunks arrive in delta
{
"choices": [{
"delta": {
"images": [{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgo..."
}
}]
}
}]
}Non-streaming responses include images in the message:
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"model": "gemini-3-pro-image-preview",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "Here's the image you requested:",
"images": [{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}
}]
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 12,
"completion_tokens": 1024,
"total_tokens": 1036
}
}Responses API
Streaming events follow the Responses API format:
// Content part added for image
{
"type": "response.content_part.added",
"item_id": "msg_abc123",
"output_index": 0,
"content_index": 0,
"part": {
"type": "output_image",
"image_url": ""
}
}
// Content part done with full image
{
"type": "response.content_part.done",
"item_id": "msg_abc123",
"output_index": 0,
"content_index": 0,
"part": {
"type": "output_image",
"image_url": "data:image/png;base64,iVBORw0KGgo..."
}
}{
"id": "resp_abc123",
"object": "response",
"status": "completed",
"model": "gemini-3-pro-image-preview",
"output": [
{
"id": "msg_abc123",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Here's the image you requested:"
},
{
"type": "output_image",
"image_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}
]
}
],
"usage": {
"input_tokens": 12,
"output_tokens": 1024
}
}Supported Models
| Model | Provider Route | Description |
|---|---|---|
google/gemini-3-pro-image-preview | Google AI Studio | Nano Banana Pro - Google's multimodal model with native image generation |
Related
- Reasoning - Enable reasoning for complex tasks
- Responses API - Alternative API format with image support