Skip to main content
Glama

List aicut models

list_models
Read-onlyIdempotent

Returns the AI video, image and audio models this API can generate with: each model's exact parameters (names, allowed values, limits, defaults), the media inputs it takes and its pricing. WHEN: call this, NARROWED and never as the whole catalog, before the first generate_video, generate_image or generate_audio of a session: model ids cannot be guessed, nor can the resolutions, durations or aspect ratios a model allows (generate_* rejects a combination not published here). A speech model's voice comes from list_voices, not from here. NARROW IT, DO NOT PULL IT: the unfiltered listing is several thousand tokens, mostly pricing tables. query is free text (send the user's own words; ignored_query_terms names the words that matched nothing). tags is a closed vocabulary, ANDed, derived from each entry's own fields: video / image / audio, speech / music / sound-effects, vertical / horizontal / square, image-input with start-image / end-image / reference-image (or text-only), native-audio (an audio switch, default OFF), recommended; tag_vocabulary rides on every answer and an unknown tag is a 400. There is no duration tag: durations are searchable (query: '10') and every entry carries its durations. type is the product, model one id. PAGING only if you ask: with no limit you get every match. With limit the answer carries total_matching, has_more and next_cursor: READ THEM before telling a user something does not exist, and continue with the SAME filters. PRICING, one shape per entry: video and image models carry pricing, an enumerated table (the row matching your resolution, duration, quality and audio is the cost); audio models carry pricing_rates (per character, minute or second): there is no row to match and you must NOT multiply the rate yourself; use estimate_only: true on generate_audio.

Input Schema

NameRequiredDescriptionDefault
tagsNoTags every returned model must carry (an AND), e.g. `['video','vertical','reference-image']`; `tag_vocabulary` rides on every answer and an unknown tag is a 400.
typeNoOnly one product: `video`, `image` or `audio`. Omit for all three.
limitNo1-100. Omit to get every match (right once filtered); otherwise read `has_more` and `total_matching`.
modelNoOnly the model with this exact id (for example `kling-3.0`).
queryNoFree text: the user's own words ('vertical product ad', '4k'). Words that match nothing are dropped and named in `ignored_query_terms`; the rest must all match (an AND).
cursorNoThe previous `next_cursor`. Send the SAME `type` / `model` / `query` / `tags` with it: different filters are a 400, not a restart.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even with read-only annotations already covering safety, the description adds substantial behavioral context: unfiltered results cost several thousand tokens, unknown tags produce a 400, cursor paging requires identical filters, and pricing shapes differ between video/image and audio models.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long, but its length is justified by the catalog complexity and it is structured around WHEN, narrowing, tags, paging and pricing. Some emphasis-heavy wording is repetitive, but the key guidance is front-loaded and actionable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the burden of explaining return shapes and does so: tag vocabulary in responses, `ignored_query_terms`, `total_matching`, `has_more`, `next_cursor`, and the two pricing shapes. An agent has enough information to call and interpret the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description still adds meaningful semantics beyond the schema: it explains the closed tag vocabulary, how `query` drops unmatched terms into `ignored_query_terms`, and when to use `limit` versus retrieving every match.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: it returns AI video, image and audio models with their parameters, inputs and pricing. It clearly distinguishes this catalog tool from generation siblings (`generate_video`, `generate_image`, `generate_audio`) and from `list_voices`.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit WHEN guidance: call before the first generation of a session, narrowed and never as the whole catalog. It names alternatives and edge cases, including that voice ids come from `list_voices` and that model ids and supported combinations cannot be guessed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Directories

Listed in ChatGPT · aicut

Last observed