{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "$id": "https://cch-plus.com/pricing/v1/models.official.schema.json",
 "title": "CCHP Cloud Pricing Table v1",
 "x-cchp-table-version": "bf0c58c98222be0a",
 "x-cchp-refreshed-at": "2026-08-14T18:31:11.169Z",
 "x-generated-by": "auto-inferred from the published models.json on every refresh; new fields appear here automatically",
 "type": "object",
 "properties": {
  "currency": {
   "type": "string",
   "examples": [
    "USD"
   ],
   "description": "Table-wide default currency; all prices are in this currency unless a charge overrides it."
  },
  "models": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "aliases": {
      "type": "array",
      "items": {
       "type": "string"
      },
      "description": "Alternative call IDs seen at other providers/sources."
     },
     "benchmarks": {
      "type": "object",
      "properties": {
       "agentic_index": {
        "type": [
         "number",
         "null"
        ]
       },
       "coding_index": {
        "type": "number"
       },
       "intelligence_index": {
        "type": [
         "number",
         "null"
        ]
       }
      },
      "required": [
       "agentic_index",
       "coding_index",
       "intelligence_index"
      ],
      "description": "Third-party benchmark reference scores (Artificial Analysis)."
     },
     "capabilities": {
      "type": "object",
      "properties": {
       "assistant_prefill": {
        "type": "boolean"
       },
       "audio_input": {
        "type": "boolean"
       },
       "audio_output": {
        "type": "boolean"
       },
       "computer_use": {
        "type": "boolean"
       },
       "function_calling": {
        "type": "boolean"
       },
       "image_output": {
        "type": "boolean"
       },
       "open_weights": {
        "type": "boolean"
       },
       "parallel_function_calling": {
        "type": "boolean"
       },
       "pdf_input": {
        "type": "boolean"
       },
       "prompt_caching": {
        "type": "boolean"
       },
       "reasoning": {
        "type": "boolean"
       },
       "stream": {
        "type": "boolean"
       },
       "structured_output": {
        "type": "boolean"
       },
       "video_input": {
        "type": "boolean"
       },
       "vision": {
        "type": "boolean"
       },
       "web_search": {
        "type": "boolean"
       }
      },
      "description": "Capability switches (absent = false / unknown)."
     },
     "deprecated": {
      "type": "boolean",
      "description": "Deprecated or delisted at the source."
     },
     "deprecation_date": {
      "type": "string",
      "format": "date",
      "description": "Planned deprecation date (YYYY-MM-DD)."
     },
     "display_name": {
      "type": "string",
      "description": "Human-readable model name."
     },
     "docs_url": {
      "type": "string",
      "description": "Official documentation URL."
     },
     "endpoints": {
      "type": "object",
      "properties": {
       "inbound": {
        "type": "array",
        "items": {
         "type": "string",
         "enum": [
          "anthropic-messages",
          "google-gemini",
          "openai-compatible",
          "openai-responses"
         ]
        }
       },
       "outbound": {
        "type": "array",
        "items": {
         "type": "string",
         "enum": [
          "anthropic-messages",
          "google-gemini",
          "openai-compatible",
          "openai-responses"
         ]
        }
       }
      },
      "required": [
       "inbound",
       "outbound"
      ],
      "description": "Supported gateway protocols (inbound = callable as, outbound = native upstream)."
     },
     "family": {
      "type": "string",
      "description": "Model lineage (claude-sonnet / gpt-4o / gemini-2.5 / …)."
     },
     "intro": {
      "type": "string",
      "description": "One-line model introduction (English)."
     },
     "intro_i18n": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      },
      "x-key-samples": [
       "ja-JP",
       "ru-RU",
       "zh-CN"
      ],
      "description": "Localized introductions: BCP-47 locale → text."
     },
     "knowledge_cutoff": {
      "type": "string",
      "examples": [
       "2025-01",
       "2024-04",
       "2025-04"
      ],
      "description": "Knowledge cutoff (YYYY-MM)."
     },
     "max_input_tokens": {
      "type": "integer",
      "description": "Maximum input (context window) tokens."
     },
     "max_output_tokens": {
      "type": "integer",
      "description": "Maximum output tokens."
     },
     "modalities": {
      "type": "object",
      "properties": {
       "input": {
        "type": "array",
        "items": {
         "type": "string",
         "enum": [
          "audio",
          "code",
          "doc",
          "file",
          "image",
          "pdf",
          "text",
          "video"
         ]
        }
       },
       "output": {
        "type": "array",
        "items": {
         "type": "string",
         "enum": [
          "audio",
          "code",
          "embedding",
          "image",
          "pdf",
          "text",
          "video"
         ]
        }
       }
      },
      "required": [
       "input",
       "output"
      ],
      "description": "Input/output modalities (finer-grained than capability booleans)."
     },
     "model_name": {
      "type": "string",
      "description": "Canonical call ID, always the bare name without vendor prefix (\"gpt-5.5\", not \"openai/gpt-5.5\"); the two forms are equivalent."
     },
     "model_type": {
      "type": "string",
      "examples": [
       "text_generation",
       "deep_thinking",
       "vision_understanding"
      ],
      "description": "Modality-type category slug (two-level taxonomy, see classify.ts): omni / text_generation / deep_thinking / text_understanding / vision_understanding / image_generation / video_generation / 3d_generation / speech_recognition / speech_synthesis / music_generation / multimodal_embedding / text_embedding / text_rerank / realtime_omni / realtime_speech_synthesis / realtime_speech_recognition / realtime_speech_translation / safety_detection."
     },
     "parameters": {
      "type": "object",
      "properties": {
       "defaults": {
        "type": "object",
        "properties": {
         "repetition_penalty": {
          "type": "integer"
         },
         "temperature": {
          "type": "number"
         },
         "top_k": {
          "type": "integer"
         },
         "top_p": {
          "type": "number"
         }
        },
        "required": [
         "temperature"
        ]
       },
       "supported": {
        "type": "array",
        "items": {
         "type": "string",
         "examples": [
          "temperature",
          "max_tokens",
          "top_p"
         ]
        }
       },
       "unsupported": {
        "type": "array",
        "items": {
         "type": "string",
         "enum": [
          "frequency_penalty",
          "logit_bias",
          "logprobs",
          "max_tokens",
          "n",
          "presence_penalty",
          "temperature",
          "top_logprobs",
          "top_p",
          "verbosity"
         ]
        }
       }
      },
      "description": "Request-parameter support: supported / unsupported lists and platform defaults."
     },
     "price_history": {
      "type": "array",
      "items": {
       "type": "object",
       "properties": {
        "charge": {
         "type": "string",
         "enum": [
          "audio_input",
          "audio_output",
          "cache_read",
          "cache_write",
          "cache_write_1h",
          "completion",
          "image_input",
          "internal_reasoning",
          "prompt",
          "video_input",
          "web_search"
         ],
         "description": "Charge dimension of a price event."
        },
        "date": {
         "type": "string",
         "format": "date"
        },
        "kind": {
         "type": "string",
         "enum": [
          "capability",
          "delisted",
          "limit",
          "listed",
          "price"
         ],
         "description": "Event kind: price change, listed, delisted, capability or limit change."
        },
        "new": {
         "type": "string",
         "pattern": "^-?\\d+(\\.\\d+)?$",
         "description": "New value (decimal string for price events)."
        },
        "note": {
         "type": "string",
         "description": "Human-readable description for capability/limit events."
        },
        "old": {
         "type": "string",
         "pattern": "^-?\\d+(\\.\\d+)?$",
         "description": "Previous value (decimal string for price events)."
        },
        "provider": {
         "type": "string",
         "examples": [
          "moark",
          "io-net",
          "openrouter"
         ],
         "description": "Provider variant the price event belongs to."
        }
       },
       "required": [
        "date",
        "kind"
       ],
       "description": "One change event produced by diffing adjacent daily snapshots."
      },
      "description": "Recent price/status change events (newest first, truncated). Full history: https://cch-plus.com/api/pricing/history"
     },
     "pricing": {
      "type": "array",
      "items": {
       "type": "object",
       "properties": {
        "charges": {
         "type": "object",
         "additionalProperties": {
          "type": "object",
          "properties": {
           "price": {
            "type": "string",
            "pattern": "^-?\\d+(\\.\\d+)?$",
            "description": "Decimal-string price per unit."
           },
           "unit": {
            "type": "string",
            "enum": [
             "per_M_characters",
             "per_M_tokens",
             "per_M_tokens_per_hour",
             "per_image",
             "per_k_calls",
             "per_request",
             "per_second"
            ],
            "description": "Billing unit for this charge (per_M_tokens = per million tokens, …)."
           }
          },
          "required": [
           "price",
           "unit"
          ],
          "description": "Base price of one charge dimension."
         },
         "x-key-samples": [
          "audio_cache_read",
          "audio_input",
          "audio_output"
         ],
         "description": "Base price per charge dimension (charge key → unit + decimal price). Effective price = base price × factor of the matched price track."
        },
        "finetune_charges": {
         "type": "object",
         "properties": {
          "train": {
           "type": "object",
           "properties": {
            "price": {
             "type": "string",
             "pattern": "^-?\\d+(\\.\\d+)?$"
            },
            "unit": {
             "type": "string",
             "enum": [
              "per_M_tokens"
             ]
            }
           },
           "required": [
            "price",
            "unit"
           ]
          }
         },
         "required": [
          "train"
         ],
         "description": "Fine-tuning job prices (display only, not request billing)."
        },
        "official": {
         "type": "boolean",
         "description": "True when this is a first-party (model vendor) price."
        },
        "provenance": {
         "type": "object",
         "properties": {
          "base_charges": {
           "type": "object",
           "additionalProperties": {
            "type": "string",
            "enum": [
             "computeprices",
             "helicone-registry",
             "litellm",
             "llm-prices-www",
             "llmdb",
             "lobehub-modelbank",
             "models-dev",
             "portkey",
             "pydantic-prices",
             "truefoundry"
            ]
           },
           "x-key-samples": [
            "audio_cache_read",
            "audio_input",
            "audio_output"
           ]
          },
          "discarded_conflicts": {
           "type": "array",
           "items": {
            "type": "object",
            "properties": {
             "charge": {
              "type": "string",
              "enum": [
               "audio_cache_read",
               "audio_input",
               "audio_output",
               "cache_read",
               "cache_write",
               "cache_write_1h",
               "completion",
               "image_input",
               "image_output",
               "prompt",
               "request",
               "web_search"
              ]
             },
             "discarded_charge": {
              "type": "object",
              "properties": {
               "currency": {
                "type": "string",
                "enum": [
                 "CNY"
                ]
               },
               "price": {
                "type": "string",
                "pattern": "^-?\\d+(\\.\\d+)?$"
               },
               "unit": {
                "type": "string",
                "enum": [
                 "per_M_characters",
                 "per_M_tokens",
                 "per_image",
                 "per_k_calls",
                 "per_request",
                 "per_second"
                ]
               }
              },
              "required": [
               "price",
               "unit"
              ]
             },
             "inclusive": {
              "type": "boolean"
             },
             "kind": {
              "type": "string",
              "enum": [
               "base_charge",
               "service_tier_charge",
               "tier_charge",
               "tier_schedule"
              ]
             },
             "message": {
              "type": "string"
             },
             "selected_charge": {
              "type": "object",
              "properties": {
               "price": {
                "type": "string",
                "pattern": "^-?\\d+(\\.\\d+)?$"
               },
               "unit": {
                "type": "string",
                "enum": [
                 "per_M_tokens",
                 "per_image",
                 "per_k_calls",
                 "per_request",
                 "per_second"
                ]
               }
              },
              "required": [
               "price",
               "unit"
              ]
             },
             "selected_source": {
              "type": "string",
              "enum": [
               "helicone-registry",
               "litellm",
               "llmdb",
               "models-dev",
               "portkey",
               "pydantic-prices",
               "truefoundry"
              ]
             },
             "source": {
              "type": "string",
              "enum": [
               "ai-model-directory",
               "computeprices",
               "helicone-registry",
               "litellm",
               "llm-prices-www",
               "llmdb",
               "lobehub-modelbank",
               "models-dev",
               "portkey",
               "pricetoken",
               "pydantic-prices",
               "truefoundry"
              ]
             },
             "threshold": {
              "type": "integer"
             }
            },
            "required": [
             "kind",
             "message",
             "source"
            ]
           }
          },
          "tracks": {
           "type": "array",
           "items": {
            "type": "object",
            "properties": {
             "charge_sources": {
              "type": "object",
              "additionalProperties": {
               "type": "string",
               "enum": [
                "computeprices",
                "helicone-registry",
                "litellm",
                "llmdb",
                "lobehub-modelbank",
                "models-dev",
                "override",
                "portkey",
                "pydantic-prices",
                "truefoundry"
               ]
              },
              "x-key-samples": [
               "audio_cache_read",
               "audio_input",
               "audio_output"
              ]
             },
             "label": {
              "type": "string",
              "examples": [
               "Base pricing",
               "Batch",
               "Flex"
              ]
             },
             "source": {
              "type": "string",
              "examples": [
               "portkey",
               "truefoundry",
               "truefoundry+portkey"
              ]
             }
            },
            "required": [
             "charge_sources",
             "label",
             "source"
            ]
           }
          },
          "verification_status": {
           "type": "string",
           "enum": [
            "aggregator_only",
            "conflicting",
            "cross_checked"
           ],
           "description": "official_source, cross_checked, aggregator_only, or conflicting. Multiple participating sources alone do not imply cross-checking."
          }
         },
         "required": [
          "base_charges",
          "verification_status"
         ],
         "description": "Field-level winning sources, discarded conflicts, and verification status for this merged pricing variant."
        },
        "provider": {
         "type": "string",
         "examples": [
          "google-vertex",
          "amazon-bedrock",
          "openai"
         ],
         "description": "Provider slug (see top-level providers dictionary)."
        },
        "provider_model_id": {
         "type": "string",
         "description": "Provider-specific call ID when it differs from model_name."
        },
        "provider_name": {
         "type": "string",
         "examples": [
          "OpenAI",
          "Google",
          "xAI"
         ]
        },
        "region": {
         "type": "string",
         "description": "Region qualifier, present only when the same provider prices regions differently."
        },
        "source": {
         "type": "string",
         "description": "Sources that participated in this variant merge; not proof that every source verified the selected values."
        },
        "tracks": {
         "type": "array",
         "items": {
          "type": "object",
          "properties": {
           "charge_factors": {
            "type": "object",
            "properties": {
             "audio_input": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "cache_read": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "cache_write": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "cache_write_1h": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "completion": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "enterprise_web_search": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "file_search_call": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "google_search_grounding": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "image_input": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "image_output": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "maps": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "prompt": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "video_input": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "video_output_1024x1792": {
              "type": "string"
             },
             "video_output_1080p": {
              "type": "string"
             },
             "video_output_1080x1920": {
              "type": "string"
             },
             "video_output_1792x1024": {
              "type": "string"
             },
             "video_output_720p": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "video_output_720x1280": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             },
             "web_search": {
              "type": "string",
              "pattern": "^-?\\d+(\\.\\d+)?$"
             }
            },
            "description": "Per-charge multiplier overrides (charge key → decimal factor)."
           },
           "factor": {
            "type": "string",
            "pattern": "^-?\\d+(\\.\\d+)?$",
            "description": "Default multiplier (decimal string, \"1\" = base price) applied to all charges."
           },
           "label": {
            "type": "string",
            "examples": [
             "Base pricing",
             "Batch",
             "Flex"
            ],
            "description": "Human-readable label derived from triggers (for example \"Context >272K\" or \"Batch AND Context >272K\")."
           },
           "triggers": {
            "type": "array",
            "items": {
             "type": "object",
             "properties": {
              "field": {
               "type": "string",
               "enum": [
                "service_tier"
               ]
              },
              "header": {
               "type": "string",
               "examples": [
                "anthropic-beta"
               ]
              },
              "inclusive": {
               "type": "boolean"
              },
              "kind": {
               "type": "string",
               "enum": [
                "body_matches",
                "endpoint_matches",
                "header_matches",
                "input_tokens_above"
               ]
              },
              "pattern": {
               "type": "string",
               "enum": [
                "^(priority|fast)$",
                "^batch\\.",
                "^flex$",
                "^priority$",
                "context-1m-\\d{4}-\\d{2}-\\d{2}"
               ]
              },
              "threshold": {
               "type": "integer"
              }
             },
             "required": [
              "kind"
             ]
            },
            "description": "Track match conditions, ANDed together. Kinds: input_tokens_above/below (context threshold), header_matches/header_present (request header), body_matches (request-body field regex, e.g. service_tier), endpoint_matches (egress operation-ID regex, e.g. ^batch\\.)."
           }
          },
          "required": [
           "factor",
           "label",
           "triggers"
          ],
          "description": "One price track (billing tier)."
         },
         "description": "Price tracks, first-match by array order: the first track whose triggers all match applies; a track with empty triggers is the unconditional default. Absent = a single default track with factor 1."
        },
        "warnings": {
         "type": "array",
         "items": {
          "type": "object",
          "properties": {
           "code": {
            "type": "string",
            "enum": [
             "invalid_source_tier",
             "unresolved_track_combination"
            ]
           },
           "message": {
            "type": "string",
            "enum": [
             "batch pricing and context tiers are both published, but no exact combined batch + context prices were provided.",
             "flex pricing and context tiers are both published, but no exact combined flex + context prices were provided.",
             "priority pricing and context tiers are both published, but no exact combined priority + context prices were provided.",
             "tier threshold 128000 exceeds model context window 32767.",
             "tier threshold 128000 exceeds model context window 8192.",
             "tier threshold 200000 exceeds model context window 131072.",
             "tier threshold 200000 exceeds model context window 65536.",
             "tier threshold 200000 exceeds model context window 8192."
            ]
           },
           "service_tier": {
            "type": "string",
            "enum": [
             "batch",
             "flex",
             "priority"
            ]
           },
           "source": {
            "type": "string",
            "enum": [
             "helicone-registry",
             "litellm",
             "models-dev",
             "portkey",
             "pydantic-prices",
             "truefoundry"
            ]
           }
          },
          "required": [
           "code",
           "message",
           "source"
          ]
         },
         "description": "Explicit price-rule warnings, including unresolved service-tier/context combinations and invalid source tiers."
        }
       },
       "required": [
        "charges",
        "official",
        "provenance",
        "provider",
        "source"
       ],
       "description": "One provider price variant for this model."
      },
      "description": "Per-provider price variants. First-party provider variants come first; clients default to the first first-party variant."
     },
     "rate_limits": {
      "type": "object",
      "properties": {
       "rpm": {
        "type": "integer"
       },
       "tpm": {
        "type": "integer"
       }
      },
      "required": [
       "rpm",
       "tpm"
      ],
      "description": "Official rate-limit reference (requests / tokens per minute)."
     },
     "reasoning_config": {
      "type": "object",
      "properties": {
       "budget_min": {
        "type": "integer"
       },
       "mandatory": {
        "type": "boolean"
       }
      },
      "description": "Thinking/reasoning constraints (mandatory switch, minimum budget)."
     },
     "released_at": {
      "type": "string",
      "description": "Release date (YYYY-MM-DD)."
     },
     "slug": {
      "type": "string",
      "description": "Globally unique key: `${vendor}/${model_name}`."
     },
     "status": {
      "type": "string",
      "enum": [
       "beta",
       "deprecated"
      ],
      "description": "Lifecycle status (absent = stable)."
     },
     "vendor": {
      "type": "string",
      "examples": [
       "google",
       "openai",
       "alibaba"
      ],
      "description": "Model publisher slug (anthropic / openai / google / …)."
     }
    },
    "required": [
     "display_name",
     "endpoints",
     "model_name",
     "model_type",
     "pricing",
     "slug",
     "vendor"
    ],
    "description": "A single model entry."
   },
   "description": "Model entries, one per canonical model (bare model name, no vendor prefix)."
  },
  "providers": {
   "type": "object",
   "additionalProperties": {
    "type": "object",
    "properties": {
     "doc": {
      "type": "string",
      "format": "uri"
     },
     "icon": {
      "type": "string",
      "examples": [
       "meta-color.svg",
       "ai21.svg",
       "alibaba-color.svg"
      ],
      "description": "LobeHub static SVG basename served at https://cch-plus.com/model-icons/<icon>. Absent when no brand icon matches (consumers fall back to a monogram)."
     },
     "icon_mono": {
      "type": "boolean",
      "description": "True when the icon is monochrome and should invert with the theme."
     },
     "name": {
      "type": "string",
      "examples": [
       "Alibaba (China)",
       "Amazon Bedrock",
       "Anthropic"
      ]
     }
    },
    "required": [
     "icon",
     "name"
    ]
   },
   "x-key-samples": [
    "ai21",
    "alibaba",
    "amazon"
   ],
   "description": "Provider dictionary: slug → display name / docs URL / brand icon."
  },
  "refreshed_at": {
   "type": "string",
   "description": "Last substantive refresh time of the source snapshots (ISO 8601)."
  },
  "schema": {
   "type": "string",
   "examples": [
    "cchp.pricing-table/v1"
   ],
   "const": "cchp.pricing-table/v1",
   "description": "Format identifier; incompatible changes bump to v2."
  },
  "version": {
   "type": "string",
   "examples": [
    "bf0c58c98222be0a"
   ],
   "description": "Content fingerprint (sha-256 prefix of the canonical payload); changes iff content changes."
  }
 },
 "required": [
  "currency",
  "models",
  "providers",
  "refreshed_at",
  "schema",
  "version"
 ],
 "description": "CCHP Cloud Pricing Table (CPT) v1 — aggregated LLM model catalog with per-provider pricing, tiered price tracks, capabilities, metadata and price-change history. All prices are decimal strings to avoid float ambiguity; consumers should parse them as fixed-point numbers."
}
