Skip to content
Capabilities

Capabilities

What each model can do through the API, model by model: tools, image input, reasoning, JSON output, prompt caching, web search and streaming.

Every model is reached through the same three endpoints with the same key. The two tables show where the models differ. A dash means the model answers without that capability.

Shannon models

Model ToolsImagesReasoningEffortJSON objectJSON schemaCachingSearchStreaming
shannon-1.6-lite YesYes——YesYes—YesYes
shannon-1.6-pro YesYesYes—YesYes—YesYes
shannon-2-lite Yes—Yes—YesYes—YesYes
shannon-2-pro Yes—Yes—YesYes—YesYes
shannon-3 YesYesYes—YesYes—YesYes
shannon-3-pro YesYesYes—YesYes—YesYes
shannon-3.1 YesYesYes—YesYes—YesYes
shannon-3.1-pro YesYesYes—YesYes—YesYes
shannon-3.5 Yes———YesYes——Yes
shannon-coder-1 Yes—Yes—YesYes——Yes

Hosted open-weight models

The id of a hosted model is its name and its variant joined by a hyphen, for example DeepSeek-V4-Pro-0813-3BIT-REAP.

Model ToolsImagesReasoningEffortJSON objectJSON schemaCachingSearchStreaming
DeepSeek-V4-Pro-0813 3BIT-REAP Yes—YesYesYesYesYes—Yes
GLM-5.2 3BIT-REAP Yes—YesYesYesYesYes—Yes
Kimi-K3 3BIT-REAP YesYesYesYesYesYesYes—Yes
Nemotron3Ultra 3BIT-REAP Yes—YesYesYesYesYes—Yes
MiniMax-M3 3BIT-REAP YesYesYesYesYesYesYes—Yes
DeepSeek-V4-Flash-0731 W4A16-AUTOROUND-REAP Yes—YesYesYesYesYes—Yes
Kimi-K2.6 W4A16-AUTOROUND-REAP YesYesYesYesYesYesYes—Yes
Laguna-S-2.1 W4A16-AUTOROUND-REAP Yes—YesYes——Yes—Yes
inkling W4A16-AUTOROUND-REAP YesYesYesYesYes—Yes—Yes
MiMo-V2.5-Pro W8A16 Yes—YesYesYesYesYes—Yes
MiMo-V2.5 W8A16 YesYesYesYesYesYesYes—Yes
Hy3 W8A16 Yes—YesYesYesYesYes—Yes

What each column means

  • Tools. You describe functions in tools, the model replies with the calls it wants made, and your code runs them. Every model takes tools. A forced tool_choice is applied by the hosted open-weight models. Function Calling
  • Image input. The model reads images sent inside a user message, as a data URL or as an address. shannon-2-lite and shannon-2-pro read images in requests that also send tools or response_format. The Shannon 3 family reads documents as well. Images and files
  • Reasoning. The reply can carry the reasoning text of the model next to the answer, in a field of its own. Reasoning effort
  • Reasoning effort. A request field sets how deeply the model reasons: off, low, medium or high. The Shannon models set their own depth. Reasoning effort
  • JSON object. With response_format: {"type": "json_object"} the answer is JSON without a prescribed shape. On /v1/chat/completions and /v1/responses. Structured Outputs
  • JSON schema. With response_format of type json_schema the answer follows a schema you send. On /v1/chat/completions and /v1/responses. Structured Outputs
  • Prompt caching. A prompt that starts like a recent one on the same model is read from cache, and the cached part is billed at 25% of the input price. It needs no request field. Prompt caching
  • Web search. With web_search: true the API searches the web and gives the results to the model before it answers. On /v1/chat/completions and /v1/messages. It is a field of the request and has no flag in GET /v1/models. Built-in Web Search
  • Streaming. With stream: true the reply arrives as server-sent events while the model writes. Every model streams on all three endpoints. Streaming

The same facts from GET /v1/models

GET https://api.shannon-ai.com/v1/models

GET /v1/models lists every model with a capabilities object, so a program can read these facts instead of this page. The endpoint needs no key.

from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://api.shannon-ai.com/v1")

for model in client.models.list():
    print(model.id, getattr(model, "capabilities", None))

The id and capabilities of two entries of data:

200 JSON
[
  {
    "id": "shannon-3",
    "capabilities": {
      "tools": true,
      "vision": true,
      "reasoning": true,
      "reasoning_effort": false,
      "streaming": true,
      "json_schema": true
    }
  },
  {
    "id": "Kimi-K3-3BIT-REAP",
    "capabilities": {
      "tools": true,
      "vision": true,
      "reasoning": true,
      "reasoning_effort": true,
      "streaming": true,
      "response_format": true,
      "json_schema": true,
      "prompt_caching": true
    }
  }
]
Column Flag in capabilities
Tools tools
Image input vision
Reasoning reasoning
Reasoning effort reasoning_effort
JSON object response_format
JSON schema json_schema
Prompt caching prompt_caching
Web search Not a flag: the request field web_search.
Streaming streaming
  • response_format and prompt_caching are flags of the hosted open-weight entries. A Shannon entry reports JSON output with json_schema alone, which stands for both JSON modes.
  • vision is true for shannon-2-lite and shannon-2-pro: they read images in requests that also send tools or response_format.

Outside a model's row

A hosted open-weight model refuses an image or a JSON mode that is outside its row. The refusal comes before anything is drawn from your balance:

Status Type Message When
400 invalid_request_error <id> does not accept image input An image was sent to a hosted open-weight model without image input.
400 invalid_request_error <id> does not accept response_format JSON output was asked of a hosted open-weight model that has neither JSON mode.
400 invalid_request_error <id> does not accept response_format json_schema; use json_object A schema was sent to a hosted open-weight model that has JSON object mode only.

A Shannon model answers such a request with status 200: the capability outside its row takes no part in the answer. Error Handling