Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions providers/aiand/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 10 additions & 8 deletions providers/aiand/models/deepseek-ai/deepseek-v4-flash.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
# Source: https://docs.aiand.com/models/catalog/ (USD list prices; accessed
# 2026-07-24). GET /v1/models reports context_window = 1048576 (the catalog
# rounds this to "1M" and the shared base model to 1_000_000), so the exact
# figure is overridden here.
# reasoning_effort verified by live probe on 2026-07-24: all six documented
# values accepted ("none" produces no reasoning content, "high" does);
# invalid values rejected with 400 (negative control).
# Effort: reasoning_effort = none|high|max
# Pricing: GET https://api.aiand.com/v1/models (accessed 2026-09-11)
# Docs: https://docs.aiand.com/models/catalog/
# Live probe 2026-09-11: none|high|max → 200; minimal|low|medium|xhigh → 400.
# Reasoning side channel: message.reasoning_content
base_model = "deepseek/deepseek-v4-flash"

[[reasoning_options]]
type = "effort"
values = ["none", "minimal", "low", "medium", "high", "xhigh"]
values = ["none", "high", "max"]

[interleaved]
field = "reasoning_content"

[cost]
input = 0.15
output = 0.25
cache_read = 0.08

[limit]
context = 1_048_576
17 changes: 10 additions & 7 deletions providers/aiand/models/deepseek-ai/deepseek-v4-pro.toml
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
# Source: https://docs.aiand.com/models/catalog/ (USD list prices; accessed
# 2026-07-24). GET /v1/models reports context_window = 1048576 (the catalog
# rounds this to "1M" and the shared base model to 1_000_000), so the exact
# figure is overridden here.
# reasoning_effort verified by live probe on 2026-07-24: all six documented
# values accepted; invalid values rejected with 400 (negative control).
# Effort: reasoning_effort = none|high|max
# Pricing: GET https://api.aiand.com/v1/models (accessed 2026-09-11)
# Docs: https://docs.aiand.com/models/catalog/
# Live probe 2026-09-11: none|high|max → 200; low → 400.
# Reasoning side channel: message.reasoning_content
base_model = "deepseek/deepseek-v4-pro"

[[reasoning_options]]
type = "effort"
values = ["none", "minimal", "low", "medium", "high", "xhigh"]
values = ["none", "high", "max"]

[interleaved]
field = "reasoning_content"

[cost]
input = 1
output = 2.5
cache_read = 0.25

[limit]
context = 1_048_576
21 changes: 11 additions & 10 deletions providers/aiand/models/google/gemma-4-31b-it.toml
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
# Source: https://docs.aiand.com/models/catalog/ (USD list prices; accessed
# 2026-07-24) and live probes against api.aiand.com on the same date.
# Verified by direct test: image (data URL), video (video_url), and PDF
# (Files API purpose="document", referenced by file_id) inputs all accepted.
# ai& converts PDFs to per-page images at upload, so "pdf" is a provider
# input modality here even though the base model itself is not PDF-native.
# reasoning_effort verified by live probe on 2026-07-24: all six documented
# values accepted ("none" produces no reasoning content, "high" does);
# invalid values rejected with 400 (negative control).
# Effort: reasoning_effort = none|high
# Pricing: GET https://api.aiand.com/v1/models (accessed 2026-09-11)
# Docs: https://docs.aiand.com/models/catalog/
# Live probe 2026-09-11: none|high → 200; minimal|low|xhigh → 400.
# Modalities: image, video, and PDF accepted on this host (2026-07-24 probes).
# Reasoning side channel: message.reasoning_content
base_model = "google/gemma-4-31b-it"

[[reasoning_options]]
type = "effort"
values = ["none", "minimal", "low", "medium", "high", "xhigh"]
values = ["none", "high"]

[interleaved]
field = "reasoning_content"

[cost]
input = 0.2
output = 0.5
cache_read = 0.05

[modalities]
input = ["text", "image", "video", "pdf"]
19 changes: 11 additions & 8 deletions providers/aiand/models/moonshotai/kimi-k2.7-code.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
# Source: https://docs.aiand.com/models/catalog/ (USD list prices; accessed
# 2026-07-24) and live probes against api.aiand.com on the same date.
# Verified by direct test: image and PDF (Files API, file_id) inputs are
# accepted; video is rejected ("does not support video input"), so modalities
# are overridden from the shared base model's text+image+video.
# reasoning_effort verified by live probe on 2026-07-24: all six documented
# values accepted; invalid values rejected with 400 (negative control).
# Effort: reasoning_effort = high (always-on; none/low rejected)
# Pricing: GET https://api.aiand.com/v1/models (accessed 2026-09-11)
# Docs: https://docs.aiand.com/models/catalog/
# Live probe 2026-09-11: high → 200; none|low → 400.
# Modalities: image + PDF accepted; video rejected (2026-07-24 probes).
# Reasoning side channel: message.reasoning_content
base_model = "moonshotai/kimi-k2.7-code"

[[reasoning_options]]
type = "effort"
values = ["none", "minimal", "low", "medium", "high", "xhigh"]
values = ["high"]

[interleaved]
field = "reasoning_content"

[cost]
input = 0.75
output = 3.5
cache_read = 0.2

[modalities]
input = ["text", "image", "pdf"]
22 changes: 9 additions & 13 deletions providers/aiand/models/moonshotai/kimi-k3.toml
Original file line number Diff line number Diff line change
@@ -1,22 +1,18 @@
# Source: GET https://api.aiand.com/v1/models (USD list prices; accessed
# 2026-07-28). Pricing is aiand-specific: $3.00 input, $0.50 cache_read,
# $12.50 output (differs from Moonshot official rates).
# Modalities: text + image + pdf accepted per GET /v1/models; video rejected
# ("does not support video input") — overridden from shared base
# text+image+video. PDF kept: sibling aiand Moonshot entries (kimi-k2.6,
# kimi-k2.7-code) include pdf after catalog/probe evidence; aiand treats
# PDF as a provider-level Files API modality.
# reasoning_effort: K3 backend accepts only low/high/max per official docs
# (https://platform.kimi.ai/docs/guide/kimi-k3-quickstart). The aiand gateway
# schema lists none/minimal/low/medium/high/xhigh/max but K3 rejects
# none/minimal/medium/xhigh with 400. aiand does not expose a separate off
# toggle; K3 always reasons.
# Effort: reasoning_effort = low|high|max (always-on; no none)
# Pricing: GET https://api.aiand.com/v1/models (accessed 2026-09-11)
# Docs: https://docs.aiand.com/models/catalog/
# K3 accepts only low|high|max (lab docs + host 400 on none/minimal/medium/xhigh).
# Modalities: text + image + PDF; video rejected on this host.
# Reasoning side channel: message.reasoning_content
base_model = "moonshotai/kimi-k3"

[[reasoning_options]]
type = "effort"
values = ["low", "high", "max"]

[interleaved]
field = "reasoning_content"

[cost]
input = 3
output = 12.5
Expand Down
17 changes: 15 additions & 2 deletions providers/aiand/models/motif-technologies/motif-3.toml
Original file line number Diff line number Diff line change
@@ -1,18 +1,31 @@
# Effort: reasoning_effort = none|high
# Pricing: GET https://api.aiand.com/v1/models (accessed 2026-09-11)
# Docs: https://docs.aiand.com/models/catalog/
# Live probe 2026-09-11: none|high → 200; low → 400.
# First-party Motif host entry (no shared lab base_model in catalog yet).
# Reasoning side channel: message.reasoning_content
name = "Motif 3"
description = "Motif 3 is a large-scale, decoder-only Mixture-of-Experts (MoE) language model with 314 billion total parameters and 13.2 billion parameters activated per token."
release_date = "2026-08-12"
last_updated = "2026-08-12"
last_updated = "2026-09-11"
attachment = false
reasoning = true
temperature = false
tool_call = false
structured_output = false
open_weights = false
reasoning_options = []

[[reasoning_options]]
type = "effort"
values = ["none", "high"]

[interleaved]
field = "reasoning_content"

[cost]
input = 0.5
output = 2
cache_read = 0.2

[limit]
context = 262_144
Expand Down
14 changes: 9 additions & 5 deletions providers/aiand/models/openai/gpt-oss-120b.toml
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
# Source: https://docs.aiand.com/models/catalog/ (accessed 2026-07-18)
# reasoning_effort verified by live probe on 2026-07-24: the backend rejects
# "none", "minimal", and "xhigh" with 400 ("Supported values are: high,
# medium, low"), so the array is narrowed from the gateway-wide documented
# set. Invalid values also rejected with 400 (negative control).
# Effort: reasoning_effort = low|medium|high
# Pricing: GET https://api.aiand.com/v1/models (accessed 2026-09-11)
# Docs: https://docs.aiand.com/models/catalog/
# Live probe 2026-07-24: low|medium|high → 200; none|minimal|xhigh → 400.
# Reasoning side channel: message.reasoning_content
base_model = "openai/gpt-oss-120b"

[[reasoning_options]]
type = "effort"
values = ["low", "medium", "high"]

[interleaved]
field = "reasoning_content"

[cost]
input = 0.15
output = 0.60
cache_read = 0.08
21 changes: 10 additions & 11 deletions providers/aiand/models/qwen/qwen3.6-27b.toml
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
# Source: GET https://api.aiand.com/v1/models (USD list prices; accessed
# 2026-07-28). The catalog Quick-picks section still lists this model as free,
# but the live endpoint reports input = $0.32 / output = $3.20 per 1M tokens,
# so pricing is taken from the API.
# ai&'s deployment rejects image input ("does not support image input") and
# the catalog lists no vision/video/audio capability, so modalities are
# overridden from the shared base model's text+image+video+audio to text-only,
# and attachment is set to false to match.
# reasoning_effort verified by live probe on 2026-07-24: all six documented
# values accepted; invalid values rejected with 400 (negative control).
# Effort: reasoning_effort = none|high
# Pricing: GET https://api.aiand.com/v1/models (accessed 2026-09-11)
# Docs: https://docs.aiand.com/models/catalog/
# Live probe 2026-09-11: none|high → 200; minimal|low|xhigh → 400.
# Reasoning side channel: message.reasoning_content
base_model = "alibaba/qwen3.6-27b"

[[reasoning_options]]
type = "effort"
values = ["none", "minimal", "low", "medium", "high", "xhigh"]
values = ["none", "high"]

[interleaved]
field = "reasoning_content"

[cost]
input = 0.32
output = 3.2
cache_read = 0.2

[modalities]
input = ["text", "image", "video", "pdf"]
17 changes: 8 additions & 9 deletions providers/aiand/models/qwen/qwen3.8-27b.toml
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
# Source: GET https://api.aiand.com/v1/models (USD list prices; accessed
# 2026-08-29). GET /v1/models reports context_window = 262144, input = $0.40,
# output = $3.00, cached_input = $0.20 per 1M tokens.
# Modalities: text, image, video, and document (PDF) supported per catalog
# capabilities (vision|video|document).
# reasoning_effort verified by live probe on 2026-08-29: accepts none, low,
# medium, xhigh (200); rejects minimal, high, max with 400 ("Supported
# values: none, low, medium, xhigh"). effort=none returns no
# reasoning_content (off).
# Effort: reasoning_effort = none|low|medium|xhigh
# Pricing: GET https://api.aiand.com/v1/models (accessed 2026-09-11)
# Docs: https://docs.aiand.com/models/catalog/
# Live probe 2026-08-29: none|low|medium|xhigh → 200; minimal|high|max → 400.
# Reasoning side channel: message.reasoning_content
base_model = "alibaba/qwen3.8-27b"

[[reasoning_options]]
type = "effort"
values = ["none", "low", "medium", "xhigh"]

[interleaved]
field = "reasoning_content"

[cost]
input = 0.4
output = 3
Expand Down
17 changes: 10 additions & 7 deletions providers/aiand/models/zai-org/glm-5.2.toml
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
# Source: https://docs.aiand.com/models/catalog/ (USD list prices; accessed
# 2026-07-24). GET /v1/models reports context_window = 1048576 (the catalog
# rounds this to "1M" and the shared base model to 1_000_000), so the exact
# figure is overridden here.
# reasoning_effort verified by live probe on 2026-07-24: all six documented
# values accepted; invalid values rejected with 400 (negative control).
# Effort: reasoning_effort = none|high|max
# Pricing: GET https://api.aiand.com/v1/models (accessed 2026-09-11)
# Docs: https://docs.aiand.com/models/catalog/
# Live probe 2026-09-11: none|high|max → 200; low|xhigh → 400.
# Reasoning side channel: message.reasoning_content
base_model = "zhipuai/glm-5.2"

[[reasoning_options]]
type = "effort"
values = ["none", "minimal", "low", "medium", "high", "xhigh"]
values = ["none", "high", "max"]

[interleaved]
field = "reasoning_content"

[cost]
input = 1
output = 4
cache_read = 0.3

[limit]
context = 1_048_576
18 changes: 9 additions & 9 deletions providers/aiand/models/zai-org/glm-5.3.toml
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Source: GET https://api.aiand.com/v1/models (USD list prices; accessed
# 2026-08-29). GET /v1/models reports context_window = 1048576 (shared base
# model uses 1_000_000), so the exact figure is overridden here.
# Lab / peer relays (zhipuai, zai, OpenRouter, Kilo) use always-on effort
# low|high|max. ai&'s deployment differs: live reasoning_effort probe on
# 2026-08-29 accepts none|low|xhigh|max (200); rejects minimal|medium|high
# with 400 ("Supported values: none, low, xhigh, max"). effort=none returns
# no reasoning_content (off); xhigh|max return reasoning_content.
# Effort: reasoning_effort = low|high|max (always-on; no none)
# Pricing: GET https://api.aiand.com/v1/models (accessed 2026-09-11)
# Docs: https://docs.aiand.com/models/catalog/
# Live probe 2026-09-11: low|high|max → 200; none|xhigh → 400.
# Reasoning side channel: message.reasoning_content
base_model = "zhipuai/glm-5.3"

[[reasoning_options]]
type = "effort"
values = ["none", "low", "xhigh", "max"]
values = ["low", "high", "max"]

[interleaved]
field = "reasoning_content"

[cost]
input = 1
Expand Down
Loading