# Get a public model by name

**API:** Model API

**Endpoint:** `GET /api/platform/model-catalog/model`

Anonymous exact lookup by public name or registered alias. Returns the canonical model ID and the same model object as the catalog. Unknown or unlisted models return 404. locale controls document selection only.

## Base URL

- `https://openapi.felo.ai` — Продакшн

## Authentication

No authentication required — this endpoint is anonymous.

## Parameters

| Name | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `model` | query | yes | string | Exact case-sensitive public model name or registered alias |
| `locale` | query | no | string, enum: "en", "zh-CN", "zh-TW", "ja", "ko", "ru", …, default: "en" | Document language; falls back to English when unavailable |
| `If-None-Match` | header | no | string | Previous ETag; matching content returns 304 |

## Responses

### 200 — Public model details

Headers:
- `Cache-Control` (string) — public, max-age=60
- `ETag` (string) — Representation fingerprint

**application/json**

Schema: `ModelCatalogModelResponse` (`#/components/schemas/ModelCatalogModelResponse`)

Example:

```json
{
  "schema_version": 2,
  "locale": "en",
  "data": {
    "id": "example-model",
    "slug": "example/example-model",
    "name": "Example model",
    "short_name": "Example",
    "author": "example",
    "author_display_name": "Example",
    "icon_url": null,
    "model_kind": "chat",
    "recommended_protocol": "messages",
    "summary": "Example model.",
    "description": "Illustrative text, not a real model.",
    "best_for": [],
    "content_locale": "en",
    "available_content_locales": [
      "en"
    ],
    "document": {
      "notice": null,
      "extra": {},
      "updated_at": "2026-10-14T00:00:00Z"
    },
    "latency_class": null,
    "trial_status": "unknown",
    "released_at": null,
    "sort_order": 0,
    "updated_at": "2026-10-14T00:00:00Z",
    "context_length": 32768,
    "max_completion_tokens": 4096,
    "input_modalities": [
      "text"
    ],
    "output_modalities": [
      "text"
    ],
    "capabilities": [],
    "supported_parameters": [
      "temperature"
    ],
    "reasoning": null,
    "video_spec": null,
    "default_channel": "standard",
    "channels": [
      {
        "code": "standard",
        "name": "Standard",
        "service_tier": "standard",
        "region": null,
        "is_default": true,
        "runnable": true,
        "standard_pricing": {
          "channel": "standard",
          "currency": "USD",
          "basis": "standard",
          "billing_kind": "token",
          "prompt": "0.000001",
          "completion": "0.000002",
          "input_cache_write": "0.00000125",
          "input_cache_write_1h": "0.000002",
          "input_cache_write_12h": "0.000004",
          "tiers": []
        },
        "discount_multiplier": "0.8",
        "pricing_mode": "configured_rates"
      },
      {
        "code": "priority",
        "name": "Priority",
        "service_tier": "priority",
        "region": null,
        "is_default": false,
        "runnable": false,
        "standard_pricing": null,
        "discount_multiplier": null,
        "pricing_mode": "configured_rates"
      }
    ],
    "parameter_definitions": {
      "temperature": {}
    }
  }
}
```

### 304 — Unchanged representation; empty body

Headers:
- `Cache-Control` (string) — public, max-age=60
- `ETag` (string) — Representation fingerprint

### 400 — Invalid model name or locale

### 404 — Model not found

### 422 — Missing model query parameter

### 503 — Model catalog unavailable

## Schema definitions

### ModelCatalogAudioSpec

`#/components/schemas/ModelCatalogAudioSpec`

```json
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Input"
    },
    "output": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Output"
    },
    "output_optional": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Output Optional"
    }
  },
  "title": "AudioSpec",
  "type": "object"
}
```

### ModelCatalogCatalogModel

`#/components/schemas/ModelCatalogCatalogModel`

```json
{
  "properties": {
    "id": {
      "title": "Id",
      "type": "string"
    },
    "slug": {
      "title": "Slug",
      "type": "string"
    },
    "name": {
      "title": "Name",
      "type": "string"
    },
    "short_name": {
      "title": "Short Name",
      "type": "string"
    },
    "author": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Author"
    },
    "author_display_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Author Display Name"
    },
    "icon_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Icon Url"
    },
    "model_kind": {
      "enum": [
        "chat",
        "image_generation",
        "video_generation",
        "decisions"
      ],
      "title": "Model Kind",
      "type": "string"
    },
    "recommended_protocol": {
      "anyOf": [
        {
          "enum": [
            "responses",
            "messages"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Лише рекомендація для клієнтів на рівні моделі; null для моделей, що не є чат-моделями; не обмежує протоколи, які можна викликати",
      "title": "Recommended Protocol"
    },
    "summary": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Summary"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Description"
    },
    "best_for": {
      "items": {
        "type": "string"
      },
      "title": "Best For",
      "type": "array"
    },
    "content_locale": {
      "anyOf": [
        {
          "enum": [
            "en",
            "zh-CN",
            "zh-TW",
            "ja",
            "ko",
            "ru",
            "pt-BR",
            "de",
            "fr",
            "es",
            "nl",
            "it",
            "vi",
            "id",
            "th",
            "ms",
            "hi",
            "bn",
            "pl",
            "cs",
            "uk",
            "tr",
            "ar",
            "he",
            "fa",
            "ur"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Content Locale"
    },
    "available_content_locales": {
      "items": {
        "enum": [
          "en",
          "zh-CN",
          "zh-TW",
          "ja",
          "ko",
          "ru",
          "pt-BR",
          "de",
          "fr",
          "es",
          "nl",
          "it",
          "vi",
          "id",
          "th",
          "ms",
          "hi",
          "bn",
          "pl",
          "cs",
          "uk",
          "tr",
          "ar",
          "he",
          "fa",
          "ur"
        ],
        "type": "string"
      },
      "title": "Available Content Locales",
      "type": "array"
    },
    "document": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ModelCatalogPublicDocument"
        },
        {
          "type": "null"
        }
      ],
      "description": "Лише вибраною мовою; summary/description/best_for залишаються на рівні моделі"
    },
    "latency_class": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Latency Class"
    },
    "trial_status": {
      "title": "Trial Status",
      "type": "string"
    },
    "released_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Model release date in ISO 8601 UTC; may use the OpenRouter listing time. Manual overrides take precedence; null means unknown.",
      "title": "Released At"
    },
    "sort_order": {
      "title": "Sort Order",
      "type": "integer"
    },
    "updated_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Updated At"
    },
    "context_length": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Context Length"
    },
    "max_completion_tokens": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Max Completion Tokens"
    },
    "input_modalities": {
      "items": {
        "type": "string"
      },
      "title": "Input Modalities",
      "type": "array"
    },
    "output_modalities": {
      "items": {
        "type": "string"
      },
      "title": "Output Modalities",
      "type": "array"
    },
    "capabilities": {
      "items": {
        "type": "string"
      },
      "title": "Capabilities",
      "type": "array"
    },
    "supported_parameters": {
      "items": {
        "type": "string"
      },
      "title": "Supported Parameters",
      "type": "array"
    },
    "parameter_definitions": {
      "additionalProperties": {
        "additionalProperties": true,
        "type": "object"
      },
      "description": "Supported parameters keyed by name, using OpenRouter type/values/min/max format (not JSON Schema); preserves unknown fields; an empty definition means supported with unspecified constraints. An empty object means no parameter metadata. No defaults or options are inferred.",
      "title": "Parameter Definitions",
      "type": "object"
    },
    "reasoning": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "description": "JSON-об'єкт reasoning з апстріму; зберігає невідомі поля; null, якщо недоступний",
      "title": "Reasoning"
    },
    "video_spec": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ModelCatalogVideoSpec"
        },
        {
          "type": "null"
        }
      ]
    },
    "default_channel": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Default Channel"
    },
    "channels": {
      "items": {
        "$ref": "#/components/schemas/ModelCatalogWalletPublicChannel"
      },
      "title": "Channels",
      "type": "array"
    }
  },
  "required": [
    "id",
    "slug",
    "name",
    "short_name",
    "author",
    "author_display_name",
    "icon_url",
    "model_kind",
    "summary",
    "description",
    "best_for",
    "content_locale",
    "available_content_locales",
    "document",
    "latency_class",
    "trial_status",
    "released_at",
    "sort_order",
    "updated_at",
    "context_length",
    "max_completion_tokens",
    "input_modalities",
    "output_modalities",
    "capabilities",
    "supported_parameters",
    "reasoning",
    "video_spec"
  ],
  "title": "CatalogModel",
  "type": "object"
}
```

### ModelCatalogCatalogNotice

`#/components/schemas/ModelCatalogCatalogNotice`

```json
{
  "properties": {
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Title"
    },
    "body": {
      "title": "Body",
      "type": "string"
    },
    "link_text": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Link Text"
    },
    "target_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Target Slug"
    }
  },
  "required": [
    "title",
    "body",
    "link_text",
    "target_slug"
  ],
  "title": "CatalogNotice",
  "type": "object"
}
```

### ModelCatalogCatalogPricing

`#/components/schemas/ModelCatalogCatalogPricing`

```json
{
  "properties": {
    "channel": {
      "title": "Channel",
      "type": "string"
    },
    "currency": {
      "const": "USD",
      "title": "Currency",
      "type": "string"
    },
    "basis": {
      "const": "standard",
      "title": "Basis",
      "type": "string"
    },
    "billing_kind": {
      "title": "Billing Kind",
      "type": "string"
    },
    "prompt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за вхідний токен; null означає недоступність, 0 — безоплатно",
      "title": "Prompt"
    },
    "completion": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за вихідний токен",
      "title": "Completion"
    },
    "audio": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за вхідний аудіотокен",
      "title": "Audio"
    },
    "input_audio_cache": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за кешований аудіотокен",
      "title": "Input Audio Cache"
    },
    "input_image_cache": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD per cached image token",
      "title": "Input Image Cache"
    },
    "internal_reasoning": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за токен reasoning",
      "title": "Internal Reasoning"
    },
    "input_cache_read": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за кешований вхідний токен",
      "title": "Input Cache Read"
    },
    "input_cache_write": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за токен запису в кеш",
      "title": "Input Cache Write"
    },
    "input_cache_write_1h": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за токен запису в кеш із строком 1 година; окремо від записів зі стандартним TTL",
      "title": "Input Cache Write 1H"
    },
    "input_cache_write_12h": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD per 12-hour cache write token; separate from default TTL writes",
      "title": "Input Cache Write 12H"
    },
    "input_image": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за вхідне зображення",
      "title": "Input Image"
    },
    "output_image": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за згенероване зображення",
      "title": "Output Image"
    },
    "input_image_token": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за токен вхідного зображення",
      "title": "Input Image Token"
    },
    "output_image_token": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за токен вихідного зображення",
      "title": "Output Image Token"
    },
    "input_video_second": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за секунду вхідного відео",
      "title": "Input Video Second"
    },
    "output_video_token": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD per generated video token",
      "title": "Output Video Token"
    },
    "output_video_second": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за секунду згенерованого відео",
      "title": "Output Video Second"
    },
    "request": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за запит",
      "title": "Request"
    },
    "credit": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD per credit; billed using the upstream call multiplier",
      "title": "Credit"
    },
    "web_search": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD за запит вебпошуку",
      "title": "Web Search"
    },
    "tiers": {
      "description": "Зберігайте порядок; перший відповідний рівень перевизначає базові тарифи",
      "items": {
        "$ref": "#/components/schemas/ModelCatalogPriceTier"
      },
      "title": "Tiers",
      "type": "array"
    }
  },
  "required": [
    "channel",
    "currency",
    "basis",
    "billing_kind",
    "tiers"
  ],
  "title": "CatalogPricing",
  "type": "object"
}
```

### ModelCatalogDurationSpec

`#/components/schemas/ModelCatalogDurationSpec`

```json
{
  "additionalProperties": false,
  "properties": {
    "min": {
      "minimum": 0,
      "title": "Min",
      "type": "number"
    },
    "max": {
      "exclusiveMinimum": 0,
      "title": "Max",
      "type": "number"
    },
    "step": {
      "exclusiveMinimum": 0,
      "title": "Step",
      "type": "number"
    }
  },
  "required": [
    "min",
    "max",
    "step"
  ],
  "title": "DurationSpec",
  "type": "object"
}
```

### ModelCatalogModelResponse

`#/components/schemas/ModelCatalogModelResponse`

```json
{
  "properties": {
    "schema_version": {
      "const": 2,
      "title": "Schema Version",
      "type": "integer"
    },
    "locale": {
      "enum": [
        "en",
        "zh-CN",
        "zh-TW",
        "ja",
        "ko",
        "ru",
        "pt-BR",
        "de",
        "fr",
        "es",
        "nl",
        "it",
        "vi",
        "id",
        "th",
        "ms",
        "hi",
        "bn",
        "pl",
        "cs",
        "uk",
        "tr",
        "ar",
        "he",
        "fa",
        "ur"
      ],
      "title": "Locale",
      "type": "string"
    },
    "data": {
      "$ref": "#/components/schemas/ModelCatalogCatalogModel"
    }
  },
  "required": [
    "schema_version",
    "locale",
    "data"
  ],
  "title": "CatalogModelResponse",
  "type": "object"
}
```

### ModelCatalogPixelFrameEstimator

`#/components/schemas/ModelCatalogPixelFrameEstimator`

```json
{
  "additionalProperties": false,
  "properties": {
    "kind": {
      "const": "pixel_frames",
      "default": "pixel_frames",
      "title": "Kind",
      "type": "string"
    },
    "version": {
      "const": 1,
      "default": 1,
      "title": "Version",
      "type": "integer"
    },
    "fps": {
      "const": "24",
      "default": "24",
      "title": "Fps",
      "type": "string"
    },
    "pixels_per_token": {
      "const": "1024",
      "default": "1024",
      "title": "Pixels Per Token",
      "type": "string"
    }
  },
  "title": "PixelFrameEstimator",
  "type": "object"
}
```

### ModelCatalogPriceCondition

`#/components/schemas/ModelCatalogPriceCondition`

```json
{
  "properties": {
    "field": {
      "description": "Контекст ціноутворення Felo, наприклад input_context_tokens",
      "title": "Field",
      "type": "string"
    },
    "operator": {
      "enum": [
        "eq",
        "gt",
        "gte"
      ],
      "title": "Operator",
      "type": "string"
    },
    "value": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        }
      ],
      "title": "Value"
    }
  },
  "required": [
    "field",
    "operator",
    "value"
  ],
  "title": "PriceCondition",
  "type": "object"
}
```

### ModelCatalogPriceTier

`#/components/schemas/ModelCatalogPriceTier`

```json
{
  "properties": {
    "conditions": {
      "items": {
        "$ref": "#/components/schemas/ModelCatalogPriceCondition"
      },
      "title": "Conditions",
      "type": "array"
    },
    "overrides": {
      "additionalProperties": {
        "type": "string"
      },
      "title": "Overrides",
      "type": "object"
    }
  },
  "required": [
    "conditions",
    "overrides"
  ],
  "title": "PriceTier",
  "type": "object"
}
```

### ModelCatalogPublicDocument

`#/components/schemas/ModelCatalogPublicDocument`

```json
{
  "properties": {
    "notice": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ModelCatalogCatalogNotice"
        },
        {
          "type": "null"
        }
      ]
    },
    "extra": {
      "additionalProperties": true,
      "title": "Extra",
      "type": "object"
    },
    "updated_at": {
      "description": "Час оновлення документа вибраною мовою",
      "title": "Updated At",
      "type": "string"
    }
  },
  "required": [
    "notice",
    "extra",
    "updated_at"
  ],
  "title": "PublicDocument",
  "type": "object"
}
```

### ModelCatalogPublicSettlementPolicy

`#/components/schemas/ModelCatalogPublicSettlementPolicy`

```json
{
  "properties": {
    "version": {
      "const": 1,
      "title": "Version",
      "type": "integer"
    },
    "primary": {
      "const": "configured_rates",
      "title": "Primary",
      "type": "string"
    },
    "fallback": {
      "enum": [
        "upstream_cost",
        "review_required"
      ],
      "title": "Fallback",
      "type": "string"
    }
  },
  "required": [
    "version",
    "primary",
    "fallback"
  ],
  "title": "PublicSettlementPolicy",
  "type": "object"
}
```

### ModelCatalogSecondVideoReference

`#/components/schemas/ModelCatalogSecondVideoReference`

```json
{
  "additionalProperties": false,
  "properties": {
    "version": {
      "const": 1,
      "default": 1,
      "title": "Version",
      "type": "integer"
    },
    "currency": {
      "const": "USD",
      "default": "USD",
      "title": "Currency",
      "type": "string"
    },
    "basis": {
      "const": "public_reference_before_discount",
      "default": "public_reference_before_discount",
      "title": "Basis",
      "type": "string"
    },
    "as_of": {
      "title": "As Of",
      "type": "string"
    },
    "snapshot_id": {
      "title": "Snapshot Id",
      "type": "string"
    },
    "settlement_basis": {
      "const": "upstream_cost",
      "default": "upstream_cost",
      "title": "Settlement Basis",
      "type": "string"
    },
    "source_model_id": {
      "title": "Source Model Id",
      "type": "string"
    },
    "canonical_slug": {
      "title": "Canonical Slug",
      "type": "string"
    },
    "supported_durations": {
      "items": {
        "type": "integer"
      },
      "title": "Supported Durations",
      "type": "array"
    },
    "supported_resolutions": {
      "items": {
        "type": "string"
      },
      "title": "Supported Resolutions",
      "type": "array"
    },
    "supported_aspect_ratios": {
      "items": {
        "type": "string"
      },
      "title": "Supported Aspect Ratios",
      "type": "array"
    },
    "supported_frame_images": {
      "items": {
        "type": "string"
      },
      "title": "Supported Frame Images",
      "type": "array"
    },
    "seed_supported": {
      "title": "Seed Supported",
      "type": "boolean"
    },
    "reservation": {
      "$ref": "#/components/schemas/ModelCatalogVideoReservation"
    },
    "request_defaults": {
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "boolean"
          }
        ]
      },
      "title": "Request Defaults",
      "type": "object"
    },
    "rows": {
      "items": {
        "$ref": "#/components/schemas/ModelCatalogVideoReferenceRow"
      },
      "title": "Rows",
      "type": "array"
    },
    "pricing_type": {
      "const": "per_second",
      "title": "Pricing Type",
      "type": "string"
    }
  },
  "required": [
    "as_of",
    "snapshot_id",
    "source_model_id",
    "canonical_slug",
    "supported_durations",
    "supported_resolutions",
    "supported_aspect_ratios",
    "supported_frame_images",
    "seed_supported",
    "reservation",
    "request_defaults",
    "rows",
    "pricing_type"
  ],
  "title": "SecondVideoReference",
  "type": "object"
}
```

### ModelCatalogTokenVideoReference

`#/components/schemas/ModelCatalogTokenVideoReference`

```json
{
  "additionalProperties": false,
  "properties": {
    "version": {
      "const": 1,
      "default": 1,
      "title": "Version",
      "type": "integer"
    },
    "currency": {
      "const": "USD",
      "default": "USD",
      "title": "Currency",
      "type": "string"
    },
    "basis": {
      "const": "public_reference_before_discount",
      "default": "public_reference_before_discount",
      "title": "Basis",
      "type": "string"
    },
    "as_of": {
      "title": "As Of",
      "type": "string"
    },
    "snapshot_id": {
      "title": "Snapshot Id",
      "type": "string"
    },
    "settlement_basis": {
      "const": "upstream_cost",
      "default": "upstream_cost",
      "title": "Settlement Basis",
      "type": "string"
    },
    "source_model_id": {
      "title": "Source Model Id",
      "type": "string"
    },
    "canonical_slug": {
      "title": "Canonical Slug",
      "type": "string"
    },
    "supported_durations": {
      "items": {
        "type": "integer"
      },
      "title": "Supported Durations",
      "type": "array"
    },
    "supported_resolutions": {
      "items": {
        "type": "string"
      },
      "title": "Supported Resolutions",
      "type": "array"
    },
    "supported_aspect_ratios": {
      "items": {
        "type": "string"
      },
      "title": "Supported Aspect Ratios",
      "type": "array"
    },
    "supported_frame_images": {
      "items": {
        "type": "string"
      },
      "title": "Supported Frame Images",
      "type": "array"
    },
    "seed_supported": {
      "title": "Seed Supported",
      "type": "boolean"
    },
    "reservation": {
      "$ref": "#/components/schemas/ModelCatalogVideoReservation"
    },
    "request_defaults": {
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "boolean"
          }
        ]
      },
      "title": "Request Defaults",
      "type": "object"
    },
    "rows": {
      "items": {
        "$ref": "#/components/schemas/ModelCatalogVideoReferenceRow"
      },
      "title": "Rows",
      "type": "array"
    },
    "pricing_type": {
      "const": "video_token",
      "title": "Pricing Type",
      "type": "string"
    },
    "token_estimator": {
      "$ref": "#/components/schemas/ModelCatalogPixelFrameEstimator"
    }
  },
  "required": [
    "as_of",
    "snapshot_id",
    "source_model_id",
    "canonical_slug",
    "supported_durations",
    "supported_resolutions",
    "supported_aspect_ratios",
    "supported_frame_images",
    "seed_supported",
    "reservation",
    "request_defaults",
    "rows",
    "pricing_type",
    "token_estimator"
  ],
  "title": "TokenVideoReference",
  "type": "object"
}
```

### ModelCatalogVideoReferenceRow

`#/components/schemas/ModelCatalogVideoReferenceRow`

```json
{
  "additionalProperties": false,
  "properties": {
    "resolution": {
      "title": "Resolution",
      "type": "string"
    },
    "aspect_ratio": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Aspect Ratio"
    },
    "size": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Size"
    },
    "input_mode": {
      "enum": [
        "text_to_video",
        "image_to_video",
        "first_last_frame"
      ],
      "title": "Input Mode",
      "type": "string"
    },
    "generate_audio": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Generate Audio"
    },
    "unit": {
      "enum": [
        "output_video_second",
        "video_token"
      ],
      "title": "Unit",
      "type": "string"
    },
    "unit_price_usd": {
      "title": "Unit Price Usd",
      "type": "string"
    },
    "derived_output_second_usd": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Derived Output Second Usd"
    },
    "input_image_billing": {
      "enum": [
        "per_image",
        "included",
        "not_applicable"
      ],
      "title": "Input Image Billing",
      "type": "string"
    },
    "input_image_price_usd": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Input Image Price Usd"
    },
    "reservation_supported": {
      "const": true,
      "default": true,
      "title": "Reservation Supported",
      "type": "boolean"
    },
    "reservation_unavailable_reason": {
      "default": null,
      "title": "Reservation Unavailable Reason",
      "type": "null"
    },
    "max_duration_output_estimate_usd": {
      "title": "Max Duration Output Estimate Usd",
      "type": "string"
    }
  },
  "required": [
    "resolution",
    "input_mode",
    "unit",
    "unit_price_usd",
    "input_image_billing",
    "max_duration_output_estimate_usd"
  ],
  "title": "VideoReferenceRow",
  "type": "object"
}
```

### ModelCatalogVideoReservation

`#/components/schemas/ModelCatalogVideoReservation`

```json
{
  "additionalProperties": false,
  "properties": {
    "strategy": {
      "const": "requested_duration_or_model_max",
      "default": "requested_duration_or_model_max",
      "title": "Strategy",
      "type": "string"
    },
    "max_duration_seconds": {
      "exclusiveMinimum": 0,
      "title": "Max Duration Seconds",
      "type": "integer"
    },
    "output_count": {
      "const": 1,
      "default": 1,
      "title": "Output Count",
      "type": "integer"
    }
  },
  "required": [
    "max_duration_seconds"
  ],
  "title": "VideoReservation",
  "type": "object"
}
```

### ModelCatalogVideoSalePricing

`#/components/schemas/ModelCatalogVideoSalePricing`

```json
{
  "properties": {
    "currency": {
      "const": "USD",
      "title": "Currency",
      "type": "string"
    },
    "basis": {
      "const": "sale_before_discount",
      "title": "Basis",
      "type": "string"
    },
    "unit": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Primary billing unit, e.g. output_video_second or video_token",
      "title": "Unit"
    },
    "selection": {
      "anyOf": [
        {
          "const": "first_match",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "First matching rule wins; the final empty rule is the default",
      "title": "Selection"
    },
    "minimum_charge_usd": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Marked-up minimum charge in USD, before discount; null if none",
      "title": "Minimum Charge Usd"
    },
    "rows": {
      "description": "Per-spec sale unit prices. Final charge uses the upstream-reported usage, so the billed amount is upstream cost times markup_multiplier times discount_multiplier; a minimum billable duration may apply.",
      "items": {
        "$ref": "#/components/schemas/ModelCatalogVideoSalePricingRow"
      },
      "title": "Rows",
      "type": "array"
    }
  },
  "required": [
    "currency",
    "basis",
    "rows"
  ],
  "title": "VideoSalePricing",
  "type": "object"
}
```

### ModelCatalogVideoSalePricingRow

`#/components/schemas/ModelCatalogVideoSalePricingRow`

```json
{
  "properties": {
    "conditions": {
      "additionalProperties": true,
      "description": "Equality-condition summary; predicates retain the complete rule semantics",
      "title": "Conditions",
      "type": "object"
    },
    "predicates": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/components/schemas/ModelCatalogPriceCondition"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Ordered rule predicates including range comparisons",
      "title": "Predicates"
    },
    "rates": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "USD sale unit prices (purchase price times markup_multiplier), before discount",
      "title": "Rates",
      "type": "object"
    }
  },
  "required": [
    "conditions",
    "rates"
  ],
  "title": "VideoSalePricingRow",
  "type": "object"
}
```

### ModelCatalogVideoSecondPricing

`#/components/schemas/ModelCatalogVideoSecondPricing`

```json
{
  "properties": {
    "currency": {
      "const": "USD",
      "title": "Currency",
      "type": "string"
    },
    "basis": {
      "const": "sale_before_discount",
      "title": "Basis",
      "type": "string"
    },
    "pricing_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "per_second or video_token",
      "title": "Pricing Type"
    },
    "second_basis": {
      "description": "exact for per-second models; token_pixel_frames_estimate when per_second_usd is derived from the video_token rate (token price x resolution pixels x fps 24 / 1024). Token models still settle on reported token usage; per-second price is for display.",
      "enum": [
        "exact",
        "token_pixel_frames_estimate"
      ],
      "title": "Second Basis",
      "type": "string"
    },
    "rows": {
      "items": {
        "$ref": "#/components/schemas/ModelCatalogVideoSecondPricingRow"
      },
      "title": "Rows",
      "type": "array"
    }
  },
  "required": [
    "currency",
    "basis",
    "second_basis",
    "rows"
  ],
  "title": "VideoSecondPricing",
  "type": "object"
}
```

### ModelCatalogVideoSecondPricingRow

`#/components/schemas/ModelCatalogVideoSecondPricingRow`

```json
{
  "properties": {
    "resolution": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Resolution"
    },
    "aspect_ratio": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Aspect Ratio"
    },
    "input_mode": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Input Mode"
    },
    "generate_audio": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Generate Audio"
    },
    "predicates": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/components/schemas/ModelCatalogPriceCondition"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Full conditions for this per-second price row",
      "title": "Predicates"
    },
    "per_second_usd": {
      "description": "USD per output second (sale price before discount); markup already applied",
      "title": "Per Second Usd",
      "type": "string"
    },
    "input_image_usd": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "USD per input image (sale price before discount); null if none",
      "title": "Input Image Usd"
    },
    "estimated": {
      "description": "True when derived from a video_token rate via the pixel-frame formula",
      "title": "Estimated",
      "type": "boolean"
    }
  },
  "required": [
    "per_second_usd",
    "estimated"
  ],
  "title": "VideoSecondPricingRow",
  "type": "object"
}
```

### ModelCatalogVideoSpec

`#/components/schemas/ModelCatalogVideoSpec`

```json
{
  "additionalProperties": false,
  "properties": {
    "resolutions": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Resolutions"
    },
    "duration_seconds": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ModelCatalogDurationSpec"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "aspect_ratios": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Aspect Ratios"
    },
    "input_modes": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Input Modes"
    },
    "audio": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ModelCatalogAudioSpec"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "reference_limits": {
      "anyOf": [
        {
          "additionalProperties": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Reference Limits"
    },
    "constraints": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "JSON Schema лише з даними для припустимих комбінацій запиту",
      "title": "Constraints"
    },
    "request_defaults": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Request Defaults"
    },
    "example_request": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Example Request"
    }
  },
  "title": "VideoSpec",
  "type": "object"
}
```

### ModelCatalogWalletPublicChannel

`#/components/schemas/ModelCatalogWalletPublicChannel`

```json
{
  "properties": {
    "reference_pricing": {
      "anyOf": [
        {
          "discriminator": {
            "mapping": {
              "per_second": "#/components/schemas/ModelCatalogSecondVideoReference",
              "video_token": "#/components/schemas/ModelCatalogTokenVideoReference"
            },
            "propertyName": "pricing_type"
          },
          "oneOf": [
            {
              "$ref": "#/components/schemas/ModelCatalogSecondVideoReference"
            },
            {
              "$ref": "#/components/schemas/ModelCatalogTokenVideoReference"
            }
          ]
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Public video reference before discount; not a final charge",
      "title": "Reference Pricing"
    },
    "sale_pricing": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ModelCatalogVideoSalePricing"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Video sale unit prices (purchase price times markup_multiplier), before discount; null when no synchronized video rates are frozen"
    },
    "second_pricing": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ModelCatalogVideoSecondPricing"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Per-second sale prices by resolution/mode (markup applied, before discount). For video_token models the per-second value is an estimate; settlement uses token usage"
    },
    "settlement_policy": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ModelCatalogPublicSettlementPolicy"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Published primary pricing and missing-usage fallback policy"
    },
    "pricing_mode": {
      "default": "configured_rates",
      "description": "Налаштовані ставки за одиницю або заявлена вартість медіа з урахуванням знижки під час продажу",
      "enum": [
        "configured_rates",
        "upstream_cost"
      ],
      "title": "Pricing Mode",
      "type": "string"
    },
    "code": {
      "title": "Code",
      "type": "string"
    },
    "name": {
      "title": "Name",
      "type": "string"
    },
    "service_tier": {
      "title": "Service Tier",
      "type": "string"
    },
    "region": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Region"
    },
    "is_default": {
      "title": "Is Default",
      "type": "boolean"
    },
    "runnable": {
      "title": "Runnable",
      "type": "boolean"
    },
    "standard_pricing": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ModelCatalogCatalogPricing"
        },
        {
          "type": "null"
        }
      ],
      "description": "Стандартні ставки за одиницю до знижки під час продажу; null для каналів upstream_cost"
    },
    "discount_multiplier": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Точний множник продажу від 0 до 1; застосовуйте один раз до налаштованих ставок або вартості в апстрімі",
      "title": "Discount Multiplier"
    },
    "markup_multiplier": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Sale markup (>= 1) applied to the purchase price or upstream cost to form the sale price, before discount_multiplier",
      "title": "Markup Multiplier"
    }
  },
  "required": [
    "code",
    "name",
    "service_tier",
    "region",
    "is_default",
    "runnable",
    "standard_pricing",
    "discount_multiplier"
  ],
  "title": "WalletPublicChannel",
  "type": "object"
}
```
