@juspay/neurolink 12.39.1 → 12.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/CHANGELOG.md +6 -2
  2. package/README.md +1 -1
  3. package/dist/auth/middleware/AuthMiddleware.d.ts +1 -1
  4. package/dist/browser/neurolink.min.js +422 -422
  5. package/dist/constants/enums.d.ts +237 -0
  6. package/dist/constants/enums.js +257 -0
  7. package/dist/neurolink.js +46 -21
  8. package/dist/providers/catalog/ai21.json +142 -0
  9. package/dist/providers/catalog/aionlabs.json +144 -0
  10. package/dist/providers/catalog/atlas-cloud.json +203 -0
  11. package/dist/providers/catalog/avian-io.json +227 -0
  12. package/dist/providers/catalog/crusoe.json +229 -0
  13. package/dist/providers/catalog/index.generated.d.ts +1 -1
  14. package/dist/providers/catalog/index.generated.js +60 -0
  15. package/dist/providers/catalog/minimax.json +200 -0
  16. package/dist/providers/catalog/moonshot-ai.json +135 -0
  17. package/dist/providers/catalog/nebius.json +165 -0
  18. package/dist/providers/catalog/prime-intellect.json +217 -0
  19. package/dist/providers/catalog/scaleway.json +177 -0
  20. package/dist/providers/catalog/siliconflow.json +242 -0
  21. package/dist/providers/catalog/stepfun.json +155 -0
  22. package/dist/providers/catalog/subconscious.json +93 -0
  23. package/dist/providers/catalog/tinfoil.json +155 -0
  24. package/dist/providers/catalog/umans-ai.json +174 -0
  25. package/dist/providers/catalog/venice-ai.json +208 -0
  26. package/dist/providers/catalog/vultr-inference.json +220 -0
  27. package/dist/providers/catalog/wafer.json +165 -0
  28. package/dist/providers/catalog/wandb-inference.json +249 -0
  29. package/dist/providers/catalog/z-ai.json +255 -0
  30. package/dist/types/providerCatalog.generated.d.ts +2 -2
  31. package/dist/types/providers.d.ts +80 -0
  32. package/docs-site/static/search-index.json +227 -3
  33. package/package.json +1 -1
@@ -0,0 +1,208 @@
1
+ {
2
+ "$schema": "./provider-catalog.schema.json",
3
+ "id": "venice-ai",
4
+ "displayName": "Venice AI",
5
+ "aliases": ["venice"],
6
+ "tier": 2,
7
+ "wire": {
8
+ "baseURL": "https://api.venice.ai/api/v1",
9
+ "apiKeyFallbackEnvVars": ["VENICE_API_KEY"]
10
+ },
11
+ "models": {
12
+ "default": "zai-org-glm-5-2",
13
+ "fallbacks": ["zai-org-glm-5", "zai-org-glm-5-1", "deepseek-v4-pro-0813"],
14
+ "defaultContextWindow": 128000,
15
+ "defaultMaxOutputTokens": 4096,
16
+ "catalog": {
17
+ "zai-org-glm-5-2": {
18
+ "contextWindow": 1000000,
19
+ "maxOutputTokens": 131072,
20
+ "pricingPerMTok": {
21
+ "input": 1.4,
22
+ "output": 4.4,
23
+ "cachedInput": 0.26
24
+ },
25
+ "vision": false,
26
+ "status": "production",
27
+ "description": "NeuroLink default. The roster (unauthenticated GET https://api.venice.ai/api/v1/models, 2026-09-29, 126 text models) lists the traits \"default\" and \"function_calling_default\" on this model, and an unauthenticated GET https://api.venice.ai/api/v1/models/traits returned \"default\":\"zai-org-glm-5-2\" on the same day; https://docs.venice.ai/overview/deprecations lists the default trait as currently routing to this id. Roster description: \"GLM-5.2 is the next-generation large language model developed by Zhiyuan AI\". Roster figures: context_length 1,000,000, maxCompletionTokens 131,072, $1.4/$4.4 per MTok input/output, $0.26 cache read, supportsVision false, supportsFunctionCalling true, supportsResponseSchema true, supportsReasoning true. The input and output prices and the rounded context also appear on https://docs.venice.ai/overview/pricing and https://docs.venice.ai/models/text; the latter lists the Capabilities \"Function calling, Reasoning, Code\"."
28
+ },
29
+ "zai-org-glm-5": {
30
+ "contextWindow": 198000,
31
+ "maxOutputTokens": 32000,
32
+ "pricingPerMTok": {
33
+ "input": 1,
34
+ "output": 3.2,
35
+ "cachedInput": 0.2
36
+ },
37
+ "vision": false,
38
+ "status": "production",
39
+ "description": "Fallback. The model in the request examples of https://docs.venice.ai/getting-started/quick-start, which lists it with the text \"Default model for most use cases\", and of https://docs.venice.ai/guides/features/function-calling. Roster (unauthenticated GET https://api.venice.ai/api/v1/models, 2026-09-29, 126 text models) description: \"GLM-5 is the next-generation large language model developed by Zhiyuan AI\". Roster figures: context_length 198,000, maxCompletionTokens 32,000, $1/$3.2 per MTok input/output, $0.2 cache read, supportsVision false, supportsFunctionCalling true, supportsResponseSchema true, supportsReasoning true. The input and output prices and the rounded context also appear on https://docs.venice.ai/overview/pricing and https://docs.venice.ai/models/text; the latter lists the Capabilities \"Function calling, Reasoning, Code\"."
40
+ },
41
+ "zai-org-glm-5-1": {
42
+ "contextWindow": 200000,
43
+ "maxOutputTokens": 80000,
44
+ "pricingPerMTok": {
45
+ "input": 1.54,
46
+ "output": 4.84,
47
+ "cachedInput": 0.286
48
+ },
49
+ "vision": false,
50
+ "status": "production",
51
+ "description": "Fallback. The model in the request examples of https://docs.venice.ai/guides/features/reasoning-models. Roster (unauthenticated GET https://api.venice.ai/api/v1/models, 2026-09-29, 126 text models) description: \"GLM-5.1 is the next-generation large language model developed by Zhiyuan AI\". Roster figures: context_length 200,000, maxCompletionTokens 80,000, $1.54/$4.84 per MTok input/output, $0.286 cache read, supportsVision false, supportsFunctionCalling true, supportsResponseSchema true, supportsReasoning true. The input and output prices and the rounded context also appear on https://docs.venice.ai/overview/pricing and https://docs.venice.ai/models/text; the latter lists the Capabilities \"Function calling, Reasoning\". The pricing page shows the cache-read price rounded to two decimals."
52
+ },
53
+ "deepseek-v4-pro-0813": {
54
+ "contextWindow": 1000000,
55
+ "maxOutputTokens": 32768,
56
+ "pricingPerMTok": {
57
+ "input": 1.65,
58
+ "output": 4.95,
59
+ "cachedInput": 0.165
60
+ },
61
+ "vision": false,
62
+ "status": "production",
63
+ "description": "Fallback. The roster (unauthenticated GET https://api.venice.ai/api/v1/models, 2026-09-29, 126 text models) lists the trait \"default_code\" on this model, and https://docs.venice.ai/overview/deprecations lists the default_code trait as currently routing to this id. Roster description: \"DeepSeek V4 Pro is a 1.6T-parameter Mixture-of-Experts model with 49B active parameters and a 1M-token context window.\" Roster figures: context_length 1,000,000, maxCompletionTokens 32,768, $1.65/$4.95 per MTok input/output, $0.165 cache read, supportsVision false, supportsFunctionCalling true, supportsResponseSchema true, supportsReasoning true. The input and output prices and the rounded context also appear on https://docs.venice.ai/overview/pricing and https://docs.venice.ai/models/text; the latter lists the Capabilities \"Function calling, Reasoning, Code\". The pricing page shows the cache-read price rounded to two decimals."
64
+ },
65
+ "kimi-k3": {
66
+ "contextWindow": 1000000,
67
+ "maxOutputTokens": 131072,
68
+ "pricingPerMTok": {
69
+ "input": 3.75,
70
+ "output": 18.75,
71
+ "cachedInput": 0.375
72
+ },
73
+ "vision": true,
74
+ "status": "production",
75
+ "description": "The roster (unauthenticated GET https://api.venice.ai/api/v1/models, 2026-09-29, 126 text models) lists the trait \"default_reasoning\" on this model, and https://docs.venice.ai/overview/deprecations lists the default_reasoning trait as currently routing to this id. Roster description: \"Kimi K3 is an ultra-large-scale, open-weight multimodal reasoning model from Moonshot AI.\" Roster figures: context_length 1,000,000, maxCompletionTokens 131,072, $3.75/$18.75 per MTok input/output, $0.375 cache read, supportsVision true, supportsFunctionCalling true, supportsResponseSchema true, supportsReasoning true. The input and output prices and the rounded context also appear on https://docs.venice.ai/overview/pricing and https://docs.venice.ai/models/text; the latter lists the Capabilities \"Function calling, Reasoning, Vision, Code\". The pricing page shows the cache-read price rounded to two decimals."
76
+ },
77
+ "kimi-k2-6": {
78
+ "contextWindow": 256000,
79
+ "maxOutputTokens": 65536,
80
+ "pricingPerMTok": {
81
+ "input": 0.75,
82
+ "output": 3.5,
83
+ "cachedInput": 0.16
84
+ },
85
+ "vision": true,
86
+ "status": "production",
87
+ "description": "https://docs.venice.ai/getting-started/quick-start lists this id with the text \"Strong reasoning for more complex tasks\". Roster (unauthenticated GET https://api.venice.ai/api/v1/models, 2026-09-29, 126 text models) description: \"Kimi K2.6 is an open-source, native multimodal agentic model from Moonshot AI with 1T total parameters and 32B active parameters.\" Roster figures: context_length 256,000, maxCompletionTokens 65,536, $0.75/$3.5 per MTok input/output, $0.16 cache read, supportsVision true, supportsFunctionCalling true, supportsResponseSchema true, supportsReasoning true. The input and output prices and the rounded context also appear on https://docs.venice.ai/overview/pricing and https://docs.venice.ai/models/text; the latter lists the Capabilities \"Function calling, Reasoning, Vision, Code\"."
88
+ },
89
+ "qwen3-vl-235b-a22b": {
90
+ "contextWindow": 128000,
91
+ "maxOutputTokens": 16384,
92
+ "pricingPerMTok": {
93
+ "input": 0.21,
94
+ "output": 1.9,
95
+ "cachedInput": 0.1
96
+ },
97
+ "vision": true,
98
+ "status": "production",
99
+ "description": "NeuroLink models.visionModel. The model in the request examples of https://docs.venice.ai/guides/features/vision. Roster (unauthenticated GET https://api.venice.ai/api/v1/models, 2026-09-29, 126 text models) description: \"Qwen3-VL 235B vision-language model with MoE architecture.\" Roster figures: context_length 128,000, maxCompletionTokens 16,384, $0.21/$1.9 per MTok input/output, $0.1 cache read, supportsVision true, supportsFunctionCalling true, supportsResponseSchema true, supportsReasoning false. The input and output prices and the rounded context also appear on https://docs.venice.ai/overview/pricing and https://docs.venice.ai/models/text; the latter lists the Capabilities \"Function calling, Vision\"."
100
+ },
101
+ "venice-uncensored-1-2": {
102
+ "contextWindow": 128000,
103
+ "maxOutputTokens": 8192,
104
+ "pricingPerMTok": {
105
+ "input": 0.2,
106
+ "output": 0.9
107
+ },
108
+ "vision": true,
109
+ "status": "production",
110
+ "description": "The roster (unauthenticated GET https://api.venice.ai/api/v1/models, 2026-09-29, 126 text models) lists the trait \"most_uncensored\" on this model, and https://docs.venice.ai/getting-started/quick-start lists this id with the text \"Venice's uncensored model\". Roster description: \"Venice Uncensored 1.2 is designed for maximum creative freedom and authentic interaction.\" Roster figures: context_length 128,000, maxCompletionTokens 8,192, $0.2/$0.9 per MTok input/output, supportsVision true, supportsFunctionCalling true, supportsResponseSchema true, supportsReasoning false. The input and output prices and the rounded context also appear on https://docs.venice.ai/overview/pricing and https://docs.venice.ai/models/text; the latter lists the Capabilities \"Function calling, Vision, Uncensored\"."
111
+ },
112
+ "grok-4-7": {
113
+ "contextWindow": 500000,
114
+ "maxOutputTokens": 200000,
115
+ "pricingPerMTok": {
116
+ "input": 2.27,
117
+ "output": 6.8,
118
+ "cachedInput": 0.57
119
+ },
120
+ "vision": true,
121
+ "status": "production",
122
+ "description": "The roster (unauthenticated GET https://api.venice.ai/api/v1/models, 2026-09-29, 126 text models) lists the trait \"most_intelligent\" on this model, and https://docs.venice.ai/overview/deprecations lists the most_intelligent trait as currently routing to this id. Roster description: \"Grok 4.7 is xAI's multimodal chat and reasoning model with function calling, structured outputs, adjustable reasoning effort (low/medium/high/xhigh), and a 500K-token context window.\" Roster figures: context_length 500,000, maxCompletionTokens 200,000, $2.27/$6.8 per MTok input/output, $0.57 cache read, supportsVision true, supportsFunctionCalling true, supportsResponseSchema true, supportsReasoning true. The input and output prices and the rounded context also appear on https://docs.venice.ai/overview/pricing and https://docs.venice.ai/models/text; the pricing page has a further row labelled \"↳ >200K Context\" at $4.53 input and $13.60 output, which the flat prices here do not carry. https://docs.venice.ai/models/text lists the Capabilities \"Function calling, Reasoning, Vision, Code\"."
123
+ },
124
+ "claude-opus-4-8": {
125
+ "contextWindow": 1000000,
126
+ "maxOutputTokens": 128000,
127
+ "pricingPerMTok": {
128
+ "input": 6,
129
+ "output": 30,
130
+ "cachedInput": 0.6
131
+ },
132
+ "vision": true,
133
+ "status": "production",
134
+ "description": "https://docs.venice.ai/getting-started/quick-start lists this id with the text \"High-intelligence model for complex tasks\". Roster (unauthenticated GET https://api.venice.ai/api/v1/models, 2026-09-29, 126 text models) description: \"It features a 1M token context window, 128K max output tokens, adaptive thinking, and strong multimodal capabilities.\" Roster figures: context_length 1,000,000, maxCompletionTokens 128,000, $6/$30 per MTok input/output, $0.6 cache read, privacy \"anonymized\", supportsVision true, supportsFunctionCalling true, supportsResponseSchema true, supportsReasoning true. The input and output prices and the rounded context also appear on https://docs.venice.ai/overview/pricing and https://docs.venice.ai/models/text; the latter lists the Capabilities \"Function calling, Reasoning, Vision, Code\"."
135
+ }
136
+ },
137
+ "topModels": [
138
+ "zai-org-glm-5-2",
139
+ "zai-org-glm-5",
140
+ "zai-org-glm-5-1",
141
+ "deepseek-v4-pro-0813",
142
+ "kimi-k3",
143
+ "kimi-k2-6",
144
+ "qwen3-vl-235b-a22b",
145
+ "venice-uncensored-1-2",
146
+ "grok-4-7",
147
+ "claude-opus-4-8"
148
+ ],
149
+ "visionModel": "qwen3-vl-235b-a22b"
150
+ },
151
+ "capabilities": {
152
+ "text": true,
153
+ "streaming": true,
154
+ "tools": "model-dependent",
155
+ "toolsWithStreaming": false,
156
+ "structuredOutput": true,
157
+ "structuredOutputWithTools": false,
158
+ "embeddings": false,
159
+ "thinking": true
160
+ },
161
+ "errorRules": [
162
+ {
163
+ "status": 401,
164
+ "class": "authentication",
165
+ "message": "Venice AI authentication failed (HTTP 401). https://docs.venice.ai/api-reference/error-codes lists AUTHENTICATION_FAILED (\"Authentication failed\"), AUTHENTICATION_FAILED_INACTIVE_KEY, X402_INVALID_SIGN_IN and PRO_ONLY_MODEL under 401. NeuroLink reads the key from {apiKeyEnvVar}; keys are created at {setupUrl}"
166
+ },
167
+ {
168
+ "status": 402,
169
+ "class": "provider",
170
+ "message": "Venice AI reports a balance problem (HTTP 402). https://docs.venice.ai/api-reference/error-codes lists INSUFFICIENT_BALANCE (\"Insufficient USD or Diem balance to complete request.\", pointing to https://venice.ai/settings/api to add credits), API_KEY_USD_SPEND_LIMIT_EXCEEDED and API_KEY_DIEM_SPEND_LIMIT_EXCEEDED under 402"
171
+ },
172
+ {
173
+ "pattern": "Specified model not found|Invalid model specified",
174
+ "class": "invalid-model",
175
+ "message": "Venice AI did not accept model '{model}'. https://docs.venice.ai/api-reference/error-codes lists MODEL_NOT_FOUND (404, \"Specified model not found\") and INVALID_MODEL (400, \"Invalid model specified\"). Model ids are served by an unauthenticated GET https://api.venice.ai/api/v1/models"
176
+ },
177
+ {
178
+ "status": 429,
179
+ "class": "rate-limit",
180
+ "message": "Venice AI returned HTTP 429. https://docs.venice.ai/api-reference/error-codes lists RATE_LIMIT_EXCEEDED (\"Rate limit exceeded\") and MODEL_OVERLOADED (\"The model is currently overloaded. Please try again later.\") under 429, and https://docs.venice.ai/api-reference/rate-limiting says \"Failed requests (500, 503, 429) should be retried with exponential backoff.\""
181
+ }
182
+ ],
183
+ "setup": {
184
+ "url": "https://venice.ai/settings/api",
185
+ "apiKeyFormat": null,
186
+ "billingPolicy": "no-free-tier",
187
+ "instructions": [
188
+ "1. Visit: https://venice.ai/settings/api and select Generate New API Key; the API key guide lists \"Sign in to your Venice account.\" under Before you start (https://docs.venice.ai/guides/getting-started/generating-api-key)",
189
+ "2. Copy the key when it is shown — the API key guide states \"Venice will show the full API key one time.\" (https://docs.venice.ai/guides/getting-started/generating-api-key) — and paste it without a Bearer prefix or quotes (https://docs.venice.ai/getting-started/quick-start)",
190
+ "3. Fund the account before calling models: the docs state \"model requests will not succeed until the account can consume DIEM, bundled credits, or USD\" (https://docs.venice.ai/guides/getting-started/generating-api-key); payment options are listed at https://docs.venice.ai/overview/pricing",
191
+ "4. Set {apiKeyEnvVar} in your .env file (VENICE_API_KEY, the variable Venice's own docs use, is also read)"
192
+ ],
193
+ "description": "Docs- and roster-verified, not yet live-verified. OpenAI-compatible endpoint at https://api.venice.ai/api/v1 (https://docs.venice.ai/api-reference/endpoint/chat/completions: \"This endpoint is OpenAI-compatible\"), serving 126 text models on the 2026-09-29 roster, 10 of which are catalogued here (the roster's e2ee- ids are not). models.defaultContextWindow (128,000) and models.defaultMaxOutputTokens (4,096) are placeholders the vendor does not publish: Venice publishes context and max-output figures per model on the roster, not as a general default. The error-codes page (https://docs.venice.ai/api-reference/error-codes) shows the error body format {\"error\": \"...\"}, so errorRules match its documented statuses and model-not-found messages."
194
+ },
195
+ "evidence": {
196
+ "rosterVerified": {
197
+ "date": "2026-09-29",
198
+ "status": 200,
199
+ "method": "unauthenticated GET https://api.venice.ai/api/v1/models — 126 models; credential-free, no key used"
200
+ },
201
+ "billingProbe": {
202
+ "date": "2026-09-29",
203
+ "method": "public pages — https://docs.venice.ai/guides/getting-started/generating-api-key: \"model requests will not succeed until the account can consume DIEM, bundled credits, or USD\"; https://docs.venice.ai/overview/pricing: \"Buy Venice credits with credit card. Credits never expire.\"; https://venice.ai/pricing: the Free plan lists \"API Access (pay with credits)\"; https://venice.ai/venice-api shows the tag \"Free tier, no card\"; credential-free"
204
+ },
205
+ "liveMatrix": null,
206
+ "addedInPR": "https://github.com/juspay/neurolink/pull/1860"
207
+ }
208
+ }
@@ -0,0 +1,220 @@
1
+ {
2
+ "$schema": "./provider-catalog.schema.json",
3
+ "id": "vultr-inference",
4
+ "displayName": "Vultr Inference",
5
+ "aliases": [],
6
+ "tier": 2,
7
+ "wire": {
8
+ "baseURL": "https://api.vultrinference.com/v1"
9
+ },
10
+ "models": {
11
+ "default": "glm-5.2",
12
+ "fallbacks": [
13
+ "deepseek-v4.1-flash",
14
+ "qwen3.8-flash-next",
15
+ "mimo-v2.6-flash-rl"
16
+ ],
17
+ "defaultContextWindow": 131072,
18
+ "defaultMaxOutputTokens": 32768,
19
+ "catalog": {
20
+ "glm-5.2": {
21
+ "contextWindow": 1048576,
22
+ "maxOutputTokens": 1048576,
23
+ "pricingPerMTok": {
24
+ "input": 0.75,
25
+ "output": 3
26
+ },
27
+ "vision": true,
28
+ "status": "production",
29
+ "description": "NeuroLink default. Roster entry named \"GLM 5.2\" on the unauthenticated GET https://api.vultrinference.com/v1/models (2026-09-29, 24 entries). Roster description: \"GLM-5.2 is Z.ai's flagship model for long-horizon tasks, sustaining agentic work across a solid 1M-token context.\" Roster fields: text input max_context_length 1,048,576 tokens; output max_length 1,048,576 tokens; prompt price $0.75 and completion price $3 per MTok (cost_usd 0.00000075 and 0.000003 per token); streaming true; tools listed among the supported parameters; input modalities text, image. Vision is true because the roster lists an image input modality (sources url and base64; formats image/png, image/jpeg, image/webp, image/gif); no image request was sent."
30
+ },
31
+ "deepseek-v4.1-flash": {
32
+ "contextWindow": 1048576,
33
+ "maxOutputTokens": 1048576,
34
+ "pricingPerMTok": {
35
+ "input": 0.15,
36
+ "output": 0.6
37
+ },
38
+ "vision": true,
39
+ "status": "production",
40
+ "description": "Fallback. Roster entry named \"DeepSeek V4.1 Flash\" on the unauthenticated GET https://api.vultrinference.com/v1/models (2026-09-29, 24 entries). Roster description: \"DeepSeek V4.1 Flash is a mixture-of-experts model with 552B backbone parameters, a one-million-token context window, and support for reasoning and tool calling.\" Roster fields: text input max_context_length 1,048,576 tokens; output max_length 1,048,576 tokens; prompt price $0.15 and completion price $0.6 per MTok (cost_usd 0.00000015 and 0.0000006 per token); streaming true; tools listed among the supported parameters; input modalities text, image. Vision is true because the roster lists an image input modality (sources url and base64; formats image/png, image/jpeg, image/webp, image/gif); no image request was sent."
41
+ },
42
+ "qwen3.8-flash-next": {
43
+ "contextWindow": 262144,
44
+ "maxOutputTokens": 262144,
45
+ "pricingPerMTok": {
46
+ "input": 0.1,
47
+ "output": 0.2
48
+ },
49
+ "vision": true,
50
+ "status": "production",
51
+ "description": "Fallback. Roster entry named \"Qwen 3.8 Flash Next\" on the unauthenticated GET https://api.vultrinference.com/v1/models (2026-09-29, 24 entries). Roster description: \"Qwen3.8 Flash Next with NVFP4 weights, a 262,144-token context window, reasoning, and tool calling.\" Roster fields: text input max_context_length 262,144 tokens; output max_length 262,144 tokens; prompt price $0.1 and completion price $0.2 per MTok (cost_usd 0.0000001 and 0.0000002 per token); streaming true; tools listed among the supported parameters; input modalities text, image, video. Vision is true because the roster lists an image input modality (sources url and base64; formats image/png, image/jpeg, image/webp, image/gif); no image request was sent."
52
+ },
53
+ "mimo-v2.6-flash-rl": {
54
+ "contextWindow": 1048576,
55
+ "maxOutputTokens": 1048576,
56
+ "pricingPerMTok": {
57
+ "input": 0.1,
58
+ "output": 0.25
59
+ },
60
+ "vision": true,
61
+ "status": "production",
62
+ "description": "Fallback. Roster entry named \"MiMo V2.6 Flash RL\" on the unauthenticated GET https://api.vultrinference.com/v1/models (2026-09-29, 24 entries). Roster description: \"MiMo V2.6 Flash RL is Xiaomi's efficiency-balanced mixture-of-experts model with 309B total and 15B active parameters, hybrid sliding-window attention, and a 1M-token context.\" \"Supports reasoning and tool calling, served at FP8.\" Roster fields: text input max_context_length 1,048,576 tokens; output max_length 1,048,576 tokens; prompt price $0.1 and completion price $0.25 per MTok (cost_usd 0.0000001 and 0.00000025 per token); streaming true; tools listed among the supported parameters; input modalities text, image, audio, video. Vision is true because the roster lists an image input modality (sources url and base64; formats image/png, image/jpeg, image/webp, image/gif); no image request was sent."
63
+ },
64
+ "deepseek-v4-flash-0731": {
65
+ "contextWindow": 1048576,
66
+ "maxOutputTokens": 1048576,
67
+ "pricingPerMTok": {
68
+ "input": 0.1,
69
+ "output": 0.25
70
+ },
71
+ "vision": true,
72
+ "status": "production",
73
+ "description": "Roster-listed. Roster entry named \"DeepSeek V4 Flash 0731\" on the unauthenticated GET https://api.vultrinference.com/v1/models (2026-09-29, 24 entries). Roster description: \"DeepSeek's official V4 Flash release with substantially enhanced agentic capabilities and a built-in speculative decoding module.\" Roster fields: text input max_context_length 1,048,576 tokens; output max_length 1,048,576 tokens; prompt price $0.1 and completion price $0.25 per MTok (cost_usd 0.0000001 and 0.00000025 per token); streaming true; tools listed among the supported parameters; input modalities text, image. Vision is true because the roster lists an image input modality (sources url and base64; formats image/png, image/jpeg, image/webp, image/gif); no image request was sent."
74
+ },
75
+ "glm-5.3": {
76
+ "contextWindow": 1048576,
77
+ "maxOutputTokens": 1048576,
78
+ "pricingPerMTok": {
79
+ "input": 0.75,
80
+ "output": 3
81
+ },
82
+ "vision": true,
83
+ "status": "production",
84
+ "description": "Roster-listed. Roster entry named \"GLM 5.3\" on the unauthenticated GET https://api.vultrinference.com/v1/models (2026-09-29, 24 entries). Roster description: \"Served at NVFP4 across a 1M-token context.\" Roster fields: text input max_context_length 1,048,576 tokens; output max_length 1,048,576 tokens; prompt price $0.75 and completion price $3 per MTok (cost_usd 0.00000075 and 0.000003 per token); streaming true; tools listed among the supported parameters; input modalities text, image. Vision is true because the roster lists an image input modality (sources url and base64; formats image/png, image/jpeg, image/webp, image/gif); no image request was sent."
85
+ },
86
+ "glm-5.3-flash": {
87
+ "contextWindow": 1048576,
88
+ "maxOutputTokens": 1048576,
89
+ "pricingPerMTok": {
90
+ "input": 0.1,
91
+ "output": 0.35
92
+ },
93
+ "vision": true,
94
+ "status": "production",
95
+ "description": "Roster-listed. Roster entry named \"GLM 5.3 Flash\" on the unauthenticated GET https://api.vultrinference.com/v1/models (2026-09-29, 24 entries). Roster description: \"Z.ai's first natively multimodal GLM-5 model: a 320B-parameter MoE with ~18B active per token, combining sparse and linear attention for cheap long-context serving across a 1M-token window.\" Roster fields: text input max_context_length 1,048,576 tokens; output max_length 1,048,576 tokens; prompt price $0.1 and completion price $0.35 per MTok (cost_usd 0.0000001 and 0.00000035 per token); streaming true; tools listed among the supported parameters; input modalities text, image, video. Vision is true because the roster lists an image input modality (sources url and base64; formats image/png, image/jpeg, image/webp, image/gif); no image request was sent."
96
+ },
97
+ "glm-5.x-menthol": {
98
+ "contextWindow": 202752,
99
+ "maxOutputTokens": 202752,
100
+ "pricingPerMTok": {
101
+ "input": 0.4,
102
+ "output": 1.75
103
+ },
104
+ "vision": true,
105
+ "status": "production",
106
+ "description": "Roster-listed. Roster entry named \"GLM 5\" on the unauthenticated GET https://api.vultrinference.com/v1/models (2026-09-29, 24 entries). Roster description: \"Z.ai's GLM-5, a 744B-parameter MoE flagship for agentic reasoning and coding, served in FP8.\" Roster fields: text input max_context_length 202,752 tokens; output max_length 202,752 tokens; prompt price $0.4 and completion price $1.75 per MTok (cost_usd 0.0000004 and 0.00000175 per token); streaming true; tools listed among the supported parameters; input modalities text, image. Vision is true because the roster lists an image input modality (sources url and base64; formats image/png, image/jpeg, image/webp, image/gif); no image request was sent."
107
+ },
108
+ "laguna-s-2.1": {
109
+ "contextWindow": 1048576,
110
+ "maxOutputTokens": 1048576,
111
+ "pricingPerMTok": {
112
+ "input": 0.09,
113
+ "output": 0.18
114
+ },
115
+ "vision": true,
116
+ "status": "production",
117
+ "description": "Roster-listed. Roster entry named \"Laguna S 2.1\" on the unauthenticated GET https://api.vultrinference.com/v1/models (2026-09-29, 24 entries). Roster description: \"Laguna S 2.1 is a 118B total parameter Mixture-of-Experts model with 8B activated parameters per token, designed for agentic coding and long-horizon work.\" Roster fields: text input max_context_length 1,048,576 tokens; output max_length 1,048,576 tokens; prompt price $0.09 and completion price $0.18 per MTok (cost_usd 0.00000009 and 0.00000018 per token); streaming true; tools listed among the supported parameters; input modalities text, image. Vision is true because the roster lists an image input modality (sources url and base64; formats image/png, image/jpeg, image/webp, image/gif); no image request was sent."
118
+ },
119
+ "mimo-v2.6-pro-rl": {
120
+ "contextWindow": 1048576,
121
+ "maxOutputTokens": 1048576,
122
+ "pricingPerMTok": {
123
+ "input": 0.4,
124
+ "output": 0.8
125
+ },
126
+ "vision": true,
127
+ "status": "production",
128
+ "description": "Roster-listed. Roster entry named \"MiMo V2.6 Pro RL\" on the unauthenticated GET https://api.vultrinference.com/v1/models (2026-09-29, 24 entries). Roster description: \"MiMo V2.6 Pro RL is Xiaomi's mixture-of-experts model with 1.02T total and 42B active parameters, hybrid sliding-window attention, and a 1M-token context.\" \"Supports reasoning and tool calling, served at FP8.\" Roster fields: text input max_context_length 1,048,576 tokens; output max_length 1,048,576 tokens; prompt price $0.4 and completion price $0.8 per MTok (cost_usd 0.0000004 and 0.0000008 per token); streaming true; tools listed among the supported parameters; input modalities text, image, audio, video. Vision is true because the roster lists an image input modality (sources url and base64; formats image/png, image/jpeg, image/webp, image/gif); no image request was sent."
129
+ },
130
+ "minimax-m3": {
131
+ "contextWindow": 524288,
132
+ "maxOutputTokens": 524288,
133
+ "pricingPerMTok": {
134
+ "input": 0.2,
135
+ "output": 0.9
136
+ },
137
+ "vision": true,
138
+ "status": "production",
139
+ "description": "Roster-listed. Roster entry named \"MiniMax M3\" on the unauthenticated GET https://api.vultrinference.com/v1/models (2026-09-29, 24 entries). Roster description: \"MiniMax M3 is a natively multimodal MoE model (~428B parameters, ~23B active) with a 1M-token context.\" Roster fields: text input max_context_length 524,288 tokens; output max_length 524,288 tokens; prompt price $0.2 and completion price $0.9 per MTok (cost_usd 0.0000002 and 0.0000009 per token); streaming true; tools listed among the supported parameters; input modalities text, image, video. Vision is true because the roster lists an image input modality (sources url and base64; formats image/png, image/jpeg, image/webp, image/gif); no image request was sent. The roster description text says a 1M-token context while the max_context_length field says 524,288; contextWindow uses the field."
140
+ },
141
+ "muse-glimmer-30b": {
142
+ "contextWindow": 131072,
143
+ "maxOutputTokens": 131072,
144
+ "pricingPerMTok": {
145
+ "input": 0.25,
146
+ "output": 1
147
+ },
148
+ "vision": true,
149
+ "status": "production",
150
+ "description": "Roster-listed. Roster entry named \"Muse Glimmer 30B\" on the unauthenticated GET https://api.vultrinference.com/v1/models (2026-09-29, 24 entries). Roster description: \"Muse Glimmer 30B is a dense multimodal model for reasoning, coding, and tool use, with a 131072-token context.\" Roster fields: text input max_context_length 131,072 tokens; output max_length 131,072 tokens; prompt price $0.25 and completion price $1 per MTok (cost_usd 0.00000025 and 0.000001 per token); streaming true; tools listed among the supported parameters; input modalities text, image, video. Vision is true because the roster lists an image input modality (sources url and base64; formats image/png, image/jpeg, image/webp, image/gif); no image request was sent."
151
+ }
152
+ },
153
+ "topModels": [
154
+ "glm-5.2",
155
+ "deepseek-v4.1-flash",
156
+ "qwen3.8-flash-next",
157
+ "mimo-v2.6-flash-rl",
158
+ "deepseek-v4-flash-0731",
159
+ "glm-5.3",
160
+ "glm-5.3-flash",
161
+ "glm-5.x-menthol",
162
+ "laguna-s-2.1",
163
+ "mimo-v2.6-pro-rl",
164
+ "minimax-m3",
165
+ "muse-glimmer-30b"
166
+ ]
167
+ },
168
+ "capabilities": {
169
+ "text": true,
170
+ "streaming": true,
171
+ "tools": "model-dependent",
172
+ "toolsWithStreaming": true,
173
+ "structuredOutput": false,
174
+ "structuredOutputWithTools": false,
175
+ "embeddings": false,
176
+ "thinking": false
177
+ },
178
+ "errorRules": [
179
+ {
180
+ "status": 401,
181
+ "class": "authentication",
182
+ "message": "Vultr Inference rejected the request with HTTP 401 (Unauthorized). Check {apiKeyEnvVar}; the steps to retrieve a key are at {setupUrl}"
183
+ },
184
+ {
185
+ "status": 429,
186
+ "class": "rate-limit",
187
+ "message": "Vultr Inference reports HTTP 429 (Rate limit exceeded)."
188
+ }
189
+ ],
190
+ "setup": {
191
+ "url": "https://docs.vultr.com/products/compute/serverless-inference/provisioning",
192
+ "apiKeyFormat": null,
193
+ "billingPolicy": "no-free-tier",
194
+ "instructions": [
195
+ "1. Visit: https://docs.vultr.com/products/compute/serverless-inference/provisioning and follow the Vultr Console steps: Products, Serverless, Inference, Add Serverless Inference, then provide a Label, \"acknowledge the list of supported models and the charges note\", and click Add Serverless Inference",
196
+ "2. Open the new subscription's management page and copy the API key from its overview page (https://docs.vultr.com/products/compute/serverless-inference/management/connection: \"API key is necessary to send any request to the inference endpoints\")",
197
+ "3. Charges: the provisioning page above lists the charges note among the items to acknowledge, and the FAQ (https://docs.vultr.com/products/compute/serverless-inference/faq) says the subscription's Usage tab shows \"details on your current token usage, overage, and any associated costs\"",
198
+ "4. Set {apiKeyEnvVar} in your .env file (the authentication example on https://api.vultrinference.com/ writes ${VULTR_API_KEY}, which NeuroLink does not read)"
199
+ ],
200
+ "description": "Chat completions endpoint at https://api.vultrinference.com/v1 (https://api.vultrinference.com/ documents POST /chat/completions with bearer-token authentication and says \"Responses follow OpenRouter's chat completion shape whichever engine serves the model\"; the FAQ at https://docs.vultr.com/products/compute/serverless-inference/faq says to \"replace your current inference API URL (such as OpenAI's base API URL) with Vultr’s API URL\"). The chat-completions request message schema at https://api.vultrinference.com/ lists role (system, assistant, user, tool, developer) and content (type string, \"The contents of the message.\"); the tool call id description says \"Send it back unchanged as the `tool_call_id` of the tool result.\" The roster route is public (\"Most API routes require a bearer token. The public `/v1/models` route does not.\") and lists 24 entries, 15 with a text output; the catalog holds 12 chat models. billingPolicy no-free-tier is the schema's closest value (the schema has no unknown value) and is not a Vultr statement. Each model's status production is a value the schema requires and is not a Vultr statement. models.defaultContextWindow (131,072) and models.defaultMaxOutputTokens (32,768) are placeholders for ids outside the catalog that the vendor does not publish: 131,072 is the context the roster lists for muse-glimmer-30b and 32,768 is the default the chat-completions page shows for max_completion_tokens. errorRules match the documented statuses 401 and 429; the 401 body was observed on unauthenticated GETs of /v1/models/all, /v1/usage and /v1/models/glm-5.2 ({\"message\":\"No API key provided\"}); no POST to /chat/completions was sent."
201
+ },
202
+ "evidence": {
203
+ "rosterVerified": {
204
+ "date": "2026-09-29",
205
+ "status": 200,
206
+ "method": "unauthenticated GET https://api.vultrinference.com/v1/models — 24 models; credential-free, no key used"
207
+ },
208
+ "authProbe": {
209
+ "date": "2026-09-29",
210
+ "status": 401,
211
+ "method": "unauthenticated GET https://api.vultrinference.com/v1/models/all with no credentials — 401 {\"message\":\"No API key provided\"} (the same body on GET /v1/usage and GET /v1/models/glm-5.2); the body carries no error code; GET https://api.vultrinference.com/v1/chat/completions answered 404 (the documented method is POST and none was sent); credential-free, no key used"
212
+ },
213
+ "billingProbe": {
214
+ "date": "2026-09-29",
215
+ "method": "public pages https://docs.vultr.com/products/compute/serverless-inference/provisioning (Console steps: \"acknowledge the list of supported models and the charges note\") and https://docs.vultr.com/products/compute/serverless-inference/faq (Usage tab: \"details on your current token usage, overage, and any associated costs\"); no free-tier statement read; credential-free"
216
+ },
217
+ "liveMatrix": null,
218
+ "addedInPR": "https://github.com/juspay/neurolink/pull/1860"
219
+ }
220
+ }
@@ -0,0 +1,165 @@
1
+ {
2
+ "$schema": "./provider-catalog.schema.json",
3
+ "id": "wafer",
4
+ "displayName": "Wafer",
5
+ "aliases": [],
6
+ "tier": 2,
7
+ "wire": {
8
+ "baseURL": "https://pass.wafer.ai/v1"
9
+ },
10
+ "models": {
11
+ "default": "GLM-5.3",
12
+ "fallbacks": ["DeepSeek-V4-Pro", "Kimi-K3", "GLM-5.2"],
13
+ "defaultContextWindow": 128000,
14
+ "defaultMaxOutputTokens": 16384,
15
+ "catalog": {
16
+ "GLM-5.3": {
17
+ "contextWindow": 1048576,
18
+ "pricingPerMTok": {
19
+ "input": 0.29,
20
+ "output": 4.4,
21
+ "cachedInput": 0.2359
22
+ },
23
+ "vision": false,
24
+ "status": "production",
25
+ "description": "NeuroLink default. The model named in the curl request example on https://docs.wafer.ai/serverless and on https://docs.wafer.ai/serverless/zero-data-retention. Unauthenticated GET https://pass.wafer.ai/v1/models roster (2026-09-29, 8 models), wafer.description: \"GLM-5.3 — Z.ai's flagship GLM-5.3 MoE (391B, NVFP4), self-hosted on the Wafer fleet with a 1M-token context window and frontier coding/agentic performance. Available serverless.\" Roster values: context_length 1,048,576; input_cents_per_million 29, output_cents_per_million 440 ($0.29 / $4.40 per MTok input/output); cache_read_microcents_per_million 23,590,000 ($0.2359 per MTok cache-read); capabilities.vision false; chat_completions supported, tools, streaming, json_object and json_schema true."
26
+ },
27
+ "DeepSeek-V4-Pro": {
28
+ "contextWindow": 1048576,
29
+ "pricingPerMTok": {
30
+ "input": 0.4,
31
+ "output": 4.2,
32
+ "cachedInput": 0.32
33
+ },
34
+ "vision": false,
35
+ "status": "production",
36
+ "description": "Fallback. Unauthenticated GET https://pass.wafer.ai/v1/models roster (2026-09-29, 8 models), wafer.description: \"DeepSeek-V4-Pro -- DeepSeek's V4 Pro MoE, self-hosted on the Wafer fleet with a 1M-token context window, reasoning-effort control and tool calling. Available serverless.\" Roster values: context_length 1,048,576; input_cents_per_million 40, output_cents_per_million 420 ($0.40 / $4.20 per MTok input/output); cache_read_microcents_per_million 32,000,000 ($0.32 per MTok cache-read); capabilities.vision false; chat_completions supported, tools, streaming, json_object and json_schema true."
37
+ },
38
+ "Kimi-K3": {
39
+ "contextWindow": 1048576,
40
+ "maxOutputTokens": 131072,
41
+ "pricingPerMTok": {
42
+ "input": 1.44,
43
+ "output": 9,
44
+ "cachedInput": 0.3
45
+ },
46
+ "vision": true,
47
+ "status": "production",
48
+ "description": "Fallback. Unauthenticated GET https://pass.wafer.ai/v1/models roster (2026-09-29, 8 models), wafer.description: \"Kimi K3 sparse MoE model, self-hosted on the Wafer fleet. Available serverless with a 1M-token context window and strong coding/agentic performance.\" Roster values: context_length 1,048,576; max_output_tokens 131,072; input_cents_per_million 144, output_cents_per_million 900 ($1.44 / $9.00 per MTok input/output); cache_read_microcents_per_million 30,000,000 ($0.3 per MTok cache-read); capabilities.vision true and supports_vision true; not probed with an image request; chat_completions supported, tools, streaming, json_object and json_schema true."
49
+ },
50
+ "GLM-5.2": {
51
+ "contextWindow": 1048576,
52
+ "pricingPerMTok": {
53
+ "input": 0.32,
54
+ "output": 4.4,
55
+ "cachedInput": 0.2599
56
+ },
57
+ "vision": false,
58
+ "status": "production",
59
+ "description": "Fallback. Unauthenticated GET https://pass.wafer.ai/v1/models roster (2026-09-29, 8 models), wafer.description: \"GLM-5.2 — Z.ai's GLM-5.2 MoE (NVFP4), self-hosted on the Wafer fleet with a 1M-token context window, strong coding and reasoning, and tool calling. Available serverless.\" Roster values: context_length 1,048,576; input_cents_per_million 32, output_cents_per_million 440 ($0.32 / $4.40 per MTok input/output); cache_read_microcents_per_million 25,990,000 ($0.2599 per MTok cache-read); capabilities.vision false; chat_completions supported, tools, streaming, json_object and json_schema true."
60
+ },
61
+ "Qwen3.8-27B": {
62
+ "contextWindow": 262144,
63
+ "pricingPerMTok": {
64
+ "input": 0.04,
65
+ "output": 4.4,
66
+ "cachedInput": 0.0342
67
+ },
68
+ "vision": true,
69
+ "status": "production",
70
+ "description": "Roster-listed. Unauthenticated GET https://pass.wafer.ai/v1/models roster (2026-09-29, 8 models), wafer.description: \"Qwen3.8-27B -- Alibaba's dense 27B vision-language model, self-hosted on the Wafer fleet with a 262K-token context window, image and video input, reasoning-effort control and tool calling. Available serverless.\" Roster values: context_length 262,144; input_cents_per_million 4, output_cents_per_million 440 ($0.04 / $4.40 per MTok input/output); cache_read_microcents_per_million 3,420,000 ($0.0342 per MTok cache-read); capabilities.vision true and supports_vision true; not probed with an image request; chat_completions supported, tools, streaming, json_object and json_schema true."
71
+ },
72
+ "GLM-5.3-Flash": {
73
+ "contextWindow": 1048576,
74
+ "pricingPerMTok": {
75
+ "input": 0.75,
76
+ "output": 0.5,
77
+ "cachedInput": 0.03
78
+ },
79
+ "vision": true,
80
+ "status": "production",
81
+ "description": "Roster-listed. Unauthenticated GET https://pass.wafer.ai/v1/models roster (2026-09-29, 8 models), wafer.description: \"GLM-5.3-Flash — Z.ai's fast GLM-5.3 MoE variant, self-hosted on the Wafer fleet with a 1M-token context window and strong coding/agentic performance. Available serverless to gateway partners.\" Roster values: context_length 1,048,576; input_cents_per_million 75, output_cents_per_million 50 ($0.75 / $0.50 per MTok input/output); cache_read_microcents_per_million 3,000,000 ($0.03 per MTok cache-read); capabilities.vision true and supports_vision true; not probed with an image request; chat_completions supported, tools, streaming, json_object and json_schema true."
82
+ },
83
+ "DeepSeek-V4.1-Flash": {
84
+ "contextWindow": 1048576,
85
+ "pricingPerMTok": {
86
+ "input": 0.02,
87
+ "output": 0.7,
88
+ "cachedInput": 0.016
89
+ },
90
+ "vision": true,
91
+ "status": "production",
92
+ "description": "Roster-listed. Unauthenticated GET https://pass.wafer.ai/v1/models roster (2026-09-29, 8 models), wafer.description: \"DeepSeek-V4.1-Flash — DeepSeek's V4.1 Flash MoE (552B total, 8B active for prefill / 16B for decode, 1M-token context), self-hosted on the Wafer fleet with reasoning-effort control and tool calling. Available serverless.\" Roster values: context_length 1,048,576; input_cents_per_million 2, output_cents_per_million 70 ($0.02 / $0.70 per MTok input/output); cache_read_microcents_per_million 1,600,000 ($0.016 per MTok cache-read); capabilities.vision true and supports_vision true; not probed with an image request; chat_completions supported, tools, streaming, json_object and json_schema true."
93
+ },
94
+ "DeepSeek-V4-Flash-0731-Fast": {
95
+ "contextWindow": 1048576,
96
+ "pricingPerMTok": {
97
+ "input": 0.07,
98
+ "output": 0.35,
99
+ "cachedInput": 0.0531
100
+ },
101
+ "vision": false,
102
+ "status": "production",
103
+ "description": "Roster-listed. Unauthenticated GET https://pass.wafer.ai/v1/models roster (2026-09-29, 8 models), wafer.description: \"The same model served for high TPS.\" Roster values: context_length 1,048,576; input_cents_per_million 7, output_cents_per_million 35 ($0.07 / $0.35 per MTok input/output); cache_read_microcents_per_million 5,310,000 ($0.0531 per MTok cache-read); capabilities.vision false; chat_completions supported, tools, streaming, json_object and json_schema true."
104
+ }
105
+ },
106
+ "topModels": [
107
+ "GLM-5.3",
108
+ "DeepSeek-V4-Pro",
109
+ "Kimi-K3",
110
+ "GLM-5.2",
111
+ "Qwen3.8-27B",
112
+ "GLM-5.3-Flash",
113
+ "DeepSeek-V4.1-Flash",
114
+ "DeepSeek-V4-Flash-0731-Fast"
115
+ ],
116
+ "visionModel": "Qwen3.8-27B"
117
+ },
118
+ "capabilities": {
119
+ "text": true,
120
+ "streaming": true,
121
+ "tools": true,
122
+ "toolsWithStreaming": true,
123
+ "structuredOutput": true,
124
+ "structuredOutputWithTools": false,
125
+ "embeddings": false,
126
+ "thinking": false
127
+ },
128
+ "errorRules": [
129
+ {
130
+ "status": 401,
131
+ "class": "authentication",
132
+ "message": "Wafer returned HTTP 401 authentication_error. Check {apiKeyEnvVar}. Get one at {setupUrl}"
133
+ }
134
+ ],
135
+ "setup": {
136
+ "url": "https://app.wafer.ai",
137
+ "apiKeyFormat": null,
138
+ "billingPolicy": "no-free-tier",
139
+ "instructions": [
140
+ "1. Visit: https://app.wafer.ai and sign in — the docs say \"Sign in at app.wafer.ai to add credits and create an API key. Store your key securely.\" (https://docs.wafer.ai/serverless)",
141
+ "2. Add credits and create an API key — the docs say \"Add credits, create an API key, and pay per token.\" (https://docs.wafer.ai/serverless)",
142
+ "3. Set {apiKeyEnvVar} in your .env file (the docs' Authentication row shows the Authorization: Bearer header)"
143
+ ],
144
+ "description": "OpenAI-compatible endpoint at https://pass.wafer.ai/v1 (https://docs.wafer.ai/serverless: \"Access Wafer models through an OpenAI-compatible API.\"), with the 8 models the unauthenticated GET /models roster listed on 2026-09-29 in models.catalog. An unauthenticated GET of https://pass.wafer.ai/v1/chat/completions returned HTTP 401 with error.type authentication_error and error.code missing_api_key (2026-09-29), so errorRules match status 401. models.defaultContextWindow (128000) and models.defaultMaxOutputTokens (16384) are placeholders the vendor does not publish. billingPolicy is recorded as no-free-tier because the schema has no unknown value; the vendor's stated flow is \"Add credits, create an API key, and pay per token.\""
145
+ },
146
+ "evidence": {
147
+ "rosterVerified": {
148
+ "date": "2026-09-29",
149
+ "status": 200,
150
+ "method": "unauthenticated GET https://pass.wafer.ai/v1/models — 8 models; credential-free, no key used"
151
+ },
152
+ "authProbe": {
153
+ "date": "2026-09-29",
154
+ "status": 401,
155
+ "code": "missing_api_key",
156
+ "method": "unauthenticated GET https://pass.wafer.ai/v1/chat/completions — error.type authentication_error; credential-free, no key used"
157
+ },
158
+ "billingProbe": {
159
+ "date": "2026-09-29",
160
+ "method": "public page https://docs.wafer.ai/serverless — \"Add credits, create an API key, and pay per token.\"; credential-free"
161
+ },
162
+ "liveMatrix": null,
163
+ "addedInPR": "https://github.com/juspay/neurolink/pull/1860"
164
+ }
165
+ }