@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.
- package/CHANGELOG.md +6 -2
- package/README.md +1 -1
- package/dist/auth/middleware/AuthMiddleware.d.ts +1 -1
- package/dist/browser/neurolink.min.js +422 -422
- package/dist/constants/enums.d.ts +237 -0
- package/dist/constants/enums.js +257 -0
- package/dist/neurolink.js +46 -21
- package/dist/providers/catalog/ai21.json +142 -0
- package/dist/providers/catalog/aionlabs.json +144 -0
- package/dist/providers/catalog/atlas-cloud.json +203 -0
- package/dist/providers/catalog/avian-io.json +227 -0
- package/dist/providers/catalog/crusoe.json +229 -0
- package/dist/providers/catalog/index.generated.d.ts +1 -1
- package/dist/providers/catalog/index.generated.js +60 -0
- package/dist/providers/catalog/minimax.json +200 -0
- package/dist/providers/catalog/moonshot-ai.json +135 -0
- package/dist/providers/catalog/nebius.json +165 -0
- package/dist/providers/catalog/prime-intellect.json +217 -0
- package/dist/providers/catalog/scaleway.json +177 -0
- package/dist/providers/catalog/siliconflow.json +242 -0
- package/dist/providers/catalog/stepfun.json +155 -0
- package/dist/providers/catalog/subconscious.json +93 -0
- package/dist/providers/catalog/tinfoil.json +155 -0
- package/dist/providers/catalog/umans-ai.json +174 -0
- package/dist/providers/catalog/venice-ai.json +208 -0
- package/dist/providers/catalog/vultr-inference.json +220 -0
- package/dist/providers/catalog/wafer.json +165 -0
- package/dist/providers/catalog/wandb-inference.json +249 -0
- package/dist/providers/catalog/z-ai.json +255 -0
- package/dist/types/providerCatalog.generated.d.ts +2 -2
- package/dist/types/providers.d.ts +80 -0
- package/docs-site/static/search-index.json +227 -3
- package/package.json +1 -1
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./provider-catalog.schema.json",
|
|
3
|
+
"id": "stepfun",
|
|
4
|
+
"displayName": "StepFun",
|
|
5
|
+
"aliases": [],
|
|
6
|
+
"tier": 2,
|
|
7
|
+
"wire": {
|
|
8
|
+
"baseURL": "https://api.stepfun.ai/v1"
|
|
9
|
+
},
|
|
10
|
+
"models": {
|
|
11
|
+
"default": "step-5-preview",
|
|
12
|
+
"fallbacks": [
|
|
13
|
+
"step-3.7-flash",
|
|
14
|
+
"step-3.5-flash",
|
|
15
|
+
"step-3.5-flash-2603",
|
|
16
|
+
"step-1o-turbo-vision"
|
|
17
|
+
],
|
|
18
|
+
"fallbackModelName": "step-3.7-flash",
|
|
19
|
+
"defaultContextWindow": 32000,
|
|
20
|
+
"defaultMaxOutputTokens": 16384,
|
|
21
|
+
"catalog": {
|
|
22
|
+
"step-5-preview": {
|
|
23
|
+
"contextWindow": 1000000,
|
|
24
|
+
"maxOutputTokens": 64000,
|
|
25
|
+
"pricingPerMTok": {
|
|
26
|
+
"input": 1.0,
|
|
27
|
+
"output": 2.7,
|
|
28
|
+
"cachedInput": 0.05
|
|
29
|
+
},
|
|
30
|
+
"vision": true,
|
|
31
|
+
"status": "preview",
|
|
32
|
+
"description": "NeuroLink default. Model page https://platform.stepfun.ai/docs/en/guides/models/step-5-preview (retrieved 2026-09-29): \"Step 5 Preview is StepFun's flagship model for agentic work.\" The page's specification table gives Model ID step-5-preview, Context window \"1M tokens\", Input types \"Text, images, and video\", Output type \"Text\" and Maximum output \"64k tokens\"; its features table lists Streaming output, Tool calling, Structured output (\"JSON Mode and JSON Schema supported\"), Reasoning effort (low, medium, high) and Prompt caching. The Chat Completions page https://platform.stepfun.ai/docs/en/api-reference/chat/chat-completion-create.md states \"The examples below use step-5-preview by default.\" Prices per https://platform.stepfun.ai/docs/en/guides/pricing/details.md: $1.00 input (cache miss), $0.05 input (cache hit), $2.70 output per 1M tokens. contextWindow 1000000 and maxOutputTokens 64000 are the decimal forms of \"1M tokens\" and \"64k tokens\"; vision is true because the model page lists images and video as input types; status is preview because the vendor names the model \"Step 5 Preview\"."
|
|
33
|
+
},
|
|
34
|
+
"step-3.7-flash": {
|
|
35
|
+
"contextWindow": 256000,
|
|
36
|
+
"pricingPerMTok": {
|
|
37
|
+
"input": 0.2,
|
|
38
|
+
"output": 1.15,
|
|
39
|
+
"cachedInput": 0.04
|
|
40
|
+
},
|
|
41
|
+
"vision": true,
|
|
42
|
+
"status": "production",
|
|
43
|
+
"description": "Fallback. Model page https://platform.stepfun.ai/docs/en/guides/models/step-3.7-flash (retrieved 2026-09-29): \"StepFun's flagship multimodal reasoning model. Powered by a 198B-parameter / 11B-activation sparse MoE architecture, with native support for image and video understanding.\" Its Key facts section states a context length of 256K tokens, and the page lists three reasoning effort levels (low, medium, high) set with reasoning_effort on the Chat Completions API. The Quickstart table (https://platform.stepfun.ai/docs/en/quickstart/overview.md) lists Input capabilities \"Text, images, and video\" for it; the Tool Call page (https://platform.stepfun.ai/docs/en/api-reference/tool-call.md) lists it among the models that support Toolcall requests, and the JSON Mode page (https://platform.stepfun.ai/docs/en/guides/developer/json-mode.md) says the json_schema approach applies to it. Prices per https://platform.stepfun.ai/docs/en/guides/pricing/details.md (the model page shows the same figures): $0.20 input (cache miss), $0.04 input (cache hit), $1.15 output per 1M tokens. contextWindow 256000 is the decimal form of \"256K tokens\"; vision is true because the Quickstart table lists images and video as input capabilities."
|
|
44
|
+
},
|
|
45
|
+
"step-3.5-flash": {
|
|
46
|
+
"contextWindow": 256000,
|
|
47
|
+
"pricingPerMTok": {
|
|
48
|
+
"input": 0.1,
|
|
49
|
+
"output": 0.3,
|
|
50
|
+
"cachedInput": 0.02
|
|
51
|
+
},
|
|
52
|
+
"vision": false,
|
|
53
|
+
"status": "production",
|
|
54
|
+
"description": "Fallback. Model page https://platform.stepfun.ai/docs/en/guides/models/step-3.5-flash (retrieved 2026-09-29): the model is \"StepFun's flagship language reasoning model\", \"Built on a 196B-parameter / 11B-activation sparse MoE architecture.\" Its Key facts section states a context length of 256K tokens. The Quickstart table (https://platform.stepfun.ai/docs/en/quickstart/overview.md) lists Input capabilities \"Text only\" for it and says \"Step 3.5 Flash does not support image input\". The Tool Call page (https://platform.stepfun.ai/docs/en/api-reference/tool-call.md) lists it among the models that support Toolcall requests, and the JSON Mode page (https://platform.stepfun.ai/docs/en/guides/developer/json-mode.md) says the json_schema approach applies to it. Prices per https://platform.stepfun.ai/docs/en/guides/pricing/details.md (the model page shows the same figures): $0.10 input (cache miss), $0.02 input (cache hit), $0.30 output per 1M tokens. contextWindow 256000 is the decimal form of \"256K tokens\"."
|
|
55
|
+
},
|
|
56
|
+
"step-3.5-flash-2603": {
|
|
57
|
+
"contextWindow": 256000,
|
|
58
|
+
"pricingPerMTok": {
|
|
59
|
+
"input": 0.1,
|
|
60
|
+
"output": 0.3,
|
|
61
|
+
"cachedInput": 0.02
|
|
62
|
+
},
|
|
63
|
+
"vision": false,
|
|
64
|
+
"status": "production",
|
|
65
|
+
"description": "Fallback. The Model variants section of https://platform.stepfun.ai/docs/en/guides/models/step-3.5-flash (retrieved 2026-09-29) describes step-3.5-flash-2603 as \"Agent-optimized version: tuned from step-3.5-flash for high-frequency agent scenarios.\" and says it \"Supports the reasoning_effort field (low / high).\" The Chat Completions page (https://platform.stepfun.ai/docs/en/api-reference/chat/chat-completion-create.md) says step-3.5-flash-2603 accepts low and high for reasoning_effort. The welcome page model overview (https://platform.stepfun.ai/docs/en/welcome.md) has a card titled \"Step 3.5 Flash 2603\" with the category \"Reasoning / text\", the subtitle \"Optimized for agents\" and the metric \"Max context\" (value 256K). The Tool Call page (https://platform.stepfun.ai/docs/en/api-reference/tool-call.md) lists step-3.5-flash-2603 among the models that support Toolcall requests, and the JSON Mode page (https://platform.stepfun.ai/docs/en/guides/developer/json-mode.md) says the json_schema approach applies to it. Prices per https://platform.stepfun.ai/docs/en/guides/pricing/details.md: $0.10 input (cache miss), $0.02 input (cache hit), $0.30 output per 1M tokens. contextWindow 256000 is the decimal form of 256K; vision is false (the welcome card category is \"Reasoning / text\")."
|
|
66
|
+
},
|
|
67
|
+
"step-1o-turbo-vision": {
|
|
68
|
+
"contextWindow": 32000,
|
|
69
|
+
"pricingPerMTok": {
|
|
70
|
+
"input": 0.36,
|
|
71
|
+
"output": 1.15,
|
|
72
|
+
"cachedInput": 0.07
|
|
73
|
+
},
|
|
74
|
+
"vision": true,
|
|
75
|
+
"status": "production",
|
|
76
|
+
"description": "Fallback. Listed as step-1o-turbo-vision under \"Pricing for Vision Models\" on https://platform.stepfun.ai/docs/en/guides/pricing/details.md (retrieved 2026-09-29): $0.36 input (cache miss), $0.07 input (cache hit), $1.15 output per 1M tokens; the page adds \"Image input is counted and billed as tokens, just like text input.\" The Model Retirement and Migration page (https://platform.stepfun.ai/docs/en/guides/model-migration.md) lists it in the \"Recommended replacement\" column for step-1-8k, step-1-32k, step-1v-8k, step-1v-32k, step-2-mini, step-1o-vision-32k and step-2-16k. The welcome page model overview (https://platform.stepfun.ai/docs/en/welcome.md) has a card titled \"Step-1o Turbo Vision\" with the metric \"Max context\" (value 32K) and the text \"Designed for social content creation, AI assistants, and image and video understanding.\" contextWindow 32000 is the decimal form of 32K; vision is true because the pricing page groups the model under vision models and the card describes image and video understanding."
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"topModels": [
|
|
80
|
+
"step-5-preview",
|
|
81
|
+
"step-3.7-flash",
|
|
82
|
+
"step-3.5-flash",
|
|
83
|
+
"step-3.5-flash-2603",
|
|
84
|
+
"step-1o-turbo-vision"
|
|
85
|
+
],
|
|
86
|
+
"visionModel": "step-5-preview"
|
|
87
|
+
},
|
|
88
|
+
"capabilities": {
|
|
89
|
+
"text": true,
|
|
90
|
+
"streaming": true,
|
|
91
|
+
"tools": "model-dependent",
|
|
92
|
+
"toolsWithStreaming": true,
|
|
93
|
+
"structuredOutput": true,
|
|
94
|
+
"structuredOutputWithTools": false,
|
|
95
|
+
"embeddings": false,
|
|
96
|
+
"thinking": true
|
|
97
|
+
},
|
|
98
|
+
"errorRules": [
|
|
99
|
+
{
|
|
100
|
+
"status": 401,
|
|
101
|
+
"class": "authentication",
|
|
102
|
+
"message": "StepFun rejected the API key (HTTP 401 invalid_api_key; the Error Codes page lists 401 as \"Invalid authentication\" with the resolution \"Make sure you are using the correct API key.\"). Check {apiKeyEnvVar}. Create a key: {setupUrl}"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"status": 402,
|
|
106
|
+
"class": "provider",
|
|
107
|
+
"message": "StepFun returned HTTP 402 (the Error Codes page lists 402 as \"Insufficient balance\" with the resolution \"Add funds to your account.\")."
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"status": 429,
|
|
111
|
+
"class": "rate-limit",
|
|
112
|
+
"message": "StepFun returned HTTP 429 (the Error Codes page lists 429 as \"Resource or rate limit exceeded, usually because requests are too frequent\" with the resolution \"Retry after a short delay.\")."
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"status": 451,
|
|
116
|
+
"class": "provider",
|
|
117
|
+
"message": "StepFun returned HTTP 451 (the Error Codes page lists 451 as \"The request or response content failed review\" with the resolution \"Modify the request and try again.\")."
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"status": 503,
|
|
121
|
+
"class": "provider",
|
|
122
|
+
"message": "StepFun returned HTTP 503 (the Error Codes page lists 503 as \"Server is currently overloaded\" with the resolution \"Retry after a short delay.\")."
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"setup": {
|
|
126
|
+
"url": "https://platform.stepfun.ai/interface-key",
|
|
127
|
+
"apiKeyFormat": null,
|
|
128
|
+
"billingPolicy": "no-free-tier",
|
|
129
|
+
"instructions": [
|
|
130
|
+
"1. Visit: https://platform.stepfun.ai/interface-key and sign in - the Quickstart (https://platform.stepfun.ai/docs/en/quickstart/overview.md) says \"Sign in to the StepFun Open Platform and create and copy an API key on the Interface Keys page.\"",
|
|
131
|
+
"2. Billing as the vendor states it: the pricing overview (https://platform.stepfun.ai/docs/en/guides/pricing/intro.md) says fees are deducted \"drawing from free credit first, then paid balance\", and the Error Codes page (https://platform.stepfun.ai/docs/en/api-reference/error-codes.md) lists HTTP 402 as \"Insufficient balance\" with the resolution \"Add funds to your account.\"",
|
|
132
|
+
"3. Set {apiKeyEnvVar} in your .env file"
|
|
133
|
+
],
|
|
134
|
+
"description": "Docs-verified only: the vendor's GET https://api.stepfun.ai/v1/models needs a key (it answers HTTP 401 without one), so the five model ids come from the pricing page https://platform.stepfun.ai/docs/en/guides/pricing/details.md and the roster has not been checked; the entry is not yet live-verified. OpenAI-compatible endpoint at https://api.stepfun.ai/v1: the Chat Completions page (https://platform.stepfun.ai/docs/en/api-reference/chat/chat-completion-create.md) documents POST https://api.stepfun.ai/v1/chat/completions with a required model and messages, and streaming as data: chunks ending in data: [DONE]; the migration page (https://platform.stepfun.ai/docs/en/guides/developer/openai.md) says \"Stepfun models are compatible with the OpenAI API spec.\" Unauthenticated GETs made 2026-09-29: /models and /chat/completions each answered HTTP 401 with the body {\"error\":{\"message\":\"Incorrect API key provided\",\"type\":\"invalid_api_key\"}}; errorRules carry that 401 and the 402, 429, 451 and 503 statuses listed on the Error Codes page. models.defaultContextWindow (32000) and models.defaultMaxOutputTokens (16384) are conservative placeholders for model ids outside the catalog; the vendor does not publish a general default. Per-model contextWindow and maxOutputTokens values are the decimal forms of the labels the vendor prints (\"1M tokens\", \"256K tokens\", 32K, \"64k tokens\"). billingPolicy holds the schema value no-free-tier because the catalog schema has no unknown value; it is not a vendor statement. The base URL is the standard Open Platform endpoint; the Step Plan overview (https://platform.stepfun.ai/docs/en/step-plan/overview.md) lists a separate OpenAI SDK base URL, https://api.stepfun.ai/step_plan/v1. No POST request was sent, so the request fields NeuroLink's chat-completions client can add (stream_options on streaming calls, tool_choice on calls with tools, and a json_schema response_format for schema output) have not been exercised against StepFun."
|
|
135
|
+
},
|
|
136
|
+
"evidence": {
|
|
137
|
+
"rosterVerified": {
|
|
138
|
+
"date": "2026-09-29",
|
|
139
|
+
"status": 401,
|
|
140
|
+
"method": "docs-only — unauthenticated GET https://api.stepfun.ai/v1/models answers 401 without a key, so model ids are taken from https://platform.stepfun.ai/docs/en/guides/pricing/details.md (retrieved 2026-09-29); roster not verified"
|
|
141
|
+
},
|
|
142
|
+
"authProbe": {
|
|
143
|
+
"date": "2026-09-29",
|
|
144
|
+
"status": 401,
|
|
145
|
+
"code": "invalid_api_key",
|
|
146
|
+
"method": "unauthenticated GET https://api.stepfun.ai/v1/models and GET https://api.stepfun.ai/v1/chat/completions, no Authorization header — each HTTP 401, JSON body {\"error\":{\"message\":\"Incorrect API key provided\",\"type\":\"invalid_api_key\"}}; the code recorded here is the body's error.type value (the body has no error.code field); credential-free, no key used"
|
|
147
|
+
},
|
|
148
|
+
"billingProbe": {
|
|
149
|
+
"date": "2026-09-29",
|
|
150
|
+
"method": "public pages https://platform.stepfun.ai/docs/en/guides/pricing/intro.md (\"drawing from free credit first, then paid balance\"), https://platform.stepfun.ai/docs/en/guides/pricing/details.md (per-token prices and rate-limit tiers by cumulative top-up amount) and https://platform.stepfun.ai/docs/en/api-reference/error-codes.md (402 \"Insufficient balance\"); credential-free, no signup performed"
|
|
151
|
+
},
|
|
152
|
+
"liveMatrix": null,
|
|
153
|
+
"addedInPR": "https://github.com/juspay/neurolink/pull/1860"
|
|
154
|
+
}
|
|
155
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./provider-catalog.schema.json",
|
|
3
|
+
"id": "subconscious",
|
|
4
|
+
"displayName": "Subconscious",
|
|
5
|
+
"aliases": [],
|
|
6
|
+
"tier": 2,
|
|
7
|
+
"wire": {
|
|
8
|
+
"baseURL": "https://api.subconscious.dev/v1"
|
|
9
|
+
},
|
|
10
|
+
"models": {
|
|
11
|
+
"default": "subconscious/glm-5.3-marathon",
|
|
12
|
+
"fallbacks": [
|
|
13
|
+
"subconscious/deepseek-v4.1-flash-marathon",
|
|
14
|
+
"subconscious/tim-qwen3.6-27b"
|
|
15
|
+
],
|
|
16
|
+
"defaultContextWindow": 200000,
|
|
17
|
+
"defaultMaxOutputTokens": 4096,
|
|
18
|
+
"catalog": {
|
|
19
|
+
"subconscious/glm-5.3-marathon": {
|
|
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 pricing page (https://www.subconscious.dev/pricing, retrieved 2026-09-29) lists the id subconscious/glm-5.3-marathon under the name 'GLM-5.3 Marathon', with the description 'Open-source frontier coding model', at $0.26 cached, $1.40 input and $4.40 output per 1M tokens. The API reference (https://docs.subconscious.dev/api-reference/openapi.json) lists this id as the model enum value. Present on the unauthenticated GET /v1/models roster (2026-09-29). vision is false as a schema-required placeholder the vendor does not publish for this id."
|
|
28
|
+
},
|
|
29
|
+
"subconscious/deepseek-v4.1-flash-marathon": {
|
|
30
|
+
"vision": false,
|
|
31
|
+
"status": "production",
|
|
32
|
+
"description": "NeuroLink fallback. Present on the unauthenticated GET /v1/models roster (2026-09-29). The vendor homepage FAQ (https://www.subconscious.dev, retrieved 2026-09-29) says 'On our managed inference service, we serve GLM 5.3 Marathon and DeepSeek V4.1 Flash Marathon.' No pricing is attached: the pricing page (https://www.subconscious.dev/pricing, retrieved 2026-09-29) lists the id subconscious/deepseek-v4-flash-marathon, which differs from this roster id, with the description 'Multimodal & high-throughput DeepSeek V4'. vision is false as a schema-required placeholder the vendor does not publish for this roster id. Not probed with a key."
|
|
33
|
+
},
|
|
34
|
+
"subconscious/tim-qwen3.6-27b": {
|
|
35
|
+
"vision": false,
|
|
36
|
+
"status": "production",
|
|
37
|
+
"description": "NeuroLink fallback. Present on the unauthenticated GET /v1/models roster (2026-09-29). The vendor blog post 'Introducing TIM-Qwen3.6-27B' (https://www.subconscious.dev/blog/introducing-tim-qwen3-6-27b, May 21, 2026) says the model is 'available via the OpenAI chat completions and Anthropic messages API formats'. vision is false as a schema-required placeholder the vendor does not publish for this id. Not probed with a key."
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"topModels": [
|
|
41
|
+
"subconscious/glm-5.3-marathon",
|
|
42
|
+
"subconscious/deepseek-v4.1-flash-marathon",
|
|
43
|
+
"subconscious/tim-qwen3.6-27b"
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"capabilities": {
|
|
47
|
+
"text": true,
|
|
48
|
+
"streaming": true,
|
|
49
|
+
"tools": false,
|
|
50
|
+
"toolsWithStreaming": false,
|
|
51
|
+
"structuredOutput": false,
|
|
52
|
+
"structuredOutputWithTools": false,
|
|
53
|
+
"embeddings": false,
|
|
54
|
+
"thinking": false
|
|
55
|
+
},
|
|
56
|
+
"errorRules": [
|
|
57
|
+
{
|
|
58
|
+
"status": 401,
|
|
59
|
+
"class": "authentication",
|
|
60
|
+
"message": "Invalid or missing Subconscious API key. Check {apiKeyEnvVar}. Get one at {setupUrl}"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"status": 429,
|
|
64
|
+
"class": "rate-limit",
|
|
65
|
+
"message": "Subconscious returned HTTP 429: rate limited due to too many requests or tokens per minute."
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"setup": {
|
|
69
|
+
"url": "https://subconscious.dev/platform/api-keys",
|
|
70
|
+
"apiKeyFormat": null,
|
|
71
|
+
"billingPolicy": "no-free-tier",
|
|
72
|
+
"instructions": [
|
|
73
|
+
"1. Visit https://subconscious.dev/platform and sign up or sign in (the quickstart, https://docs.subconscious.dev/quickstart, describes signing up on the platform and generating an API key from the dashboard)",
|
|
74
|
+
"2. Create an API key at https://subconscious.dev/platform/api-keys and copy it (https://docs.subconscious.dev/ways-to-use/cloud-api says API keys are created and managed from the dashboard)",
|
|
75
|
+
"3. Pricing is at https://www.subconscious.dev/pricing (monthly token plans and usage-based per-token pricing); the cloud-API page says 'Usage is billed per token.' and 'Credits are added from your dashboard'",
|
|
76
|
+
"4. Set {apiKeyEnvVar} in your .env file"
|
|
77
|
+
],
|
|
78
|
+
"description": "OpenAI-compatible Chat Completions endpoint at https://api.subconscious.dev/v1. The vendor overview (https://docs.subconscious.dev/overview) says 'Our API is compatible with both the OpenAI Completions and Anthropic Messages APIs'; this entry uses the OpenAI-format /chat/completions route. Verification level: docs- and roster-verified, not live-verified (evidence.liveMatrix is null). Checks made on 2026-09-29 were unauthenticated GET requests to /v1/models (HTTP 200, 4 models) and /v1/chat/completions (HTTP 405, allow: POST); no key was used and no POST was sent. The OpenAPI spec (https://docs.subconscious.dev/api-reference/openapi.json) lists statuses 400, 401 ('Unauthorized because of a missing or invalid API key'), 429 ('Rate limited due to too many requests or tokens per minute') and 500, so errorRules match on status. The spec says of response_format: 'Currently unsupported. The request may accept this field, but it is ignored and does not constrain the model output to JSON or a schema.' tools, toolsWithStreaming, structuredOutput, structuredOutputWithTools and thinking are declared false and were not probed with a key. models.defaultContextWindow (200000), models.defaultMaxOutputTokens (4096) and the vision value (false) of the three catalog models are placeholders the vendor does not publish per model. billingPolicy no-free-tier is the schema's required field value, not a vendor statement."
|
|
79
|
+
},
|
|
80
|
+
"evidence": {
|
|
81
|
+
"rosterVerified": {
|
|
82
|
+
"date": "2026-09-29",
|
|
83
|
+
"method": "unauthenticated GET https://api.subconscious.dev/v1/models — 4 models; credential-free, no key used",
|
|
84
|
+
"status": 200
|
|
85
|
+
},
|
|
86
|
+
"billingProbe": {
|
|
87
|
+
"date": "2026-09-29",
|
|
88
|
+
"method": "public pages https://docs.subconscious.dev/ways-to-use/cloud-api and https://www.subconscious.dev/pricing read without an account. The vendor blog post https://www.subconscious.dev/blog/subconscious-glm-5-2-makes-compact-obsolete (June 22, 2026, about GLM-5.2) says 'You also get $50 credits to test the model performance'; no account was created, so that offer was not tried; credential-free"
|
|
89
|
+
},
|
|
90
|
+
"liveMatrix": null,
|
|
91
|
+
"addedInPR": "https://github.com/juspay/neurolink/pull/1860"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./provider-catalog.schema.json",
|
|
3
|
+
"id": "tinfoil",
|
|
4
|
+
"displayName": "Tinfoil",
|
|
5
|
+
"aliases": [],
|
|
6
|
+
"tier": 2,
|
|
7
|
+
"wire": {
|
|
8
|
+
"baseURL": "https://inference.tinfoil.sh/v1"
|
|
9
|
+
},
|
|
10
|
+
"models": {
|
|
11
|
+
"default": "kimi-k3",
|
|
12
|
+
"fallbacks": ["gpt-oss-120b", "gemma4-31b", "llama3-3-70b"],
|
|
13
|
+
"defaultContextWindow": 131072,
|
|
14
|
+
"defaultMaxOutputTokens": 4096,
|
|
15
|
+
"catalog": {
|
|
16
|
+
"kimi-k3": {
|
|
17
|
+
"contextWindow": 262144,
|
|
18
|
+
"pricingPerMTok": {
|
|
19
|
+
"input": 4,
|
|
20
|
+
"output": 20,
|
|
21
|
+
"cachedInput": 0.8
|
|
22
|
+
},
|
|
23
|
+
"vision": true,
|
|
24
|
+
"status": "production",
|
|
25
|
+
"description": "NeuroLink default. Roster description: \"Moonshot's flagship multimodal MoE model with hybrid attention for long-context reasoning, coding, and agentic workflows\". https://docs.tinfoil.sh/guides/tool-calling (Best Practices): \"Among the models offered on Tinfoil API, Kimi K3 is recommended for function calling and agentic workflows\"; https://docs.tinfoil.sh/tutorials/coding-agents uses the model ID kimi-k3 in its setup examples. Unauthenticated GET https://inference.tinfoil.sh/v1/models roster (2026-09-29, 17 models): type chat, endpoints [\"/v1/chat/completions\",\"/v1/responses\"], context_window 262144 (https://docs.tinfoil.sh/models/chat gives the Context value as \"256K tokens\"), inputTokenPricePer1M 4, outputTokenPricePer1M 20, cachedInputTokenPricePer1M 0.8, multimodal true, tool_calling true, reasoning true. https://docs.tinfoil.sh/models/vision and https://docs.tinfoil.sh/guides/image-processing name Kimi K3 among the models that support image inputs, so vision is true. https://docs.tinfoil.sh/guides/reasoning lists the reasoning_effort values low, high and max for it. Status is production: this roster entry does not set `experimental`."
|
|
26
|
+
},
|
|
27
|
+
"gpt-oss-120b": {
|
|
28
|
+
"contextWindow": 131072,
|
|
29
|
+
"pricingPerMTok": {
|
|
30
|
+
"input": 0.15,
|
|
31
|
+
"output": 0.6
|
|
32
|
+
},
|
|
33
|
+
"vision": false,
|
|
34
|
+
"status": "production",
|
|
35
|
+
"description": "Fallback. Roster description: \"Open-weight model designed for powerful reasoning, agentic tasks, and versatile developer use cases\". The first inference example on https://docs.tinfoil.sh/quickstart uses this model ID; https://docs.tinfoil.sh/models/chat gives the Best for value as \"Production use cases requiring configurable reasoning and tool use\". Unauthenticated GET https://inference.tinfoil.sh/v1/models roster (2026-09-29, 17 models): type chat, endpoints [\"/v1/chat/completions\",\"/v1/responses\"], context_window 131072 (docs Context value \"131K tokens\"), inputTokenPricePer1M 0.15, outputTokenPricePer1M 0.6, multimodal false, tool_calling true, reasoning true. https://docs.tinfoil.sh/guides/image-processing: \"Other models (Llama, GPT-OSS) are text-only and cannot process images.\", so vision is false. https://docs.tinfoil.sh/guides/reasoning lists the reasoning_effort values low, medium and high for it. Status is production: this roster entry does not set `experimental`."
|
|
36
|
+
},
|
|
37
|
+
"gemma4-31b": {
|
|
38
|
+
"contextWindow": 262144,
|
|
39
|
+
"pricingPerMTok": {
|
|
40
|
+
"input": 0.4,
|
|
41
|
+
"output": 1
|
|
42
|
+
},
|
|
43
|
+
"vision": true,
|
|
44
|
+
"status": "production",
|
|
45
|
+
"description": "Fallback. https://docs.tinfoil.sh/models/chat gives the Strengths value as \"Built-in thinking mode, image understanding, native function calling, multilingual support for 35+ languages\". Unauthenticated GET https://inference.tinfoil.sh/v1/models roster (2026-09-29, 17 models): type chat, endpoints [\"/v1/chat/completions\",\"/v1/responses\"], context_window 262144 (docs Context value \"256K tokens\"), inputTokenPricePer1M 0.4, outputTokenPricePer1M 1, multimodal true, tool_calling true, reasoning true. https://docs.tinfoil.sh/models/vision and https://docs.tinfoil.sh/guides/image-processing name Gemma 4 31B among the models that support image inputs, so vision is true. https://docs.tinfoil.sh/guides/reasoning lists the reasoning_effort values none, minimal, low, medium, high, xhigh and max for it. Status is production: this roster entry does not set `experimental`."
|
|
46
|
+
},
|
|
47
|
+
"llama3-3-70b": {
|
|
48
|
+
"contextWindow": 131072,
|
|
49
|
+
"pricingPerMTok": {
|
|
50
|
+
"input": 1.75,
|
|
51
|
+
"output": 2.75
|
|
52
|
+
},
|
|
53
|
+
"vision": false,
|
|
54
|
+
"status": "production",
|
|
55
|
+
"description": "Fallback. Roster description: \"High-performance multilingual language model optimized for dialogue\". https://docs.tinfoil.sh/models/chat gives the Strengths value as \"Multilingual, dialogue-optimized, function calling\". Unauthenticated GET https://inference.tinfoil.sh/v1/models roster (2026-09-29, 17 models): type chat, endpoints [\"/v1/chat/completions\"], context_window 131072 (docs Context value \"128K tokens\"), inputTokenPricePer1M 1.75, outputTokenPricePer1M 2.75, multimodal false, tool_calling true, reasoning false. https://docs.tinfoil.sh/guides/image-processing: \"Other models (Llama, GPT-OSS) are text-only and cannot process images.\", so vision is false. https://docs.tinfoil.sh/guides/reasoning states that llama3-3-70b is not a reasoning model. Status is production: this roster entry does not set `experimental`."
|
|
56
|
+
},
|
|
57
|
+
"glm-5-3": {
|
|
58
|
+
"contextWindow": 1048576,
|
|
59
|
+
"pricingPerMTok": {
|
|
60
|
+
"input": 1.8,
|
|
61
|
+
"output": 5.75,
|
|
62
|
+
"cachedInput": 0.45
|
|
63
|
+
},
|
|
64
|
+
"vision": false,
|
|
65
|
+
"status": "production",
|
|
66
|
+
"description": "Catalog entry (not a NeuroLink default or fallback). Roster description: \"Z.ai's latest flagship for agentic coding and long-horizon tasks, with a 1M-token context window\". Unauthenticated GET https://inference.tinfoil.sh/v1/models roster (2026-09-29, 17 models): type chat, endpoints [\"/v1/chat/completions\",\"/v1/responses\"], context_window 1048576 (https://docs.tinfoil.sh/models/chat gives the Context value as \"1M tokens\"), inputTokenPricePer1M 1.8, outputTokenPricePer1M 5.75, cachedInputTokenPricePer1M 0.45, multimodal false, tool_calling true, reasoning true, so vision is false. https://docs.tinfoil.sh/models/chat states that reasoning tokens count toward max_tokens for this model and that structured outputs and strict tool calls at the default effort need a generous max_tokens (around 20K) or a lower effort. https://docs.tinfoil.sh/guides/reasoning lists the reasoning_effort values low, high and max for it. Status is production: this roster entry does not set `experimental`."
|
|
67
|
+
},
|
|
68
|
+
"glm-5-3-flash": {
|
|
69
|
+
"contextWindow": 1048576,
|
|
70
|
+
"pricingPerMTok": {
|
|
71
|
+
"input": 0.4,
|
|
72
|
+
"output": 1.25,
|
|
73
|
+
"cachedInput": 0.1
|
|
74
|
+
},
|
|
75
|
+
"vision": true,
|
|
76
|
+
"status": "preview",
|
|
77
|
+
"description": "Catalog entry (not a NeuroLink default or fallback). Roster description: \"Z.AI's fast multimodal MoE model with a 1M-token context window, image input, reasoning, and tool calling\". Unauthenticated GET https://inference.tinfoil.sh/v1/models roster (2026-09-29, 17 models): type chat, endpoints [\"/v1/chat/completions\",\"/v1/responses\"], experimental true (status is therefore preview), context_window 1048576 (https://docs.tinfoil.sh/models/chat gives the Context value as \"1M tokens\"), inputTokenPricePer1M 0.4, outputTokenPricePer1M 1.25, cachedInputTokenPricePer1M 0.1, multimodal true, tool_calling true, reasoning true. https://docs.tinfoil.sh/models/vision and https://docs.tinfoil.sh/guides/image-processing name GLM-5.3 Flash among the models that support image inputs, so vision is true. https://docs.tinfoil.sh/models/chat states that reasoning tokens count toward max_tokens for this model and that structured outputs and strict tool calls at the default effort need a generous max_tokens (around 20K) or a lower effort. https://docs.tinfoil.sh/guides/reasoning lists the reasoning_effort values low, high and max for it."
|
|
78
|
+
},
|
|
79
|
+
"deepseek-v4-1-flash": {
|
|
80
|
+
"contextWindow": 1048576,
|
|
81
|
+
"pricingPerMTok": {
|
|
82
|
+
"input": 0.65,
|
|
83
|
+
"output": 1.45,
|
|
84
|
+
"cachedInput": 0.13
|
|
85
|
+
},
|
|
86
|
+
"vision": true,
|
|
87
|
+
"status": "preview",
|
|
88
|
+
"description": "Catalog entry (not a NeuroLink default or fallback). Roster description: \"DeepSeek's efficient MoE model with a 1M-token context window, image input, Engram memory, built-in speculative decoding, and tool calling\". https://docs.tinfoil.sh/models/chat shows a warning on this model: \"this model is not yet fully productionized. Capacity and performance may change while we finish rolling it out.\" (the roster field experimental is true), so status is preview. Unauthenticated GET https://inference.tinfoil.sh/v1/models roster (2026-09-29, 17 models): type chat, endpoints [\"/v1/chat/completions\",\"/v1/responses\"], context_window 1048576 (docs Context value \"1M tokens\"), inputTokenPricePer1M 0.65, outputTokenPricePer1M 1.45, cachedInputTokenPricePer1M 0.13, multimodal true, tool_calling true, reasoning true. https://docs.tinfoil.sh/models/vision and https://docs.tinfoil.sh/guides/image-processing name DeepSeek V4.1 Flash among the models that support image inputs, so vision is true. https://docs.tinfoil.sh/guides/reasoning lists the reasoning_effort values none, low, high, xhigh and max for it."
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"topModels": [
|
|
92
|
+
"kimi-k3",
|
|
93
|
+
"gpt-oss-120b",
|
|
94
|
+
"gemma4-31b",
|
|
95
|
+
"llama3-3-70b",
|
|
96
|
+
"glm-5-3",
|
|
97
|
+
"glm-5-3-flash",
|
|
98
|
+
"deepseek-v4-1-flash"
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
"capabilities": {
|
|
102
|
+
"text": true,
|
|
103
|
+
"streaming": true,
|
|
104
|
+
"tools": true,
|
|
105
|
+
"toolsWithStreaming": false,
|
|
106
|
+
"structuredOutput": true,
|
|
107
|
+
"structuredOutputWithTools": false,
|
|
108
|
+
"embeddings": false,
|
|
109
|
+
"thinking": true
|
|
110
|
+
},
|
|
111
|
+
"errorRules": [
|
|
112
|
+
{
|
|
113
|
+
"pattern": "invalid_api_key",
|
|
114
|
+
"class": "authentication",
|
|
115
|
+
"message": "Invalid Tinfoil API key (code invalid_api_key). Check {apiKeyEnvVar}. Get one at {setupUrl}"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"status": 402,
|
|
119
|
+
"pattern": "You exceeded your current quota",
|
|
120
|
+
"class": "provider",
|
|
121
|
+
"message": "Tinfoil reported HTTP 402 (insufficient_quota). https://docs.tinfoil.sh/sdk/error-handling lists 402 as the account or organization having no remaining balance or an inactive subscription; billing is managed under Billing in the Tinfoil dashboard (https://docs.tinfoil.sh/get-api-key)"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"pattern": "insufficient_quota|Spend limit reached for this API key|Input token limit reached for this API key|Output token limit reached for this API key",
|
|
125
|
+
"class": "provider",
|
|
126
|
+
"message": "Tinfoil reported a limit on this API key (insufficient_quota). https://docs.tinfoil.sh/sdk/error-handling describes a 429 from a per-key cap as not transient, so retrying will not help"
|
|
127
|
+
}
|
|
128
|
+
],
|
|
129
|
+
"setup": {
|
|
130
|
+
"url": "https://dash.tinfoil.sh?tab=api-keys",
|
|
131
|
+
"apiKeyFormat": null,
|
|
132
|
+
"billingPolicy": "free-with-card",
|
|
133
|
+
"instructions": [
|
|
134
|
+
"1. Visit: https://dash.tinfoil.sh?tab=api-keys and sign in or sign up — https://docs.tinfoil.sh/get-api-key says \"Create an account with your email or one of the social connections.\"",
|
|
135
|
+
"2. On the dashboard Products page, click Activate on the Private Inference card. Per https://docs.tinfoil.sh/get-api-key, if no payment method is on file you are redirected to a checkout page to enter your card details, and \"You’re only charged based on usage.\"",
|
|
136
|
+
"3. The activation dialog creates a \"Default API key\" and, per the same page, \"adds $1 in API credits to your account\"; additional keys are created from API Keys in the sidebar",
|
|
137
|
+
"4. Set {apiKeyEnvVar} in your .env file (the examples on https://docs.tinfoil.sh/quickstart read TINFOIL_API_KEY)",
|
|
138
|
+
"5. NeuroLink sends requests straight to https://inference.tinfoil.sh/v1. https://docs.tinfoil.sh/sdk/direct-api-access says \"but this is not recommended in production\" and \"Direct access skips the automatic attestation verification our SDKs perform\". https://docs.tinfoil.sh/local-proxy/cli documents a local proxy that verifies enclave attestations and serves http://127.0.0.1:3301/v1 for OpenAI-compatible clients (not exercised with NeuroLink)"
|
|
139
|
+
],
|
|
140
|
+
"description": "OpenAI-compatible endpoint at https://inference.tinfoil.sh/v1 (https://tinfoil.sh: \"Our API is OpenAI-compatible, open-source, and fully verifiable.\"; https://docs.tinfoil.sh/models/chat: \"Chat models use the OpenAI chat completions API.\"), serving seven chat models. The unauthenticated GET https://inference.tinfoil.sh/v1/models on 2026-09-29 returned HTTP 200 with 17 entries; the ten entries whose roster type is not chat (safety, embedding, document, audio, tts, tool) are not in this catalog. An unauthenticated GET https://inference.tinfoil.sh/v1/chat/completions on 2026-09-29 returned HTTP 400 with {\"error\":{\"message\":\"Invalid request body: EOF.\",\"type\":\"invalid_request_error\",\"param\":null,\"code\":\"invalid_json\"}}, so no authentication-failure body was observed and errorRules use the codes and messages documented at https://docs.tinfoil.sh/sdk/error-handling (invalid_api_key, insufficient_quota). models.defaultContextWindow (131072) and models.defaultMaxOutputTokens (4096) are placeholders the vendor does not publish; per-model contextWindow values are the roster's context_window fields."
|
|
141
|
+
},
|
|
142
|
+
"evidence": {
|
|
143
|
+
"rosterVerified": {
|
|
144
|
+
"date": "2026-09-29",
|
|
145
|
+
"status": 200,
|
|
146
|
+
"method": "unauthenticated GET https://inference.tinfoil.sh/v1/models — 17 models; credential-free, no key used"
|
|
147
|
+
},
|
|
148
|
+
"billingProbe": {
|
|
149
|
+
"date": "2026-09-29",
|
|
150
|
+
"method": "public page https://docs.tinfoil.sh/get-api-key — card details are entered at checkout when no payment method is on file, \"You’re only charged based on usage.\", and the activation dialog \"adds $1 in API credits to your account\"; credential-free"
|
|
151
|
+
},
|
|
152
|
+
"liveMatrix": null,
|
|
153
|
+
"addedInPR": "https://github.com/juspay/neurolink/pull/1860"
|
|
154
|
+
}
|
|
155
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./provider-catalog.schema.json",
|
|
3
|
+
"id": "umans-ai",
|
|
4
|
+
"displayName": "Umans AI",
|
|
5
|
+
"aliases": ["umans"],
|
|
6
|
+
"tier": 2,
|
|
7
|
+
"wire": {
|
|
8
|
+
"baseURL": "https://api.code.umans.ai/v1"
|
|
9
|
+
},
|
|
10
|
+
"models": {
|
|
11
|
+
"default": "umans-coder",
|
|
12
|
+
"fallbacks": [
|
|
13
|
+
"umans-glm-5.3",
|
|
14
|
+
"umans-deepseek-v4-flash-0731",
|
|
15
|
+
"umans-kimi-k3"
|
|
16
|
+
],
|
|
17
|
+
"defaultContextWindow": 262144,
|
|
18
|
+
"defaultMaxOutputTokens": 131072,
|
|
19
|
+
"catalog": {
|
|
20
|
+
"umans-coder": {
|
|
21
|
+
"contextWindow": 1048576,
|
|
22
|
+
"maxOutputTokens": 131072,
|
|
23
|
+
"pricingPerMTok": {
|
|
24
|
+
"input": 0.15,
|
|
25
|
+
"output": 0.5,
|
|
26
|
+
"cachedInput": 0.03
|
|
27
|
+
},
|
|
28
|
+
"vision": true,
|
|
29
|
+
"status": "production",
|
|
30
|
+
"description": "Default - the vendor's own default model: every curl example on https://app.umans.ai/offers/code/docs names it, the docs' Models table lists it as \"Default: we choose the best for you\", and the docs' CLI launches it by default. It is a routing alias, not a fixed model: the docs say it \"routes to our current pick, which changes as we evaluate models\" (GLM-5.3-Flash since September 9, 2026), and https://app.umans.ai/pricing says \"Umans Coder is an alias for this model today: same rates, routed automatically\" under GLM 5.3 Flash. Read on 2026-09-29: unauthenticated GET https://api.code.umans.ai/v1/models - context_length 1,048,576, pricing 0.15 input / 0.5 output; unauthenticated GET https://api.code.umans.ai/v1/models/info - base_model GLM-5.3-Flash, max_completion_tokens 131,072, supports_vision true, supports_tools true. The $0.03 cache-read rate is the GLM 5.3 Flash rate on the pricing page. Context, price and vision follow whatever model it routes to and can change without a new id."
|
|
31
|
+
},
|
|
32
|
+
"umans-glm-5.3": {
|
|
33
|
+
"contextWindow": 1048576,
|
|
34
|
+
"maxOutputTokens": 131072,
|
|
35
|
+
"pricingPerMTok": {
|
|
36
|
+
"input": 1.4,
|
|
37
|
+
"output": 4.4,
|
|
38
|
+
"cachedInput": 0.26
|
|
39
|
+
},
|
|
40
|
+
"vision": false,
|
|
41
|
+
"status": "production",
|
|
42
|
+
"description": "Fallback - Z.ai's GLM 5.3. https://app.umans.ai/offers/code/docs lists it as the GLM 5.2 successor on a 1M context at $1.40 / $4.40 per 1M tokens (input / output; $0.26 cached). It always thinks, at max effort by default; reasoning_effort low or high dials it and thinking cannot be turned off. Text-only: /v1/models/info says supports_vision false, and the docs' Cursor setup says \"the DeepSeek and GLM ids are text-only on this route\". Unauthenticated GET https://api.code.umans.ai/v1/models (2026-09-29): context_length 1,048,576, pricing 1.4 / 4.4; GET https://api.code.umans.ai/v1/models/info: max_completion_tokens 131,072, supports_tools true."
|
|
43
|
+
},
|
|
44
|
+
"umans-deepseek-v4-flash-0731": {
|
|
45
|
+
"contextWindow": 1048576,
|
|
46
|
+
"maxOutputTokens": 393216,
|
|
47
|
+
"pricingPerMTok": {
|
|
48
|
+
"input": 0.14,
|
|
49
|
+
"output": 0.28,
|
|
50
|
+
"cachedInput": 0.028
|
|
51
|
+
},
|
|
52
|
+
"vision": false,
|
|
53
|
+
"status": "production",
|
|
54
|
+
"description": "Fallback - DeepSeek V4 Flash, the 0731 release. https://app.umans.ai/offers/code/docs calls it \"The cheapest production model in the lineup ($0.14 / $0.28 per 1M tokens)\" and the default for new chats on app.umans.ai; it thinks at low effort by default and the docs say to select high or max on hard tasks. /v1/models/info describes 284B total and 13B active parameters and four reasoning modes: none, low (default), high, max. Text-only: /v1/models/info says supports_vision false. Unauthenticated GET https://api.code.umans.ai/v1/models (2026-09-29): context_length 1,048,576, pricing 0.14 / 0.28; GET https://api.code.umans.ai/v1/models/info: max_completion_tokens 393,216, supports_tools true. The $0.028 cache-read rate is stated on the docs and pricing pages."
|
|
55
|
+
},
|
|
56
|
+
"umans-kimi-k3": {
|
|
57
|
+
"contextWindow": 1048576,
|
|
58
|
+
"maxOutputTokens": 131072,
|
|
59
|
+
"pricingPerMTok": {
|
|
60
|
+
"input": 3,
|
|
61
|
+
"output": 15,
|
|
62
|
+
"cachedInput": 0.3
|
|
63
|
+
},
|
|
64
|
+
"vision": true,
|
|
65
|
+
"status": "production",
|
|
66
|
+
"description": "Fallback - Moonshot's Kimi K3. https://app.umans.ai/offers/code/docs lists it with a 1M context, native vision and max-effort reasoning by default, and says it honors reasoning_effort none, low, high or max; its sampling fields (temperature, top_p) are fixed server-side and the gateway removes them rather than failing the request. Unauthenticated GET https://api.code.umans.ai/v1/models (2026-09-29): context_length 1,048,576, pricing 3.0 / 15.0; GET https://api.code.umans.ai/v1/models/info: base_model Kimi-K3, max_completion_tokens 131,072, supports_vision true, supports_tools true. The $0.30 cache-read rate is stated on https://app.umans.ai/pricing."
|
|
67
|
+
},
|
|
68
|
+
"umans-glm-5.3-flash": {
|
|
69
|
+
"contextWindow": 1048576,
|
|
70
|
+
"maxOutputTokens": 131072,
|
|
71
|
+
"pricingPerMTok": {
|
|
72
|
+
"input": 0.15,
|
|
73
|
+
"output": 0.5,
|
|
74
|
+
"cachedInput": 0.03
|
|
75
|
+
},
|
|
76
|
+
"vision": true,
|
|
77
|
+
"status": "production",
|
|
78
|
+
"description": "Vision model for tests - Z.ai's GLM-5.3-Flash. https://app.umans.ai/offers/code/docs describes \"a 320B mixture-of-experts (18B active per token) with native image and video understanding\" at $0.15 / $0.50 per 1M tokens; it always thinks at max effort by default, reasoning_effort low or high dials it and thinking cannot be turned off. The pricing page says umans-coder is an alias for it today. Unauthenticated GET https://api.code.umans.ai/v1/models (2026-09-29): context_length 1,048,576, pricing 0.15 / 0.5; GET https://api.code.umans.ai/v1/models/info: max_completion_tokens 131,072, supports_vision true, supports_tools true. The $0.03 cache-read rate is stated on https://app.umans.ai/pricing. It is models.visionModel so vision tests use a fixed id rather than the routed alias."
|
|
79
|
+
},
|
|
80
|
+
"umans-deepseek-v4.1-flash": {
|
|
81
|
+
"contextWindow": 1048576,
|
|
82
|
+
"maxOutputTokens": 393216,
|
|
83
|
+
"pricingPerMTok": {
|
|
84
|
+
"input": 0.15,
|
|
85
|
+
"output": 0.6,
|
|
86
|
+
"cachedInput": 0.028
|
|
87
|
+
},
|
|
88
|
+
"vision": true,
|
|
89
|
+
"status": "production",
|
|
90
|
+
"description": "DeepSeek V4.1 Flash, listed in the Models table of https://app.umans.ai/offers/code/docs, which describes \"a 552B MoE (8B active on prefill, 16B on decode) with native image understanding ($0.15 / $0.60 per 1M tokens)\", names it the DeepSeek V4 Pro successor, and lists four reasoning modes - non-think, think low, think high (the default), think max - with a numeric 1-100 budget also accepted. Unauthenticated GET https://api.code.umans.ai/v1/models (2026-09-29): context_length 1,048,576, pricing 0.15 / 0.6; GET https://api.code.umans.ai/v1/models/info: production_start_date 2026-09-18, max_completion_tokens 393,216, supports_vision true, supports_tools true. The $0.028 cache-read rate is stated on https://app.umans.ai/pricing."
|
|
91
|
+
},
|
|
92
|
+
"umans-flash": {
|
|
93
|
+
"contextWindow": 262144,
|
|
94
|
+
"maxOutputTokens": 262144,
|
|
95
|
+
"pricingPerMTok": {
|
|
96
|
+
"input": 0.15,
|
|
97
|
+
"output": 1,
|
|
98
|
+
"cachedInput": 0.05
|
|
99
|
+
},
|
|
100
|
+
"vision": true,
|
|
101
|
+
"status": "production",
|
|
102
|
+
"description": "Qwen3.6-35B-A3B-FP8, a light model rather than a coder. https://app.umans.ai/offers/code/docs lists it in its Models table as \"High-interactivity light model; complement to umans-coder\" with a 256K context, says to use it for the roles around umans-coder \"not as a standalone coder\", targets 200+ tokens per second, and its Claude Code table lists Text, Vision, WebSearch. Unauthenticated GET https://api.code.umans.ai/v1/models (2026-09-29): context_length 262,144, pricing 0.15 / 1.0; GET https://api.code.umans.ai/v1/models/info: max_completion_tokens 262,144, supports_vision true, supports_tools true. The $0.05 cache-read rate is stated on https://app.umans.ai/offers/code/docs/orgs and the pricing page. The docs' Limits section counts it as half a request against the wallet tier's request window. The roster's umans-qwen3.6-35b-a3b id is described by /v1/models/info as a technical alias for this model and is not listed separately."
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"topModels": [
|
|
106
|
+
"umans-coder",
|
|
107
|
+
"umans-glm-5.3",
|
|
108
|
+
"umans-deepseek-v4-flash-0731",
|
|
109
|
+
"umans-kimi-k3",
|
|
110
|
+
"umans-glm-5.3-flash",
|
|
111
|
+
"umans-deepseek-v4.1-flash",
|
|
112
|
+
"umans-flash"
|
|
113
|
+
],
|
|
114
|
+
"visionModel": "umans-glm-5.3-flash"
|
|
115
|
+
},
|
|
116
|
+
"capabilities": {
|
|
117
|
+
"text": true,
|
|
118
|
+
"streaming": true,
|
|
119
|
+
"tools": true,
|
|
120
|
+
"toolsWithStreaming": false,
|
|
121
|
+
"structuredOutput": false,
|
|
122
|
+
"structuredOutputWithTools": false,
|
|
123
|
+
"embeddings": false,
|
|
124
|
+
"thinking": true
|
|
125
|
+
},
|
|
126
|
+
"errorRules": [
|
|
127
|
+
{
|
|
128
|
+
"status": 401,
|
|
129
|
+
"class": "authentication",
|
|
130
|
+
"message": "Umans AI rejected the request with HTTP 401. Check {apiKeyEnvVar}; the docs say a 401 means the key may be expired or revoked. Create a new key at {setupUrl}"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"status": 429,
|
|
134
|
+
"class": "rate-limit",
|
|
135
|
+
"message": "Umans AI rate limit (HTTP 429): the wallet tier's burst limit was exceeded. The docs describe 429s as retryable - wait for the rolling five-hour window to free capacity, or top up to grow the tier (https://app.umans.ai/offers/code/docs)"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"pattern": "unknown model",
|
|
139
|
+
"class": "invalid-model",
|
|
140
|
+
"message": "Umans AI model '{model}' is not a valid id (HTTP 400 Unknown model). Ids start with umans-; the error body lists the valid ids, or pick one from https://api.code.umans.ai/v1/models"
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"setup": {
|
|
144
|
+
"url": "https://app.umans.ai/billing",
|
|
145
|
+
"apiKeyFormat": null,
|
|
146
|
+
"billingPolicy": "no-free-tier",
|
|
147
|
+
"instructions": [
|
|
148
|
+
"1. Visit: https://app.umans.ai/register and create an account with Google or an email and password (already have one? sign in at https://app.umans.ai/login). Organizations are provisioned by Umans: email contact@umans.ai (https://app.umans.ai/offers/code/docs/orgs)",
|
|
149
|
+
"2. Open https://app.umans.ai/billing, go to Dashboard -> API Keys and generate a key; the docs say it is shown only once, so copy it immediately",
|
|
150
|
+
"3. Prepaid wallet, no free tier stated: top up before calling the API - the docs say a wallet with no credit (no paid top-up and no active promo grant) \"does not serve until it has some\", and promo credit serves only while it lasts (https://app.umans.ai/offers/code/docs)",
|
|
151
|
+
"4. Set {apiKeyEnvVar} in your .env file"
|
|
152
|
+
],
|
|
153
|
+
"description": "OpenAI-compatible endpoint at https://api.code.umans.ai/v1 (https://app.umans.ai/offers/code/docs: \"Umans Code also implements the OpenAI Chat Completions API\"), pay-per-token from a prepaid wallet, serving open-weight coding models from Z.ai, DeepSeek, Moonshot and Qwen. The gateway's 401 body was observed only on GET /v1/usage ({\"error\":{\"type\":\"authentication_error\",\"message\":\"Missing API key\"}}); GET /v1/chat/completions answers 405 and was never POSTed, so errorRules match the documented status codes (401, 429) and the documented \"Unknown model\" text rather than a probed chat-completions body. models.defaultContextWindow (262144) and models.defaultMaxOutputTokens (131072) are schema-required placeholders, not vendor-stated caps: they are the smallest context and max-output values among the seven catalog models, used only for an id outside the catalog, and no Umans page states a general cap. apiKeyFormat is null because the docs conflict: the Any BYOK Tool section says the key \"starts with sk-\" and the examples write sk-your-umans-api-key, while the wallet-summary example shows a key prefix of umans_7fKq and the homepage .env example shows umans_."
|
|
154
|
+
},
|
|
155
|
+
"evidence": {
|
|
156
|
+
"rosterVerified": {
|
|
157
|
+
"date": "2026-09-29",
|
|
158
|
+
"status": 200,
|
|
159
|
+
"method": "unauthenticated GET https://api.code.umans.ai/v1/models — 10 models; credential-free, no key used"
|
|
160
|
+
},
|
|
161
|
+
"authProbe": {
|
|
162
|
+
"date": "2026-09-29",
|
|
163
|
+
"status": 401,
|
|
164
|
+
"code": "authentication_error",
|
|
165
|
+
"method": "unauthenticated GET https://api.code.umans.ai/v1/usage (a documented bearer-key route) — body {\"error\":{\"type\":\"authentication_error\",\"message\":\"Missing API key\"}}; the OpenAI route GET /v1/chat/completions returned 405 Method Not Allowed and no POST was sent; credential-free, no key used"
|
|
166
|
+
},
|
|
167
|
+
"billingProbe": {
|
|
168
|
+
"date": "2026-09-29",
|
|
169
|
+
"method": "public pages https://app.umans.ai/offers/code/docs (\"A wallet with no credit at all — no paid top-up, no active promo grant — does not serve until it has some\") and https://app.umans.ai/pricing (\"Pay per token. Top up, create a key, and go.\"); no free tier stated; credential-free"
|
|
170
|
+
},
|
|
171
|
+
"liveMatrix": null,
|
|
172
|
+
"addedInPR": "https://github.com/juspay/neurolink/pull/1860"
|
|
173
|
+
}
|
|
174
|
+
}
|