# Dopamint AI Image Generation (nano-banana)

> Dopamint AI Image Generation (nano-banana) is a paid API for AI agents from x402-dev.dopamint.ai, paid per call via x402, $0.0527/call, status down (last checked 2026-09-14).

Generates images from text prompts using the nano-banana model, returning a job ID and status URL for async retrieval

## Facts

- Endpoint: POST https://x402-dev.dopamint.ai/api/ai/generations/images/nano-banana
- Price: $0.0527/call
- Payment: x402
- Status: down
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-dev-dopamint-ai-60e56e30
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_zzcSJCxoVG91KaV-nihwI

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability x402-dev-dopamint-ai-60e56e30 -d '<json body>'
```

Example prompt: Generate an image of a futuristic city at sunset with flying cars, in 16:9 aspect ratio, output as PNG, using seed 42 so I can reproduce it later.

## When to prefer this

Choose this endpoint when you need fast, cost-effective image generation using the nano-banana model specifically, and you are comfortable with an async job-polling pattern. Prefer nano-banana-pro or stable-diffusion-v35-large siblings if you need higher quality or different stylistic output. This is a good fit for lightweight creative tasks or when cost per generation matters ($0.0527 USDC).

## Known failure modes

- Missing required 'prompt' field returns a validation error
- Invalid aspect_ratio value (not in allowed enum) returns a bad request error
- Model unavailability or overload may delay or fail job creation
- Payment not completed or insufficient USDC balance returns a payment-required error
- Invalid output_format value returns a bad request
- Requesting more images than allowed may be silently capped when limit_generations is true

## How this service works

Generate image using nano-banana

## Output

Returns a job ID, a status tracking URL, a human-readable message with the URL, an ISO 8601 timestamp, and an HTTP status code. The image itself must be fetched asynchronously via the returned statusUrl once the job completes.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "prompt"
 ],
 "properties": {
  "seed": {
   "type": "integer",
   "description": "The same seed and the same prompt given to the same version of the model will output the same image every time.\n        "
  },
  "prompt": {
   "type": "string",
   "description": "The text prompt to generate an image from."
  },
  "sync_mode": {
   "type": "boolean",
   "description": "If set to true, the function will wait for the image to be generated and uploaded before returning the response. This will increase the latency of the function but it allows you to get the image directly in the response without going through the CDN.\n        "
  },
  "num_images": {
   "type": "integer",
   "description": "The number of images to generate."
  },
  "aspect_ratio": {
   "type": "\"21:9\" | \"16:9\" | \"3:2\" | \"4:3\" | \"5:4\" | \"1:1\" | \"4:5\" | \"3:4\" | \"2:3\" | \"9:16\"",
   "description": "The aspect ratio of the generated image."
  },
  "output_format": {
   "type": "\"jpeg\" | \"png\" | \"webp\"",
   "description": "The format of the generated image."
  },
  "limit_generations": {
   "type": "boolean",
   "description": "Experimental parameter to limit the number of generations from each round of prompting to 1. Set to `True` to to disregard any instructions in the prompt regarding the number of images to generate."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "jobId": {
  "type": "string",
  "description": "Unique job identifier"
 },
 "message": {
  "type": "string",
  "description": "Human-readable message with status tracking URL"
 },
 "statusUrl": {
  "type": "string",
  "description": "URL to check job status"
 },
 "timestamp": {
  "type": "string",
  "description": "ISO 8601 timestamp of the response"
 },
 "statusCode": {
  "type": "integer",
  "description": "HTTP status code"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-dev-dopamint-ai-60e56e30/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-dev.dopamint.ai](https://www.zero.xyz/host/x402-dev.dopamint.ai/llms.txt)
