---
title: "Show where one model's metadata comes from"
method: GET
path: "/admin/models/metadata"
tags: ["admin"]
---

# Show where one model's metadata comes from

`GET /admin/models/metadata`

Returns the merged metadata the gateway serves for a model together with each layer it was merged from: the provider's own listing, the model catalog entry and the config.yaml override. A null layer knows nothing about the model. `sources` names the winning layer per field (config, provider, catalog or inferred).

## Query parameters

- `provider` string, required
- `model` string, required

## Response `200`

OK

- ProvidersModelMetadataLayers
  - `catalog` CoreModelMetadata
    - `capabilities` object
    - `categories` CoreModelCategory[]
    - `context_window` integer
    - `description` string
    - `display_name` string
    - `family` string
    - `max_output_tokens` integer
    - `modes` string[]
    - `pricing` CoreModelPricing
      - `audio_input_per_mtok` number
      - `audio_output_per_mtok` number
      - `batch_input_per_mtok` number
      - `batch_output_per_mtok` number
      - `cache_write_per_mtok` number
      - `cached_input_per_mtok` number
      - `currency` string
      - `input_per_image` number
      - `input_per_mtok` number
      - `output_image_per_mtok` number — OutputImagePerMtok prices generated image tokens, which providers bill at a different rate from text output (OpenAI gpt-image-1: $40/Mtok image output and no text output rate at all; Gemini 3 Pro Image: $120/Mtok image output versus $12/Mtok text). It is the output rate on the image endpoints.
      - `output_per_mtok` number
      - `per_character_input` number
      - `per_image` number — PerImage prices a returned image as a flat unit, for models that report no token usage at all (DALL·E, Imagen, grok-imagine). It is an alternative expression of the same charge as OutputImagePerMtok, never an addition to it: catalog entries carry both, so only one may be applied (see usage.CalculateGranularCost).
      - `per_page` number
      - `per_request` number
      - `per_second_input` number
      - `per_second_output` number
      - `reasoning_output_per_mtok` number
      - `tiers` CoreModelPricingTier[]
        - `cached_input_per_mtok` number
        - `input_per_mtok` number
        - `output_per_mtok` number
        - `up_to_mtok` number
        - `up_to_tokens` integer
      - `time_windows` CoreModelPricingTimeWindow[] — TimeWindows carry rates that replace the base prices during recurring UTC windows (see ModelPricingTimeWindow). Base prices are the standard (peak) rates; use AtTime to resolve the rates in effect at a moment.
        - `label` string
        - `pricing` CoreModelPricingTimeWindowRates
          - `cache_write_per_mtok` number
          - `cached_input_per_mtok` number
          - `input_per_mtok` number
          - `output_per_mtok` number
        - `utc_ranges` CoreModelPricingUTCRange[]
          - `days` string[]
          - `end` string
          - `start` string
    - `pricing_sources` object
    - `rankings` object
    - `tags` string[]
  - `config` CoreModelMetadata
    - `capabilities` object
    - `categories` CoreModelCategory[]
    - `context_window` integer
    - `description` string
    - `display_name` string
    - `family` string
    - `max_output_tokens` integer
    - `modes` string[]
    - `pricing` CoreModelPricing
      - `audio_input_per_mtok` number
      - `audio_output_per_mtok` number
      - `batch_input_per_mtok` number
      - `batch_output_per_mtok` number
      - `cache_write_per_mtok` number
      - `cached_input_per_mtok` number
      - `currency` string
      - `input_per_image` number
      - `input_per_mtok` number
      - `output_image_per_mtok` number — OutputImagePerMtok prices generated image tokens, which providers bill at a different rate from text output (OpenAI gpt-image-1: $40/Mtok image output and no text output rate at all; Gemini 3 Pro Image: $120/Mtok image output versus $12/Mtok text). It is the output rate on the image endpoints.
      - `output_per_mtok` number
      - `per_character_input` number
      - `per_image` number — PerImage prices a returned image as a flat unit, for models that report no token usage at all (DALL·E, Imagen, grok-imagine). It is an alternative expression of the same charge as OutputImagePerMtok, never an addition to it: catalog entries carry both, so only one may be applied (see usage.CalculateGranularCost).
      - `per_page` number
      - `per_request` number
      - `per_second_input` number
      - `per_second_output` number
      - `reasoning_output_per_mtok` number
      - `tiers` CoreModelPricingTier[]
        - `cached_input_per_mtok` number
        - `input_per_mtok` number
        - `output_per_mtok` number
        - `up_to_mtok` number
        - `up_to_tokens` integer
      - `time_windows` CoreModelPricingTimeWindow[] — TimeWindows carry rates that replace the base prices during recurring UTC windows (see ModelPricingTimeWindow). Base prices are the standard (peak) rates; use AtTime to resolve the rates in effect at a moment.
        - `label` string
        - `pricing` CoreModelPricingTimeWindowRates
          - `cache_write_per_mtok` number
          - `cached_input_per_mtok` number
          - `input_per_mtok` number
          - `output_per_mtok` number
        - `utc_ranges` CoreModelPricingUTCRange[]
          - `days` string[]
          - `end` string
          - `start` string
    - `pricing_sources` object
    - `rankings` object
    - `tags` string[]
  - `effective` CoreModelMetadata
    - `capabilities` object
    - `categories` CoreModelCategory[]
    - `context_window` integer
    - `description` string
    - `display_name` string
    - `family` string
    - `max_output_tokens` integer
    - `modes` string[]
    - `pricing` CoreModelPricing
      - `audio_input_per_mtok` number
      - `audio_output_per_mtok` number
      - `batch_input_per_mtok` number
      - `batch_output_per_mtok` number
      - `cache_write_per_mtok` number
      - `cached_input_per_mtok` number
      - `currency` string
      - `input_per_image` number
      - `input_per_mtok` number
      - `output_image_per_mtok` number — OutputImagePerMtok prices generated image tokens, which providers bill at a different rate from text output (OpenAI gpt-image-1: $40/Mtok image output and no text output rate at all; Gemini 3 Pro Image: $120/Mtok image output versus $12/Mtok text). It is the output rate on the image endpoints.
      - `output_per_mtok` number
      - `per_character_input` number
      - `per_image` number — PerImage prices a returned image as a flat unit, for models that report no token usage at all (DALL·E, Imagen, grok-imagine). It is an alternative expression of the same charge as OutputImagePerMtok, never an addition to it: catalog entries carry both, so only one may be applied (see usage.CalculateGranularCost).
      - `per_page` number
      - `per_request` number
      - `per_second_input` number
      - `per_second_output` number
      - `reasoning_output_per_mtok` number
      - `tiers` CoreModelPricingTier[]
        - `cached_input_per_mtok` number
        - `input_per_mtok` number
        - `output_per_mtok` number
        - `up_to_mtok` number
        - `up_to_tokens` integer
      - `time_windows` CoreModelPricingTimeWindow[] — TimeWindows carry rates that replace the base prices during recurring UTC windows (see ModelPricingTimeWindow). Base prices are the standard (peak) rates; use AtTime to resolve the rates in effect at a moment.
        - `label` string
        - `pricing` CoreModelPricingTimeWindowRates
          - `cache_write_per_mtok` number
          - `cached_input_per_mtok` number
          - `input_per_mtok` number
          - `output_per_mtok` number
        - `utc_ranges` CoreModelPricingUTCRange[]
          - `days` string[]
          - `end` string
          - `start` string
    - `pricing_sources` object
    - `rankings` object
    - `tags` string[]
  - `provider` CoreModelMetadata
    - `capabilities` object
    - `categories` CoreModelCategory[]
    - `context_window` integer
    - `description` string
    - `display_name` string
    - `family` string
    - `max_output_tokens` integer
    - `modes` string[]
    - `pricing` CoreModelPricing
      - `audio_input_per_mtok` number
      - `audio_output_per_mtok` number
      - `batch_input_per_mtok` number
      - `batch_output_per_mtok` number
      - `cache_write_per_mtok` number
      - `cached_input_per_mtok` number
      - `currency` string
      - `input_per_image` number
      - `input_per_mtok` number
      - `output_image_per_mtok` number — OutputImagePerMtok prices generated image tokens, which providers bill at a different rate from text output (OpenAI gpt-image-1: $40/Mtok image output and no text output rate at all; Gemini 3 Pro Image: $120/Mtok image output versus $12/Mtok text). It is the output rate on the image endpoints.
      - `output_per_mtok` number
      - `per_character_input` number
      - `per_image` number — PerImage prices a returned image as a flat unit, for models that report no token usage at all (DALL·E, Imagen, grok-imagine). It is an alternative expression of the same charge as OutputImagePerMtok, never an addition to it: catalog entries carry both, so only one may be applied (see usage.CalculateGranularCost).
      - `per_page` number
      - `per_request` number
      - `per_second_input` number
      - `per_second_output` number
      - `reasoning_output_per_mtok` number
      - `tiers` CoreModelPricingTier[]
        - `cached_input_per_mtok` number
        - `input_per_mtok` number
        - `output_per_mtok` number
        - `up_to_mtok` number
        - `up_to_tokens` integer
      - `time_windows` CoreModelPricingTimeWindow[] — TimeWindows carry rates that replace the base prices during recurring UTC windows (see ModelPricingTimeWindow). Base prices are the standard (peak) rates; use AtTime to resolve the rates in effect at a moment.
        - `label` string
        - `pricing` CoreModelPricingTimeWindowRates
          - `cache_write_per_mtok` number
          - `cached_input_per_mtok` number
          - `input_per_mtok` number
          - `output_per_mtok` number
        - `utc_ranges` CoreModelPricingUTCRange[]
          - `days` string[]
          - `end` string
          - `start` string
    - `pricing_sources` object
    - `rankings` object
    - `tags` string[]
  - `selector` string
  - `sources` object — Sources names the layer that supplied each effective field (see modeldata.MetadataSources).

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found

## Changes

- **2026-09-22** `e9c954cb1569` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/enterpilot/apis/gomodel-api/changes/admin/models/metadata/get.md)

---

[API](https://skmtc.dev/enterpilot/apis/gomodel-api.md) · [All operations](https://skmtc.dev/enterpilot/apis/gomodel-api/llms.txt) · [OpenAPI document](https://skmtc.dev/enterpilot/apis/gomodel-api/revisions/af74864aac7f?raw)
