# AI Image Generator | Nano Banana Pro | 4K (`apivault_labs/ai-image-generator`) Actor

Generate 4K AI images from text prompts using Nano Banana Pro. Text-to-image or image-to-image with a reference photo. Multiple aspect ratios. No API key needed. Bulk generation up to 50 per run.

- **URL**: https://apify.com/apivault\_labs/ai-image-generator.md
- **Developed by:** [Apivault Labs](https://apify.com/apivault_labs) (community)
- **Categories:** AI
- **Stats:** 5 total users, 1 monthly users, 54.5% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $12.00 / 1,000 image generateds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## AI Image Generator — Nano Banana Pro | 4K

![Generated example](https://api.apify.com/v2/key-value-stores/UHwamuiKMNZo1cGl0/records/img-c02b5ca63336.png)

Generate photorealistic 4K AI images from text prompts using Nano Banana Pro. Describe what you want in plain English — pick a style, set an aspect ratio, and get stunning results in seconds. No API key, no credits, no setup.

> **No API key needed** · 4K resolution · 8 style presets · Negative prompts · Seed for reproducibility · Multiple variants · Image-to-image · Permanent storage · Bulk up to 50 images

---

### Features

- 🎨 **Nano Banana Pro** — fast, photorealistic AI image generation at 4K
- 🎭 **8 style presets** — Photorealistic, Anime, Oil Painting, 3D Render, Watercolor, Cinematic, Flat Illustration, Pixel Art. One click, no prompt engineering.
- 🚫 **Negative prompts** — tell the AI what to avoid (blurry, watermark, extra fingers, etc.)
- 🎲 **Seed control** — fix the seed for reproducible results; increment for controlled variations
- 🔢 **Multiple variants** — generate 1–4 versions of each prompt to pick the best one
- 🖼️ **Image-to-image** — provide a reference photo and re-style it with your prompt
- 💾 **Permanent storage** — optionally save images to Apify's KV store (never expires)
- 📐 **7 aspect ratios** — Portrait, Landscape, Square, 4:3, 3:4, 3:2, 2:3
- 📦 **Bulk generation** — up to 50 images per run with parallel processing
- 💰 **No API key** — runs immediately, no accounts or tokens to set up

---

### Use cases

| Use case | Example |
|----------|---------|
| **Product mockups** | "Skincare bottle on marble, studio lighting" + style: Photorealistic |
| **Social media content** | "Flat lay workspace, coffee and plants" + ratio: 1:1 |
| **YouTube thumbnails** | "Epic space battle with explosions" + ratio: 16:9 + style: Cinematic |
| **Marketing banners** | "Abstract gradient with floating shapes" + ratio: 16:9 |
| **Game assets** | "Medieval sword with glowing runes" + style: 3D Render |
| **Anime characters** | "Warrior girl with katana, cherry blossoms" + style: Anime |
| **Art prints** | "Countryside landscape at golden hour" + style: Oil Painting |
| **App icons** | "Minimalist brain logo, neon glow" + ratio: 1:1 |
| **A/B testing** | Same prompt × 4 variants → pick the winner |
| **Consistent series** | Fix the seed → same style across a set of images |

---

### Input

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `prompts` | string[] | — | **Required.** Text descriptions of the images you want. |
| `negativePrompt` | string | — | What to avoid: "blurry, watermark, text, low quality" |
| `style` | select | none | Style preset to auto-apply to all prompts |
| `aspectRatio` | select | 9:16 | Output shape |
| `numImages` | integer | 1 | Variants per prompt (1–4) |
| `seed` | integer | -1 | Random seed for reproducibility (-1 = random) |
| `referenceImageUrl` | string | — | Reference photo URL for image-to-image |
| `saveToStore` | boolean | false | Save images permanently in Apify KV store |
| `maxConcurrency` | integer | 3 | Parallel generations (1–5) |

---

### Style presets

| Style | What it adds |
|-------|--------------|
| **Photorealistic** | Ultra detailed natural lighting, 8K photograph look |
| **Anime** | Cel shading, vibrant colors, Japanese illustration style |
| **Oil Painting** | Visible brushstrokes, rich textures, classical art feel |
| **3D Render** | Octane render, volumetric lighting, CGI quality |
| **Watercolor** | Soft washes, wet-on-wet technique, paper texture |
| **Cinematic** | Film grain, anamorphic lens, dramatic lighting |
| **Flat Illustration** | Clean vectors, minimal shading, modern design |
| **Pixel Art** | Retro gaming, limited palette, 16-bit aesthetic |

---

### Examples

**Simple text-to-image**
```json
{
    "prompts": ["A cozy cabin in the mountains during snowfall, warm light from windows"],
    "style": "cinematic"
}
````

**Multiple variants for A/B testing**

```json
{
    "prompts": ["Professional headshot, confident woman, blurred office background"],
    "style": "photorealistic",
    "numImages": 4,
    "aspectRatio": "1:1"
}
```

**Reproducible results with seed**

```json
{
    "prompts": ["Cyberpunk samurai in neon-lit Tokyo alley"],
    "seed": 42,
    "style": "cinematic",
    "aspectRatio": "9:16"
}
```

**Negative prompt to avoid common issues**

```json
{
    "prompts": ["Beautiful portrait of a young woman in a garden"],
    "negativePrompt": "blurry, watermark, text, extra fingers, distorted face, low quality",
    "style": "photorealistic"
}
```

**Image-to-image (style transfer)**

```json
{
    "prompts": ["Same scene reimagined as a Studio Ghibli animation"],
    "referenceImageUrl": "https://example.com/my-photo.jpg",
    "style": "anime"
}
```

**Permanent storage**

```json
{
    "prompts": ["Logo design: abstract phoenix in gold and black, minimalist"],
    "aspectRatio": "1:1",
    "saveToStore": true
}
```

***

### Output

```json
{
    "success": true,
    "prompt": "A cozy cabin in the mountains during snowfall..., cinematic still, anamorphic lens, dramatic lighting, film grain, color grading",
    "negativePrompt": "blurry, watermark",
    "aspectRatio": "9:16",
    "imageUrl": "https://api.apify.com/v2/key-value-stores/.../records/img-abc123.png",
    "referenceUrl": null,
    "seed": 42,
    "variant": 1
}
```

| Field | Description |
|-------|-------------|
| `imageUrl` | Permanent download link to your generated image (Apify-hosted, never expires) |
| `seed` | The seed used (for reproduction) |
| `variant` | Which variant this is (1, 2, 3, or 4) |

***

### Prompt writing tips

1. **Be specific** — "Golden retriever puppy running through autumn leaves, backlit by sunset" > "dog"
2. **Use a style preset** — saves you from typing style keywords in every prompt
3. **Add the negative prompt** — "blurry, watermark, text, extra fingers, low quality" prevents common AI artifacts
4. **Describe lighting** — "golden hour", "neon glow", "soft diffused light", "dramatic shadows"
5. **Set the mood** — "cozy", "epic", "minimalist", "dark", "vibrant"
6. **Fix the seed** — run the same prompt twice with the same seed to get the exact same result; increment by 1 for controlled variations

***

### How it works

1. Your prompt (+ style suffix + negative prompt) is sent to Nano Banana Pro
2. The model generates a 4K image (typically 30–90 seconds)
3. The result URL is returned — download it or use it directly
4. If `saveToStore` is on, the image is also saved permanently on Apify
5. For bulk runs, images are generated in parallel

No queue, no waitlist, no credits. Each run processes your prompts and delivers results.

***

### Pricing

| Volume | Price |
|--------|-------|
| Per image | **$0.018** |
| 100 images | **$1.80** |
| 1,000 images | **$18** |

The cheapest AI image generation on Apify. You only pay for successfully generated images — failed generations are free. Platform compute is included.

***

### FAQ

**How long does one image take?**
30–90 seconds depending on complexity. The actor polls automatically.

**Can I get the same image twice?**
Yes — set a fixed `seed`. Same prompt + same seed = same output.

**What if I need higher resolution?**
The output is already 4K. For even higher, chain this with an upscaler actor.

**Do style presets override my prompt?**
No — they append style keywords to your prompt. Your description stays intact.

**What happens if generation fails?**
The record is saved with `"success": false` and an error. You're not charged for fails.

**Will my images expire?**
No — all images are hosted on a permanent Apify URL that never expires. Download them anytime.

***

### Integration ideas

- **Content pipelines** — auto-generate blog hero images
- **A/B creative testing** — 4 variants per ad concept, pick the winner
- **Social scheduling** — bulk-generate a week of visual content
- **E-commerce** — lifestyle product shots without a photographer
- **Zapier / Make / n8n** — trigger generation from a workflow
- **Consistent branding** — fix seed + style for a unified visual series

# Actor input Schema

## `prompts` (type: `array`):

Text prompts for image generation. Each prompt produces one or more images (see 'Variants per prompt'). Max 10 images total per run.

## `negativePrompt` (type: `string`):

Things you do NOT want in the image. Examples: 'blurry, watermark, text, extra fingers, low quality, distorted'.

## `style` (type: `string`):

Auto-applies a style to all prompts. Saves you from typing style keywords every time.

## `resolution` (type: `string`):

Output image resolution. 2K is fast and cheap, 4K is maximum quality.

## `aspectRatio` (type: `string`):

Output image shape.

## `numImages` (type: `string`):

How many images to generate for each prompt. Useful for A/B testing or picking the best one from a batch.

## `seed` (type: `integer`):

Fix the random seed to get reproducible results. Same prompt + same seed = same image. Leave at -1 for random. When generating multiple variants, the seed auto-increments (+1 per variant).

## `referenceImageUrl` (type: `string`):

URL of a reference photo for image-to-image generation. The AI uses it as a visual guide while following your text prompt. Leave empty for pure text-to-image.

## `saveToStore` (type: `boolean`):

Download each generated image and host it on a permanent Apify URL that never expires. On by default — your images are always accessible and the delivery link is yours.

## `compress` (type: `boolean`):

Re-encode the saved image as WebP to shrink file size ~10x with near-identical quality (a 4K PNG of ~20 MB becomes ~1.5 MB). The delivery URL ends in .webp. Leave off to keep the original lossless PNG. Only applies when 'Save images permanently' is on.

## `maxConcurrency` (type: `integer`):

How many images to generate in parallel. 3 is the sweet spot for speed vs reliability.

## Actor input object example

```json
{
  "prompts": [
    "A futuristic city at sunset, cyberpunk style, 4K detailed"
  ],
  "style": "none",
  "resolution": "4K",
  "aspectRatio": "9:16",
  "numImages": "1",
  "seed": -1,
  "saveToStore": true,
  "compress": false,
  "maxConcurrency": 3
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "prompts": [
        "A futuristic city at sunset, cyberpunk style, 4K detailed"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("apivault_labs/ai-image-generator").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "prompts": ["A futuristic city at sunset, cyberpunk style, 4K detailed"] }

# Run the Actor and wait for it to finish
run = client.actor("apivault_labs/ai-image-generator").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "prompts": [
    "A futuristic city at sunset, cyberpunk style, 4K detailed"
  ]
}' |
apify call apivault_labs/ai-image-generator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=apivault_labs/ai-image-generator",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "AI Image Generator | Nano Banana Pro | 4K",
        "description": "Generate 4K AI images from text prompts using Nano Banana Pro. Text-to-image or image-to-image with a reference photo. Multiple aspect ratios. No API key needed. Bulk generation up to 50 per run.",
        "version": "2.0",
        "x-build-id": "MRZQ55cA9j3Qo7Ofy"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/apivault_labs~ai-image-generator/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-apivault_labs-ai-image-generator",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/apivault_labs~ai-image-generator/runs": {
            "post": {
                "operationId": "runs-sync-apivault_labs-ai-image-generator",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/apivault_labs~ai-image-generator/run-sync": {
            "post": {
                "operationId": "run-sync-apivault_labs-ai-image-generator",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "prompts"
                ],
                "properties": {
                    "prompts": {
                        "title": "Prompts",
                        "type": "array",
                        "description": "Text prompts for image generation. Each prompt produces one or more images (see 'Variants per prompt'). Max 10 images total per run.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "negativePrompt": {
                        "title": "Negative prompt (what to avoid)",
                        "type": "string",
                        "description": "Things you do NOT want in the image. Examples: 'blurry, watermark, text, extra fingers, low quality, distorted'."
                    },
                    "style": {
                        "title": "Style preset",
                        "enum": [
                            "none",
                            "photorealistic",
                            "anime",
                            "oil-painting",
                            "3d-render",
                            "watercolor",
                            "cinematic",
                            "flat-illustration",
                            "pixel-art"
                        ],
                        "type": "string",
                        "description": "Auto-applies a style to all prompts. Saves you from typing style keywords every time.",
                        "default": "none"
                    },
                    "resolution": {
                        "title": "Resolution",
                        "enum": [
                            "1K",
                            "2K",
                            "4K"
                        ],
                        "type": "string",
                        "description": "Output image resolution. 2K is fast and cheap, 4K is maximum quality.",
                        "default": "4K"
                    },
                    "aspectRatio": {
                        "title": "Aspect Ratio",
                        "enum": [
                            "9:16",
                            "16:9",
                            "1:1",
                            "4:3",
                            "3:4",
                            "3:2",
                            "2:3"
                        ],
                        "type": "string",
                        "description": "Output image shape.",
                        "default": "9:16"
                    },
                    "numImages": {
                        "title": "Number of images per prompt",
                        "enum": [
                            "1",
                            "2",
                            "4",
                            "8"
                        ],
                        "type": "string",
                        "description": "How many images to generate for each prompt. Useful for A/B testing or picking the best one from a batch.",
                        "default": "1"
                    },
                    "seed": {
                        "title": "Seed (optional, for reproducibility)",
                        "type": "integer",
                        "description": "Fix the random seed to get reproducible results. Same prompt + same seed = same image. Leave at -1 for random. When generating multiple variants, the seed auto-increments (+1 per variant).",
                        "default": -1
                    },
                    "referenceImageUrl": {
                        "title": "Reference image URL (image-to-image)",
                        "type": "string",
                        "description": "URL of a reference photo for image-to-image generation. The AI uses it as a visual guide while following your text prompt. Leave empty for pure text-to-image."
                    },
                    "saveToStore": {
                        "title": "Save images permanently (Apify hosted URL)",
                        "type": "boolean",
                        "description": "Download each generated image and host it on a permanent Apify URL that never expires. On by default — your images are always accessible and the delivery link is yours.",
                        "default": true
                    },
                    "compress": {
                        "title": "Compress image (WebP)",
                        "type": "boolean",
                        "description": "Re-encode the saved image as WebP to shrink file size ~10x with near-identical quality (a 4K PNG of ~20 MB becomes ~1.5 MB). The delivery URL ends in .webp. Leave off to keep the original lossless PNG. Only applies when 'Save images permanently' is on.",
                        "default": false
                    },
                    "maxConcurrency": {
                        "title": "Max parallel generations",
                        "minimum": 1,
                        "maximum": 5,
                        "type": "integer",
                        "description": "How many images to generate in parallel. 3 is the sweet spot for speed vs reliability.",
                        "default": 3
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
