From 4b1e7d1ba8ac12ea777366965a59035d81ecbabd Mon Sep 17 00:00:00 2001 From: Jetha Chan Date: Sat, 18 Jul 2026 11:25:23 +0900 Subject: [PATCH] Add ai& provider ai& (https://aiand.com) serves open-weight LLMs through an OpenAI-compatible API at https://api.aiand.com/v1, authenticated with a standard Bearer AIAND_API_KEY. Adds the provider plus 9 models verified against ai&'s live catalog page (https://docs.aiand.com/models/catalog/): openai/gpt-oss-120b, qwen/qwen3.6-27b, deepseek-ai/deepseek-v4-flash, deepseek-ai/deepseek-v4-pro, google/gemma-4-31b-it, moonshotai/kimi-k2.6, moonshotai/kimi-k2.7-code, zai-org/glm-5.1, and zai-org/glm-5.2. Each entry reuses existing shared model metadata via base_model and overrides only cost (and, where confirmed, modalities) with figures read from the live catalog table and JSON examples. reasoning_options on every model mirrors the reasoning_effort values ai&'s own Chat Completions docs list (none/minimal/low/medium/high/xhigh). Co-Authored-By: Claude Sonnet 5 --- .../models/deepseek-ai/deepseek-v4-flash.toml | 11 +++++++++++ .../models/deepseek-ai/deepseek-v4-pro.toml | 11 +++++++++++ .../aiand/models/google/gemma-4-31b-it.toml | 17 +++++++++++++++++ .../aiand/models/moonshotai/kimi-k2.6.toml | 11 +++++++++++ .../aiand/models/moonshotai/kimi-k2.7-code.toml | 11 +++++++++++ providers/aiand/models/openai/gpt-oss-120b.toml | 11 +++++++++++ providers/aiand/models/qwen/qwen3.6-27b.toml | 12 ++++++++++++ providers/aiand/models/zai-org/glm-5.1.toml | 14 ++++++++++++++ providers/aiand/models/zai-org/glm-5.2.toml | 11 +++++++++++ providers/aiand/provider.toml | 5 +++++ 10 files changed, 114 insertions(+) create mode 100644 providers/aiand/models/deepseek-ai/deepseek-v4-flash.toml create mode 100644 providers/aiand/models/deepseek-ai/deepseek-v4-pro.toml create mode 100644 providers/aiand/models/google/gemma-4-31b-it.toml create mode 100644 providers/aiand/models/moonshotai/kimi-k2.6.toml create mode 100644 providers/aiand/models/moonshotai/kimi-k2.7-code.toml create mode 100644 providers/aiand/models/openai/gpt-oss-120b.toml create mode 100644 providers/aiand/models/qwen/qwen3.6-27b.toml create mode 100644 providers/aiand/models/zai-org/glm-5.1.toml create mode 100644 providers/aiand/models/zai-org/glm-5.2.toml create mode 100644 providers/aiand/provider.toml diff --git a/providers/aiand/models/deepseek-ai/deepseek-v4-flash.toml b/providers/aiand/models/deepseek-ai/deepseek-v4-flash.toml new file mode 100644 index 0000000000..12e82d96eb --- /dev/null +++ b/providers/aiand/models/deepseek-ai/deepseek-v4-flash.toml @@ -0,0 +1,11 @@ +# Source: https://docs.aiand.com/models/catalog/ (accessed 2026-07-18) +# reasoning_effort values per https://docs.aiand.com/api/chat-completions/ +base_model = "deepseek/deepseek-v4-flash" + +[[reasoning_options]] +type = "effort" +values = ["none", "minimal", "low", "medium", "high", "xhigh"] + +[cost] +input = 0.15 +output = 0.25 diff --git a/providers/aiand/models/deepseek-ai/deepseek-v4-pro.toml b/providers/aiand/models/deepseek-ai/deepseek-v4-pro.toml new file mode 100644 index 0000000000..ddf5510976 --- /dev/null +++ b/providers/aiand/models/deepseek-ai/deepseek-v4-pro.toml @@ -0,0 +1,11 @@ +# Source: https://docs.aiand.com/models/catalog/ (accessed 2026-07-18) +# reasoning_effort values per https://docs.aiand.com/api/chat-completions/ +base_model = "deepseek/deepseek-v4-pro" + +[[reasoning_options]] +type = "effort" +values = ["none", "minimal", "low", "medium", "high", "xhigh"] + +[cost] +input = 1.00 +output = 2.50 diff --git a/providers/aiand/models/google/gemma-4-31b-it.toml b/providers/aiand/models/google/gemma-4-31b-it.toml new file mode 100644 index 0000000000..b45d3975c7 --- /dev/null +++ b/providers/aiand/models/google/gemma-4-31b-it.toml @@ -0,0 +1,17 @@ +# Source: https://docs.aiand.com/models/catalog/ (accessed 2026-07-18) +# ai&'s catalog table lists this model with vision + video + document +# capabilities; the shared base model only documents image input, so video +# is added here to match what ai& actually advertises for its deployment. +# reasoning_effort values per https://docs.aiand.com/api/chat-completions/ +base_model = "google/gemma-4-31b-it" + +[[reasoning_options]] +type = "effort" +values = ["none", "minimal", "low", "medium", "high", "xhigh"] + +[cost] +input = 0.20 +output = 0.50 + +[modalities] +input = ["text", "image", "video"] diff --git a/providers/aiand/models/moonshotai/kimi-k2.6.toml b/providers/aiand/models/moonshotai/kimi-k2.6.toml new file mode 100644 index 0000000000..df9da9d326 --- /dev/null +++ b/providers/aiand/models/moonshotai/kimi-k2.6.toml @@ -0,0 +1,11 @@ +# Source: https://docs.aiand.com/models/catalog/ (accessed 2026-07-18) +# reasoning_effort values per https://docs.aiand.com/api/chat-completions/ +base_model = "moonshotai/kimi-k2.6" + +[[reasoning_options]] +type = "effort" +values = ["none", "minimal", "low", "medium", "high", "xhigh"] + +[cost] +input = 0.85 +output = 3.50 diff --git a/providers/aiand/models/moonshotai/kimi-k2.7-code.toml b/providers/aiand/models/moonshotai/kimi-k2.7-code.toml new file mode 100644 index 0000000000..6b212460bd --- /dev/null +++ b/providers/aiand/models/moonshotai/kimi-k2.7-code.toml @@ -0,0 +1,11 @@ +# Source: https://docs.aiand.com/models/catalog/ (accessed 2026-07-18) +# reasoning_effort values per https://docs.aiand.com/api/chat-completions/ +base_model = "moonshotai/kimi-k2.7-code" + +[[reasoning_options]] +type = "effort" +values = ["none", "minimal", "low", "medium", "high", "xhigh"] + +[cost] +input = 0.75 +output = 3.50 diff --git a/providers/aiand/models/openai/gpt-oss-120b.toml b/providers/aiand/models/openai/gpt-oss-120b.toml new file mode 100644 index 0000000000..4a63f8feba --- /dev/null +++ b/providers/aiand/models/openai/gpt-oss-120b.toml @@ -0,0 +1,11 @@ +# Source: https://docs.aiand.com/models/catalog/ (accessed 2026-07-18) +# reasoning_effort values per https://docs.aiand.com/api/chat-completions/ +base_model = "openai/gpt-oss-120b" + +[[reasoning_options]] +type = "effort" +values = ["none", "minimal", "low", "medium", "high", "xhigh"] + +[cost] +input = 0.15 +output = 0.60 diff --git a/providers/aiand/models/qwen/qwen3.6-27b.toml b/providers/aiand/models/qwen/qwen3.6-27b.toml new file mode 100644 index 0000000000..329310398a --- /dev/null +++ b/providers/aiand/models/qwen/qwen3.6-27b.toml @@ -0,0 +1,12 @@ +# Source: https://docs.aiand.com/models/catalog/ (accessed 2026-07-18) +# Listed as free ("no charges, ideal for evals") in the catalog's Quick picks. +# reasoning_effort values per https://docs.aiand.com/api/chat-completions/ +base_model = "alibaba/qwen3.6-27b" + +[[reasoning_options]] +type = "effort" +values = ["none", "minimal", "low", "medium", "high", "xhigh"] + +[cost] +input = 0 +output = 0 diff --git a/providers/aiand/models/zai-org/glm-5.1.toml b/providers/aiand/models/zai-org/glm-5.1.toml new file mode 100644 index 0000000000..72b8afa590 --- /dev/null +++ b/providers/aiand/models/zai-org/glm-5.1.toml @@ -0,0 +1,14 @@ +# Source: https://docs.aiand.com/models/catalog/ (accessed 2026-07-18) +# Catalog table shows a rounded context of "203K"; exact figure not +# obtainable without an API key, so context is left inherited from the +# shared base model (200_000) rather than guessing the precise value. +# reasoning_effort values per https://docs.aiand.com/api/chat-completions/ +base_model = "zhipuai/glm-5.1" + +[[reasoning_options]] +type = "effort" +values = ["none", "minimal", "low", "medium", "high", "xhigh"] + +[cost] +input = 1.40 +output = 4.40 diff --git a/providers/aiand/models/zai-org/glm-5.2.toml b/providers/aiand/models/zai-org/glm-5.2.toml new file mode 100644 index 0000000000..8e98c898ff --- /dev/null +++ b/providers/aiand/models/zai-org/glm-5.2.toml @@ -0,0 +1,11 @@ +# Source: https://docs.aiand.com/models/catalog/ (accessed 2026-07-18) +# reasoning_effort values per https://docs.aiand.com/api/chat-completions/ +base_model = "zhipuai/glm-5.2" + +[[reasoning_options]] +type = "effort" +values = ["none", "minimal", "low", "medium", "high", "xhigh"] + +[cost] +input = 1.00 +output = 4.00 diff --git a/providers/aiand/provider.toml b/providers/aiand/provider.toml new file mode 100644 index 0000000000..d63ccab4cc --- /dev/null +++ b/providers/aiand/provider.toml @@ -0,0 +1,5 @@ +name = "ai&" +npm = "@ai-sdk/openai-compatible" +env = ["AIAND_API_KEY"] +doc = "https://docs.aiand.com/" +api = "https://api.aiand.com/v1"