Properties
| Name | Type | Description |
|---|---|---|
| data | array | |
| next_cursor | stringnull |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/bike4mind-com/json-schema/bike4mind-com-list-models-response200-schema.json",
"title": "listModelsResponse200",
"x-generated": "2026-11-02",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/bike4mind-com-openapi.json#/components/schemas/listModelsResponse200",
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Pass as `model` on the generation endpoints."
},
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"text",
"image",
"speech-to-text",
"video"
]
},
"backend": {
"type": "string",
"enum": [
"openai",
"bedrock",
"anthropic",
"gemini",
"ollama",
"openai-compatible",
"bfl",
"xai",
"kimi",
"deepseek",
"voyageai",
"aws",
"local-image"
],
"description": "The provider that serves the model."
},
"description": {
"type": [
"string",
"null"
]
},
"context_window": {
"type": "integer",
"description": "Input context, in tokens."
},
"max_output_tokens": {
"type": "integer"
},
"supports_streaming": {
"type": "boolean"
},
"supports_thinking": {
"type": "boolean"
},
"reasons_within_output_budget": {
"type": "boolean",
"description": "Whether reasoning tokens are spent inside `max_output_tokens` on every turn. When true, a small `max_tokens` can be used up by reasoning alone and return an empty reply, so leave room above the answer you expect."
},
"reasoning_efforts": {
"type": "array",
"items": {
"type": "string",
"enum": [
"none",
"minimal",
"low",
"medium",
"high",
"xhigh"
]
},
"description": "The `reasoningEffort` levels this model acts on, lowest first; empty when it ignores the option. `none` is listed only where it turns reasoning off. Each level is mapped to the nearest one the provider offers. A listed level can still be dropped on one request: some OpenAI models drop it on tool turns, and Claude models with a fixed thinking budget drop it when `max_tokens` leaves no room for the budget plus the answer."
},
"supports_tools": {
"type": "boolean"
},
"supports_tool_search": {
"type": "boolean",
"description": "Whether the model accepts the tool search server tool and `defer_loading: true` on tool definitions, so a large tool catalog is searched on demand instead of loaded into context up front. Describes the model: `/api/ai/v1/completions` honours it for every model with this flag set, whether its `backend` is `anthropic` or `bedrock`."
},
"supports_tool_changes": {
"type": "boolean",
"description": "Whether a system-role message can carry `tool_addition` and `tool_removal` blocks, which add or remove a declared tool mid-conversation. Describes the model: `/api/ai/v1/completions` honours it only for models whose `backend` is `anthropic`; a `bedrock` model with this flag set is refused there with `errorCode: \"tool_changes_unsupported\"`."
},
"supports_assistant_prefill": {
"type": "boolean",
"description": "Whether `/api/ai/v1/completions` accepts a final assistant message for the model to continue. When false, a text prefill returns `400` with `errorCode: \"assistant_prefill_unsupported\"`; server-tool continuations are allowed. On Claude models that accept assistant prefill, it cannot be combined with `thinking`."
},
"supports_vision": {
"type": "boolean"
},
"deprecation_date": {
"type": [
"string",
"null"
],
"description": "`YYYY-MM-DD`; null when no retirement is scheduled."
},
"replaced_by": {
"type": [
"string",
"null"
],
"description": "The id of the recommended successor, when there is one."
},
"image": {
"type": [
"object",
"null"
],
"properties": {
"sizing": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"presets"
]
},
"presets": {
"type": "array",
"items": {
"type": "string"
},
"description": "Accepted `size` values, as `WxH`."
},
"default_size": {
"type": "string"
}
},
"required": [
"kind",
"presets",
"default_size"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"constrained"
]
},
"presets": {
"type": "array",
"items": {
"type": "string"
},
"description": "Suggested `size` values; any `WxH` meeting `constraints` is accepted."
},
"default_size": {
"type": "string"
},
"auto_size": {
"type": "string",
"description": "The `size` value that lets the provider choose."
},
"constraints": {
"type": "object",
"properties": {
"max_edge": {
"type": "integer"
},
"min_total_pixels": {
"type": "integer"
},
"max_total_pixels": {
"type": "integer"
},
"edge_multiple": {
"type": "integer",
"description": "Both edges must be a multiple of this."
},
"max_aspect_ratio": {
"type": "number",
"description": "Longest edge divided by shortest edge."
}
},
"required": [
"max_edge",
"min_total_pixels",
"max_total_pixels",
"edge_multiple",
"max_aspect_ratio"
]
}
},
"required": [
"kind",
"presets",
"default_size",
"auto_size",
"constraints"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"dimensions"
]
},
"presets": {
"type": "array",
"items": {
"type": "string"
}
},
"default_size": {
"type": "string"
},
"min_width": {
"type": "integer"
},
"max_width": {
"type": "integer"
},
"min_height": {
"type": "integer"
},
"max_height": {
"type": "integer"
},
"step": {
"type": "integer",
"description": "`width` and `height` are rounded to the nearest multiple of this."
}
},
"required": [
"kind",
"presets",
"default_size",
"min_width",
"max_width",
"min_height",
"max_height",
"step"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"aspect_ratio"
],
"description": "Takes an `aspect_ratio` such as `16:9`, not a `size`."
}
},
"required": [
"kind"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"input_image"
],
"description": "Sized by the input image; takes no `size`."
},
"aspect_ratio": {
"type": "boolean",
"description": "Whether an `aspect_ratio` override is honoured."
}
},
"required": [
"kind",
"aspect_ratio"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"fixed"
],
"description": "The provider takes no size at all."
}
},
"required": [
"kind"
]
}
]
},
"supports": {
"type": "object",
"properties": {
"transparent_background": {
"type": "boolean",
"description": "`background: 'transparent'` yields real alpha."
},
"seed": {
"type": "boolean"
},
"qualities": {
"type": "array",
"items": {
"type": "string",
"enum": [
"standard",
"hd",
"low",
"medium",
"high",
"xhigh",
"max",
"auto"
]
},
"description": "Accepted `quality` tiers; empty when none is taken."
},
"max_images": {
"type": "integer",
"description": "Most images one request may ask for via `n`."
},
"max_reference_images": {
"type": "integer",
"description": "Most `referenceImageFabFileIds` honoured; 0 when the model takes none."
},
"edit": {
"type": "boolean",
"description": "Accepted by `POST /api/v1/image-edits`."
},
"requires_input_image": {
"type": "boolean"
}
},
"required": [
"transparent_background",
"seed",
"qualities",
"max_images",
"max_reference_images",
"edit",
"requires_input_image"
]
}
},
"required": [
"sizing",
"supports"
],
"description": "Size rules and supported parameters. Present on image models only; null for every other type."
},
"credits_per_1m_tokens": {
"type": [
"object",
"null"
],
"properties": {
"input": {
"type": "number",
"description": "Credits per 1M input tokens."
},
"output": {
"type": "number",
"description": "Credits per 1M output tokens."
},
"cached_input": {
"type": [
"number",
"null"
],
"description": "Credits per 1M input tokens served from the provider prompt cache. Null where cached tokens are not billed separately, so they cost the `input` rate."
}
},
"required": [
"input",
"output",
"cached_input"
],
"description": "What a call is billed, in credits per 1M tokens, at the base context tier. Use it to compare models by cost. Null on non-text models and on any model with no published price; never 0 for an unpriced model."
}
},
"required": [
"id",
"name",
"type",
"backend",
"description",
"context_window",
"max_output_tokens",
"supports_streaming",
"supports_thinking",
"reasons_within_output_budget",
"reasoning_efforts",
"supports_tools",
"supports_tool_search",
"supports_tool_changes",
"supports_assistant_prefill",
"supports_vision",
"deprecation_date",
"replaced_by",
"image",
"credits_per_1m_tokens"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"data",
"next_cursor"
]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/bike4mind-com-list-models-response200"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.