Documentation Index
Fetch the complete documentation index at: https://docs.kymaapi.com/llms.txt
Use this file to discover all available pages before exploring further.
Public, no authentication required. Returns every active Kyma SKU split into two arrays:
text — models billed per-token (chat / completion family). Includes input_per_1m, output_per_1m, and cached_input_per_1m for prompt-caching pricing.
media — image / video / audio SKUs (everything non-token). Each row has modality, pricing_mode, usd_per_call, and a detail object describing the pricing shape (per-image, per-second, per-minute, per-quality, etc.).
Both arrays are sorted by id for stable diffs across calls. The response is Cache-Control: public, max-age=60.
This is the single source of truth for marketing surfaces, dashboard pricing tables, billing audit scripts, and the pricing.mdx page in these docs. If you’re building a comparison page, integration tooling, or a programmatic billing audit, prefer this over scraping the docs.
curl https://kymaapi.com/v1/pricing
Response
{
"object": "pricing.catalog",
"text_count": 42,
"media_count": 19,
"text": [
{
"id": "deepseek-v3",
"name": "DeepSeek V3",
"input_per_1m": 0.27,
"output_per_1m": 1.10,
"cached_input_per_1m": 0.027
}
],
"media": [
{
"id": "veo-3",
"name": "Veo 3",
"modality": "video",
"pricing_mode": "per-second",
"usd_per_call": 0.54,
"detail": {
"provider_cost_per_sec": 0.40,
"min_duration_sec": 4,
"max_duration_sec": 8,
"allowed_durations": [4, 6, 8]
}
}
]
}
Always "pricing.catalog".
Number of text/chat SKUs in the text array.
Number of image/video/audio SKUs in the media array.
Text models. Sorted alphabetically by id.
Image/video/audio SKUs. Sorted alphabetically by id.
Text row fields
| Field | Type | Meaning |
|---|
id | string | Kyma model ID (e.g. deepseek-v3) |
name | string | Display name |
input_per_1m | number | USD per 1M input tokens |
output_per_1m | number | USD per 1M output tokens |
cached_input_per_1m | number | USD per 1M cached input tokens (90% discount for models that support prompt caching). For models without caching support, this number is informational — Kyma doesn’t bill at the cached rate unless your client opts in. |
| Field | Type | Meaning |
|---|
id | string | Kyma model ID |
name | string | Display name |
modality | string | One of image, video, audio |
pricing_mode | string | One of per-image, per-second, per-minute, per-quality, per-mp, per-char, per-song, per-call |
usd_per_call | number | Representative USD cost for one typical call (e.g. 1 image at default size, 1s of video, 1 minute of audio, 1 song) |
detail | object | Shape varies by pricing_mode. See pricing modes below. |
Pricing modes
The detail object on media rows depends on the pricing_mode:
pricing_mode | detail keys | Example SKUs |
|---|
per-image | provider_cost, markup | imagen-4, recraft-v4, nano-banana |
per-quality | tiers (object with low/medium/high → cost) | gpt-image-2 |
per-mp | base_usd, extra_per_mp_usd, markup | flux-2-pro |
per-second | provider_cost_per_sec, min_duration_sec, max_duration_sec, allowed_durations | kling-3-pro, veo-3, seedance-2-pro |
per-minute | provider_cost_per_minute, markup | whisper-v3-turbo, gpt-4o-mini-transcribe-2025-12-15, gemini-3-flash-audio |
per-char | provider_cost_per_kchar, markup | eleven-multilingual-v2, minimax-speech-hd |
per-song | usd_per_song | minimax-music, minimax-music-pro |
per-call | usd_per_call | minimax-voice-clone, minimax-voice-design |
Use cases
- Marketing comparison pages: fetch and render a model grid showing every SKU with current pricing, no scraping required.
- Billing audit: cross-check
request_logs.cost_usd against this catalog to verify the gateway didn’t drift from documented prices.
- Dashboard model picker: render pricing inline in the model selector without hardcoding rates client-side.
- Programmatic SDK config: agents that auto-select models can fetch live pricing for cost-aware routing.
Caching
The endpoint sets Cache-Control: public, max-age=60. Hosted in front of Cloudflare so repeat requests within a minute hit CDN edge. Pricing changes propagate to the live response within 60 seconds of a deploy.
Errors
This endpoint is public and read-only — no auth errors. The only failure modes are:
| Status | When |
|---|
500 | Internal error building the catalog (shouldn’t happen — fail loud if it does) |
GET /v1/limits/tiers — companion endpoint returning the rate-limit tier matrix
GET /v1/models — list models without pricing, with filtering params
- Pricing — human-readable pricing page rendered from this same catalog
GET /v1/credits/pricing — legacy text-only pricing endpoint (kept for backward compat; prefer this catalog)