> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ninjachat.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Billing & Limits

> Flat prices, hard budgets, automatic refunds.

MCP spend comes out of your **Developer Balance** — shared with the REST API, separate from consumer subscription credits. Top up at [Developers → Billing](https://www.ninjachat.ai/developers/billing).

<Note>
  Browsing is free — connect and ask questions without a balance. Your first paid action can unlock **\$0.50 starter balance** with a quick phone verify, and NinjaChat subscribers get **\$1.00 of MCP allowance every month**.
</Note>

## Prices

<Columns cols={2}>
  | Image model            | Price  |
  | ---------------------- | ------ |
  | `z-image-turbo`        | \$0.02 |
  | `nano-banana`          | \$0.03 |
  | `grok-imagine`         | \$0.04 |
  | `nano-banana-2`        | \$0.05 |
  | `qwen-image-edit-plus` | \$0.05 |
  | `seedream`             | \$0.08 |
  | `recraft-v3`           | \$0.08 |
  | `nano-banana-pro`      | \$0.08 |
  | `flux-2-pro`           | \$0.08 |
  | `gpt-image-2`          | \$0.13 |

  | Video model         | Price                            |
  | ------------------- | -------------------------------- |
  | `seedance-lite`     | $1.00 (up to 8s) + $0.08/s after |
  | `seedance-pro`      | $1.50 (up to 5s) + $0.25/s after |
  | `veo-3.1-fast`      | \$3.00                           |
  | `seedance-2`        | \$3.00                           |
  | `kling-video`       | \$3.00                           |
  | `google-veo-3-fast` | \$3.00                           |
  | `google-veo-2`      | \$3.00                           |
  | `veo-3.1`           | \$5.00                           |
</Columns>

Flat and known up front — `estimate_cost` is free and returns the exact price before anything runs.

Most video models are one flat price no matter the duration. `seedance-lite` and `seedance-pro` are duration-aware instead: the listed price covers generations up to the included duration, and each additional started second bills at the per-second rate shown. Pass `duration` to `estimate_cost` to get the exact price for a specific length before running.

## Money is safe by design

<CardGroup cols={2}>
  <Card title="Hard budgets" icon="hand">
    `max_spend_cents` on any call, `total_budget_cents` on bakeoffs — tools error instead of exceeding them.
  </Card>

  <Card title="Automatic refunds" icon="rotate-left">
    A video job that fails after being charged refunds itself. You never pay for output you didn't get.
  </Card>

  <Card title="Safe retries" icon="repeat">
    Pass an `idempotency_key` — the same key + body never double-bills.
  </Card>

  <Card title="Monthly limit" icon="gauge">
    Set a cap in [Developers → Billing](https://www.ninjachat.ai/developers/billing). It's reserved *before* deduction — an over-limit call never touches your balance.
  </Card>
</CardGroup>

## Rate limits

Per account, per minute:

| Tool class                                     | Limit |
| ---------------------------------------------- | ----- |
| Read (search, estimates, status, balance)      | 60    |
| Image generation                               | 10    |
| Uploads                                        | 10    |
| Video generation                               | 3     |
| Model comparisons                              | 2     |
| Scroll-cinema encoding (`prepare_scrub_video`) | 3     |
| Page publishing (`publish_page`)               | 6     |

Limited calls return `rate_limited` with `retryAfterSeconds` — agents wait and retry.

## OAuth connections

claude.ai and ChatGPT spend land on the same balance under the same limit. Review or disconnect agents anytime in [Developers → Connections](https://www.ninjachat.ai/developers/connections).
