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

# Credits

> MCP reads and spends. REST buys. No plan required for packs.

Credits are the pay-per-job pool. Instant Post submit and screenshots typically cost 2 credits. Subscription tiers are separate and not required for MCP.

## MCP

Tool `credits` is read-only. Same numbers as `GET /api/v1/credits/balance`.

On too-low balance, `tools/call` returns `isError: true` and a 402 message. **No checkout URL.** Buy over REST, then retry.

Free on MCP: `credits`, `get_job`, Instant Post `poll` / `zip` / `list`.

Humans should pay in studio (**Account → Buy credits**, shipping). Agents must not Stripe from MCP. On 402, send the user to studio or this REST checkout, then retry.

## Buy a pack (REST)

One-time Stripe Checkout (`mode=payment`). Credits land after `checkout.session.completed`.

<Steps>
  <Step title="List packs">
    `GET /api/v1/billing/packs` with `X-API-Key`.
  </Step>

  <Step title="Start checkout">
    `POST /api/v1/credits/purchase`

    ```json theme={null}
    {
      "pack_id": "<uuid from packs>",
      "success_url": "https://docs.screencrafter.io/credits",
      "cancel_url": "https://docs.screencrafter.io/credits"
    }
    ```

    Optional: `email`. Prefer this path over `POST /api/v1/billing/purchase` (logged-in alias) or `POST /api/v1/billing/device/checkout` (anon device).
  </Step>

  <Step title="Pay">
    Open `checkout_url` in a browser. Stripe Checkout, one-time payment.
  </Step>

  <Step title="Confirm and retry">
    Webhook credits the account. `GET /api/v1/credits/balance` or MCP `credits`, then retry the tool.
  </Step>
</Steps>

REST 402 may include `top_up_url: "/api/v1/billing/purchase"`. That is the legacy alias. Unified purchase still works.

## Packs

| Pack    | Credits | Price |
| ------- | ------- | ----- |
| Starter | 100     | \$10  |
| Growth  | 500     | \$44  |
| Scale   | 2,000   | \$160 |
| Agency  | 10,000  | \$700 |

No plan/tier required. `POST /api/v1/billing/subscribe` is a different flow. Do not send MCP users there to run Instant Post.

## Auth

Same `sc_live_*` keys as MCP. Also `sc_session` / `sc_anon` on REST. MCP itself rejects anon.
