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

# Credits

> Understand how credits are consumed by each node type in your pipelines.

Each pipeline run consumes credits based on the nodes in your pipeline and the documents processed. This page lists the credit cost for every node type.

## Triggers

Triggers accept documents into the pipeline. Upload, Email, and Webhook triggers each charge **1 credit per page** ingested. The internal Forward trigger remains free.

| Node                                      | Cost per page |
| ----------------------------------------- | ------------- |
| [Upload trigger](/nodes/upload-trigger)   | 1 credit      |
| [Email trigger](/nodes/email-trigger)     | 1 credit      |
| [Webhook trigger](/nodes/webhook-trigger) | 1 credit      |

<Note>Email triggers create a separate pipeline run per attachment, so a single email with two 2-page attachments charges `2 attachments × 2 pages × 1 credit = 4 trigger credits`. A single 5-page upload charges `5 × 1 = 5 trigger credits`.</Note>

## Actions

Actions process documents and data within the pipeline.

### Parse

| Engine       | Cost per page       |
| ------------ | ------------------- |
| Standard     | 1 credit            |
| Vision       | 2 credits           |
| KeyValuePair | 1 credit + LLM cost |

<Warning>Chaining parse and extract on the same document runs OCR twice and bills both. Skip the parse node when extract is the next step; extract already handles OCR internally. Only chain them when you need the parsed text for a separate purpose (routing, archiving, multiple schemas off one OCR pass). See [parse best practices](/nodes/parse-best-practices).</Warning>

### Extract

| Engine   | Precision      | Cost per page |
| -------- | -------------- | ------------- |
| Engine 1 | Small          | 1 credit      |
| Engine 1 | Medium         | 2 credits     |
| Engine 1 | High           | 6 credits     |
| Engine 2 | Not applicable | 2 credits     |

<Note>Engine 2 has no precision setting; it's a single-tier engine. Enabling **Force OCR** on Engine 1 adds **1 credit per page** on top of the precision cost.</Note>

### Classify

| Mode  | Cost per page |
| ----- | ------------- |
| Rules | 0.5 credits   |
| AI    | 0.2 credits   |

### Filter

| Configuration                        | Cost per page |
| ------------------------------------ | ------------- |
| Keep / Drop with a page-range filter | 0 credits     |
| Keep / Drop with a keyword filter    | 0.5 credits   |

### Split

| Configuration                 | Cost per page |
| ----------------------------- | ------------- |
| Every X pages                 | 0 credits     |
| Keyword on first or last page | 0.5 credits   |
| Auto boundary                 | 0.5 credits   |

<Note>The 0.5-credit tier kicks in only when the node has to read text content to make its decision (keyword matching, or auto boundary detection). Rules that test only on page numbers stay free.</Note>

### Validation

| Mode        | Cost                     |
| ----------- | ------------------------ |
| Rules       | 0 credits                |
| Schema      | 0 credits                |
| Endpoint    | 0 credits                |
| Script      | 0 credits                |
| AI (Small)  | LLM pricing: Small tier  |
| AI (Medium) | LLM pricing: Medium tier |
| AI (High)   | LLM pricing: High tier   |

### Other actions

| Node                              | Cost      |
| --------------------------------- | --------- |
| [Review](/nodes/review)           | 0 credits |
| [Transform](/nodes/transform)     | 0 credits |
| [Merge](/nodes/merge)             | 0 credits |
| [HTTP action](/nodes/http-action) | 0 credits |
| [Variable](/nodes/variable)       | 0 credits |
| [Loop](/nodes/loop)               | 0 credits |
| [Store](/nodes/store)             | 0 credits |

## Outputs

Output nodes deliver results. All outputs are free.

| Node                                | Cost      |
| ----------------------------------- | --------- |
| [Callback](/nodes/callback)         | 0 credits |
| [Email output](/nodes/email-output) | 0 credits |

## Schema inference

Using the **Generate** button inside an [extract node](/nodes/extract) to infer a schema from a sample document also consumes credits. The charge is applied per page processed during generation.

## Classification generation

Generating classifications on a [forward trigger](/nodes/forward-trigger) costs **0.2 credits per page** for each reference document you select.

## Worked examples

These examples show how to add up credits for realistic pipelines. Numbers assume single-page documents unless noted; multiply by the page count for longer documents.

### Minimal extraction pipeline

A typical "submit a document, get structured data back" flow:

```
Webhook trigger → Extract (Engine 1, Medium) → Callback
```

| Step                       | Cost per page          |
| -------------------------- | ---------------------- |
| Webhook trigger            | 1 credit               |
| Extract (Engine 1, Medium) | 2 credits              |
| Callback                   | 0 credits              |
| **Total**                  | **3 credits per page** |

A 5-page invoice runs in this pipeline for 15 credits.

### Branching pipeline with classify, review, and validation

A pipeline that classifies documents, extracts on a focused schema, validates the result, and pauses uncertain runs for human review:

```
Webhook trigger
  → Classify (AI)
      ├─ Invoices → Extract (Engine 1, Medium) → Validation (Rules) → Review (Unverified Fields) → Callback
      └─ Other     → Callback
```

For an invoice (matches the first branch):

| Step                       | Cost per page            |
| -------------------------- | ------------------------ |
| Webhook trigger            | 1 credit                 |
| Classify (AI)              | 0.2 credits              |
| Extract (Engine 1, Medium) | 2 credits                |
| Validation (Rules)         | 0 credits                |
| Review (Unverified Fields) | 0 credits                |
| Callback                   | 0 credits                |
| **Total**                  | **3.2 credits per page** |

For a non-invoice (matches the `other` branch):

| Step            | Cost per page            |
| --------------- | ------------------------ |
| Webhook trigger | 1 credit                 |
| Classify (AI)   | 0.2 credits              |
| Callback        | 0 credits                |
| **Total**       | **1.2 credits per page** |

The `other` branch never executes extract, so non-invoices cost a fraction of the matched ones.

<Note>Ingestly reserves credits upfront at run start based on the most expensive branch your pipeline could take, so the actual deduction matches the worst-case path even if a cheaper branch ends up running. Reference-document embeddings are billed separately when you upload references via a [forward trigger](/nodes/forward-trigger), not on each run.</Note>

<Tip>To estimate a monthly bill, multiply the per-page total for each branch by the average pages per document and the volume you expect to see in that branch.</Tip>

## Credit allocation

Credits are allocated monthly with your subscription plan. New organizations start with **150 welcome credits** so you can build and test a pipeline before subscribing. See [subscription](/admin/subscription) for plan details and credit balances.

## Per-pipeline usage

Each pipeline page shows a **daily credits** chart for the last 7 days, so you can spot which pipelines are consuming the most credits and which days had spikes. Per-step credit usage is recorded on every run, so the run detail page also breaks down the cost by node.

## Related

<CardGroup cols={2}>
  <Card title="Subscription" icon="credit-card" href="/admin/subscription">
    Plan tiers, monthly credit allotments, and balance
  </Card>

  <Card title="Alert rules" icon="bell" href="/admin/alert-rules">
    Get notified when your credit balance drops below a threshold
  </Card>

  <Card title="Parse best practices" icon="file-lines" href="/nodes/parse-best-practices">
    Avoid double-OCR and pick the cheapest engine that works
  </Card>

  <Card title="Extract best practices" icon="sparkles" href="/nodes/extract-best-practices">
    Match engine and precision to your documents
  </Card>
</CardGroup>
