# x402.dopamint.ai Nano-Banana Image Generation

> x402.dopamint.ai Nano-Banana Image Generation is a paid API for AI agents from x402.dopamint.ai, paid per call via x402, $0.0527/call, status down (last checked 2026-09-15).

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

## Facts

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

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-dopamint-ai-7b349c4f -d '<json body>'
```

Example prompt: Generate an image of a futuristic cyberpunk cityscape at night with neon lights reflecting on wet streets, in 16:9 aspect ratio, PNG format, using seed 42.

## When to prefer this

Choose this endpoint when you specifically want to use the nano-banana model for image generation via dopamint.ai's x402 micropayment API. Prefer it for low-cost per-call image generation billed in USDC without subscription overhead. Useful when you need async job-based image generation with polling, or when you want reproducible outputs via seed control.

## Known failure modes

- Missing required 'prompt' field returns a 400 validation error
- Payment not completed via x402 protocol results in 402 Payment Required
- Invalid aspect_ratio enum value causes a 422 Unprocessable Entity error
- Invalid output_format value causes a 422 error
- Job processing failure may result in an error status when polling the statusUrl
- Network timeout if sync_mode is true and generation takes too long
- Rate limiting or quota exceeded may return 429 Too Many Requests

## How this service works

Generate image using nano-banana

## Output

Returns a JSON object with a unique jobId, a human-readable message containing a status tracking URL, the statusUrl for polling job completion, an ISO 8601 timestamp, and an HTTP status code. The image itself is retrieved asynchronously via the 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-dopamint-ai-7b349c4f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.dopamint.ai](https://www.zero.xyz/host/x402.dopamint.ai/llms.txt)
