
# Credits & Pricing

LDX hub uses a **credit-based billing system**. Credits are consumed each time you process data
through the API. The number of credits consumed depends on the service, model or product you
choose, and the volume of data processed.

---

## How Credits Work

One credit costs **$0.0001**.

Credit consumption varies by service type:

**StructFlow / RefineLoop** — billed per character:

```
credits = (input_characters × input_rate
         + output_characters × output_rate
         + vector_bytes × vector_bytes_rate) / 1000
```

**RenderOCR / CastDoc** — billed per page:

```
credits = input_pages × rate
```

**AnalyzeDoc** — billed per page, plus generated output characters. PDF inputs additionally incur
input character charges:

```
credits = input_pages × page_rate
        + output_characters × output_rate / 1000
        + input_characters × input_rate / 1000
```

- `page_rate` depends on the model and its resolution variant (`@high` / `@medium` / `@low`) and is
  applied directly per page.
- Image inputs (JPEG, PNG) count as 1 page and carry no input characters — only the page and output
  terms apply.
- PDF inputs are billed per page plus the extracted input characters. For Google Gemini and Amazon
  Nova models the input character rate is **0** (these models normalize text into the page budget),
  so PDF is effectively billed per page only.

For example, using **Google Gemini 3.6 Flash** (`google/gemini-3.6-flash`) with 10,000 input
characters and 10,000 output characters:

```
credits = (10,000 × 45 + 10,000 × 225) / 1000
        = 2,700
```

So 10,000 input characters and 10,000 output characters consumes **2,700 credits**.

> **Note for RefineLoop**: Actual credit consumption is significantly higher than the formula
> above suggests. RefineLoop processes each segment multiple times (up to 6 iterations by default),
> and each iteration includes both source and target text. As a result, the actual
> `input_characters` charged can be several times the length of the original XLIFF content.

---

## Model & Product Rates

### StructFlow

| Model | Input Rate | Output Rate | Vector Bytes Rate |
|---|---|---|---|
| `openai/gpt-5.6-sol` | 150 | 900 | 3 |
| `openai/gpt-5.6-terra` | 75 | 450 | 3 |
| `openai/gpt-5.6-luna` | 30 | 180 | 3 |
| `openai/gpt-5.5` | 150 | 900 | 3 |
| `openai/gpt-5.4` | 75 | 450 | 3 |
| `openai/gpt-5.4-mini` | 23 | 135 | 3 |
| `azure/gpt-5.6-sol` | 180 | 1080 | 4 |
| `azure/gpt-5.6-terra` | 90 | 540 | 4 |
| `azure/gpt-5.6-luna` | 36 | 216 | 4 |
| `azure/gpt-5.4` | 90 | 540 | 4 |
| `azure/gpt-5.4-mini` | 27 | 162 | 4 |
| `google/gemini-3.6-flash` | 45 | 225 | 4 |
| `google/gemini-3.5-flash` | 45 | 270 | 4 |
| `google/gemini-3.5-flash-lite` | 9 | 75 | 4 |
| `google/gemini-3.1-pro-preview` | 60 | 360 | 4 |
| `google/gemini-3-flash-preview` | 15 | 90 | 4 |
| `anthropic/claude-fable-5` | 300 | 1500 | — |
| `anthropic/claude-opus-5` | 150 | 750 | — |
| `anthropic/claude-sonnet-5` | 90 | 450 | — |
| `anthropic/claude-opus-4-8` | 150 | 750 | — |
| `anthropic/claude-opus-4-7` | 150 | 750 | — |
| `anthropic/claude-sonnet-4-6` | 90 | 450 | — |
| `bedrock/global.amazon.nova-2-lite-v1:0` | 9 | 75 | — |
| `xai/grok-4.5` | 60 | 180 | — |
| `xai/grok-4.3` | 38 | 75 | — |
| `xai/grok-4.20-non-reasoning` | 38 | 75 | — |

### AnalyzeDoc

Billed per page based on the model's resolution variant, plus output characters. PDF inputs also
incur input character charges (zero-rated for Gemini and Nova).

| Model | Page Rate | Output Rate | PDF Input Rate |
|---|---|---|---|
| `openai/gpt-5.6-sol@high` | 602 | 900 | 150 |
| `openai/gpt-5.6-sol@low` | 63 | 900 | 150 |
| `openai/gpt-5.6-terra@high` | 301 | 450 | 75 |
| `openai/gpt-5.6-terra@low` | 32 | 450 | 75 |
| `openai/gpt-5.6-luna@high` | 121 | 180 | 30 |
| `openai/gpt-5.6-luna@low` | 13 | 180 | 30 |
| `openai/gpt-5.5@high` | 602 | 900 | 150 |
| `openai/gpt-5.5@low` | 63 | 900 | 150 |
| `openai/gpt-5.4@high` | 301 | 450 | 75 |
| `openai/gpt-5.4-mini@high` | 91 | 135 | 23 |
| `azure/gpt-5.6-sol@high` | 334 | 1080 | 180 |
| `azure/gpt-5.6-sol@low` | 76 | 1080 | 180 |
| `azure/gpt-5.6-terra@high` | 167 | 540 | 90 |
| `azure/gpt-5.6-terra@low` | 38 | 540 | 90 |
| `azure/gpt-5.6-luna@high` | 67 | 216 | 36 |
| `azure/gpt-5.6-luna@low` | 16 | 216 | 36 |
| `azure/gpt-5.4@high` | 167 | 540 | 90 |
| `azure/gpt-5.4@low` | 38 | 540 | 90 |
| `azure/gpt-5.4-mini@high` | 51 | 162 | 27 |
| `azure/gpt-5.4-mini@low` | 12 | 162 | 27 |
| `google/gemini-3.6-flash@high` | 66 | 225 | 0 |
| `google/gemini-3.6-flash@medium` | 32 | 225 | 0 |
| `google/gemini-3.6-flash@low` | 16 | 225 | 0 |
| `google/gemini-3.5-flash@high` | 66 | 270 | 0 |
| `google/gemini-3.5-flash@medium` | 32 | 270 | 0 |
| `google/gemini-3.5-flash@low` | 16 | 270 | 0 |
| `google/gemini-3.5-flash-lite@high` | 14 | 75 | 0 |
| `google/gemini-3.5-flash-lite@medium` | 7 | 75 | 0 |
| `google/gemini-3.5-flash-lite@low` | 4 | 75 | 0 |
| `anthropic/claude-fable-5` | 1909 | 1500 | 300 |
| `anthropic/claude-opus-5` | 955 | 750 | 150 |
| `anthropic/claude-sonnet-5` | 573 | 450 | 90 |
| `anthropic/claude-opus-4-8` | 955 | 750 | 150 |
| `bedrock/global.amazon.nova-2-lite-v1:0` | 4 | 75 | 0 |

Page Rate is applied directly per page. Output Rate and PDF Input Rate are divided by 1,000 (per
character). Higher resolution variants read dense layouts and fine print more accurately at a
higher per-page cost.

### RefineLoop

| Model | Input Rate | Output Rate | Vector Bytes Rate |
|---|---|---|---|
| `openai/gpt-5.6-sol` | 150 | 900 | 3 |
| `openai/gpt-5.6-terra` | 75 | 450 | 3 |
| `openai/gpt-5.6-luna` | 30 | 180 | 3 |
| `openai/gpt-5.5` | 150 | 900 | 3 |
| `openai/gpt-5.4` | 75 | 450 | 3 |
| `openai/gpt-5.4-mini` | 23 | 135 | 3 |
| `azure/gpt-5.6-sol` | 180 | 1080 | 4 |
| `azure/gpt-5.6-terra` | 90 | 540 | 4 |
| `azure/gpt-5.6-luna` | 36 | 216 | 4 |
| `azure/gpt-5.4` | 90 | 540 | 4 |
| `azure/gpt-5.4-mini` | 27 | 162 | 4 |
| `google/gemini-3.6-flash` | 45 | 225 | 4 |
| `google/gemini-3.5-flash` | 45 | 270 | 4 |
| `google/gemini-3.5-flash-lite` | 9 | 75 | 4 |
| `google/gemini-3.1-pro-preview` | 60 | 360 | 4 |
| `google/gemini-3-flash-preview` | 15 | 90 | 4 |
| `anthropic/claude-fable-5` | 300 | 1500 | — |
| `anthropic/claude-opus-5` | 150 | 750 | — |
| `anthropic/claude-sonnet-5` | 90 | 450 | — |
| `anthropic/claude-opus-4-8` | 150 | 750 | — |
| `anthropic/claude-opus-4-7` | 150 | 750 | — |
| `anthropic/claude-sonnet-4-6` | 90 | 450 | — |
| `bedrock/global.amazon.nova-2-lite-v1:0` | 9 | 75 | — |
| `xai/grok-4.5` | 60 | 180 | — |
| `xai/grok-4.3` | 38 | 75 | — |
| `xai/grok-4.20-non-reasoning` | 38 | 75 | — |

Rates are divided by 1,000 to calculate actual credit consumption per character.

Vector Bytes Rate applies when using external reference files. Consumption is calculated per byte
of the reference file.

### RenderOCR

| Product | Page Rate |
|---|---|
| `ki/ocr` | 320 |

Rate is applied directly per page (not divided by 1,000).

### CastDoc

| Product | Page Rate |
|---|---|
| `ki/cast` | 320 |

Rate is applied directly per page (not divided by 1,000).

---

## Capacity by Plan

### Example: StructFlow with Google Gemini 3.6 Flash

The following estimates are based on **Google Gemini 3.6 Flash** (`google/gemini-3.6-flash`)
with a 1:1 input/output ratio. Actual consumption varies depending on model choice, input/output
ratio, and content length.

| Plan | Credits | Input Characters (est.) |
|---|---|---|
| Free | 25,000 | ~92,000 |
| Starter | 150,000 | ~555,000 |
| Standard | 520,000 | ~1,925,000 |
| Pro | 1,700,000 | ~6,296,000 |

### Example: AnalyzeDoc with Google Gemini 3.6 Flash @high

The following estimates are based on **Google Gemini 3.6 Flash @high**
(`google/gemini-3.6-flash@high`), assuming a single-page document that produces ~500 characters of
extracted JSON. Each document costs 66 (page) + 500 × 225 / 1,000 (output) = **178.5 credits**.
Actual consumption varies with document size, model, resolution variant, and output length.

| Plan | Credits | Documents (est.) |
|---|---|---|
| Free | 25,000 | ~140 |
| Starter | 150,000 | ~840 |
| Standard | 520,000 | ~2,913 |
| Pro | 1,700,000 | ~9,523 |

### Example: RenderOCR with KI OCR

| Plan | Credits | Pages (est.) |
|---|---|---|
| Free | 25,000 | ~78 |
| Starter | 150,000 | ~468 |
| Standard | 520,000 | ~1,625 |
| Pro | 1,700,000 | ~5,312 |

### Example: CastDoc with KI Cast

| Plan | Credits | Pages (est.) |
|---|---|---|
| Free | 25,000 | ~78 |
| Starter | 150,000 | ~468 |
| Standard | 520,000 | ~1,625 |
| Pro | 1,700,000 | ~5,312 |

---

## Notes

- Credits are reset monthly at the start of each billing period.
- Unused credits do not carry over to the next period.
- On paid plans, additional usage beyond the included credits is billed at $0.0001 per credit.