@juspay/neurolink 12.41.10 → 12.42.1
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 +2 -2
- package/README.md +2 -2
- package/dist/browser/neurolink.min.js +406 -406
- package/dist/constants/enums.d.ts +195 -0
- package/dist/constants/enums.js +214 -0
- package/dist/providers/catalog/arcee.json +212 -0
- package/dist/providers/catalog/baidu-qianfan.json +170 -0
- package/dist/providers/catalog/byteplus-modelark.json +246 -0
- package/dist/providers/catalog/bytez.json +87 -0
- package/dist/providers/catalog/dashscope.json +165 -0
- package/dist/providers/catalog/gradientai.json +238 -0
- package/dist/providers/catalog/hetzner-inference.json +83 -0
- package/dist/providers/catalog/inceptron.json +145 -0
- package/dist/providers/catalog/index.generated.d.ts +1 -1
- package/dist/providers/catalog/index.generated.js +57 -0
- package/dist/providers/catalog/lemonfox-ai.json +78 -0
- package/dist/providers/catalog/loader.js +3 -0
- package/dist/providers/catalog/meta-model-api.json +150 -0
- package/dist/providers/catalog/modelscope.json +146 -0
- package/dist/providers/catalog/parasail.json +251 -0
- package/dist/providers/catalog/poolside.json +79 -0
- package/dist/providers/catalog/provider-catalog.schema.json +5 -0
- package/dist/providers/catalog/reka.json +112 -0
- package/dist/providers/catalog/sakana-ai.json +162 -0
- package/dist/providers/catalog/schema.d.ts +1 -0
- package/dist/providers/catalog/schema.js +1 -0
- package/dist/providers/catalog/stackit.json +126 -0
- package/dist/providers/catalog/telnyx.json +181 -0
- package/dist/providers/catalog/thinking-machines.json +212 -0
- package/dist/providers/catalog/vispark.json +109 -0
- package/dist/providers/configuredOpenAICompat.d.ts +9 -0
- package/dist/providers/configuredOpenAICompat.js +14 -0
- package/dist/types/providerCatalog.d.ts +9 -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 +211 -2
- package/package.json +7 -1
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./provider-catalog.schema.json",
|
|
3
|
+
"id": "dashscope",
|
|
4
|
+
"displayName": "Alibaba Cloud Model Studio (DashScope)",
|
|
5
|
+
"aliases": [],
|
|
6
|
+
"tier": 2,
|
|
7
|
+
"wire": {
|
|
8
|
+
"baseURL": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
|
|
9
|
+
},
|
|
10
|
+
"models": {
|
|
11
|
+
"default": "qwen3.8-max",
|
|
12
|
+
"fallbacks": [
|
|
13
|
+
"qwen3.8-flash",
|
|
14
|
+
"qwen3.7-plus",
|
|
15
|
+
"qwen3.8-max-0902",
|
|
16
|
+
"qwen3.7-flash",
|
|
17
|
+
"deepseek-v4-pro",
|
|
18
|
+
"deepseek-v4-flash",
|
|
19
|
+
"kimi-k3"
|
|
20
|
+
],
|
|
21
|
+
"defaultContextWindow": 128000,
|
|
22
|
+
"defaultMaxOutputTokens": 8192,
|
|
23
|
+
"catalog": {
|
|
24
|
+
"qwen3.8-max": {
|
|
25
|
+
"contextWindow": 1000000,
|
|
26
|
+
"pricingPerMTok": {
|
|
27
|
+
"input": 2,
|
|
28
|
+
"output": 6
|
|
29
|
+
},
|
|
30
|
+
"vision": true,
|
|
31
|
+
"status": "production",
|
|
32
|
+
"description": "NeuroLink default. Named under Text generation on https://www.alibabacloud.com/help/en/model-studio/models (retrieved 2026-09-29) and used as the model in the OpenAI-compatible examples on https://www.alibabacloud.com/help/en/model-studio/first-api-call-to-qwen. https://www.alibabacloud.com/help/en/model-studio/text-generation-model says \"For the strongest reasoning, choose qwen3.8-max.\" and its Recommended models table lists Context 1M, Thinking mode Supported, Function Calling Supported, Built-in tools Supported, Structured output Supported. https://www.alibabacloud.com/help/en/model-studio/model-pricing, Singapore tab, International deployment scope: input $2 and output $6 per 1 million tokens for 0<Token≤1M, free quota 1 million tokens. Listed under Image & video, Understanding on the Models page; the vision page (https://www.alibabacloud.com/help/en/model-studio/vision) passes an image_url message to it and its image-quantity limit reads \"Qwen3.8-Max, Qwen3.8-Flash, Qwen3.7-Plus series: Up to 2,048 images\"."
|
|
33
|
+
},
|
|
34
|
+
"qwen3.8-flash": {
|
|
35
|
+
"contextWindow": 1000000,
|
|
36
|
+
"pricingPerMTok": {
|
|
37
|
+
"input": 0.15,
|
|
38
|
+
"output": 0.47
|
|
39
|
+
},
|
|
40
|
+
"vision": true,
|
|
41
|
+
"status": "production",
|
|
42
|
+
"description": "Fallback. Named under Text generation on https://www.alibabacloud.com/help/en/model-studio/models (retrieved 2026-09-29). The Recommended models table on https://www.alibabacloud.com/help/en/model-studio/text-generation-model lists Context 1M, Thinking mode Supported, Function Calling Supported, Built-in tools Supported, Structured output Supported. https://www.alibabacloud.com/help/en/model-studio/model-pricing, Singapore tab, International deployment scope: input $0.15 and output $0.47 per 1 million tokens for 0<Token≤1M. The vision page (https://www.alibabacloud.com/help/en/model-studio/vision) image-quantity limit reads \"Qwen3.8-Max, Qwen3.8-Flash, Qwen3.7-Plus series: Up to 2,048 images\"."
|
|
43
|
+
},
|
|
44
|
+
"qwen3.7-plus": {
|
|
45
|
+
"contextWindow": 1000000,
|
|
46
|
+
"vision": true,
|
|
47
|
+
"status": "production",
|
|
48
|
+
"description": "Fallback. https://www.alibabacloud.com/help/en/model-studio/text-generation-model (retrieved 2026-09-29) says \"We recommend qwen3.7-plus for balanced performance and cost, with full tool calling and a 1M-token context window for large codebases.\" and its Recommended models table lists Context 1M, Thinking mode Supported, Function Calling Supported, Built-in tools Supported, Structured output Supported. Named under Text generation and under Image & video, Understanding on https://www.alibabacloud.com/help/en/model-studio/models; the vision page (https://www.alibabacloud.com/help/en/model-studio/vision) image-quantity limit reads \"Qwen3.8-Max, Qwen3.8-Flash, Qwen3.7-Plus series: Up to 2,048 images\"."
|
|
49
|
+
},
|
|
50
|
+
"qwen3.8-max-0902": {
|
|
51
|
+
"contextWindow": 1000000,
|
|
52
|
+
"pricingPerMTok": {
|
|
53
|
+
"input": 2,
|
|
54
|
+
"output": 6
|
|
55
|
+
},
|
|
56
|
+
"vision": true,
|
|
57
|
+
"status": "production",
|
|
58
|
+
"description": "Fallback. The Recommended models table on https://www.alibabacloud.com/help/en/model-studio/text-generation-model (retrieved 2026-09-29) lists Context 1M, Thinking mode Supported, Function Calling Supported, Built-in tools Supported, Structured output Supported. https://www.alibabacloud.com/help/en/model-studio/model-pricing, Singapore tab, International deployment scope: input $2 and output $6 per 1 million tokens for 0<Token≤1M. The Visual understanding page (https://www.alibabacloud.com/help/en/model-studio/vision-model, retrieved 2026-09-29) names it in its Video support list (\"Up to 2 hours / 2 GB\") and its Recommended models row lists Max pixels/image 16M, Max images 2048 and Max videos 64."
|
|
59
|
+
},
|
|
60
|
+
"qwen3.7-flash": {
|
|
61
|
+
"contextWindow": 1000000,
|
|
62
|
+
"vision": true,
|
|
63
|
+
"status": "production",
|
|
64
|
+
"description": "Fallback. The Recommended models table on https://www.alibabacloud.com/help/en/model-studio/text-generation-model (retrieved 2026-09-29) lists Context 1M, Thinking mode Supported, Function Calling Supported, Built-in tools Supported, Structured output Supported. The vision page (https://www.alibabacloud.com/help/en/model-studio/vision) image-quantity limit reads \"Qwen3.7-Flash, Qwen3.6-Plus, Qwen3.6-Flash, Qwen3.5-Plus, Qwen3.5-Flash, Qwen3-VL, Qwen-VL, QVQ series: Up to 256 images\"."
|
|
65
|
+
},
|
|
66
|
+
"deepseek-v4-pro": {
|
|
67
|
+
"contextWindow": 1000000,
|
|
68
|
+
"pricingPerMTok": {
|
|
69
|
+
"input": 2.4,
|
|
70
|
+
"output": 4.8
|
|
71
|
+
},
|
|
72
|
+
"vision": false,
|
|
73
|
+
"status": "production",
|
|
74
|
+
"description": "Fallback. The Recommended models table on https://www.alibabacloud.com/help/en/model-studio/text-generation-model (retrieved 2026-09-29) lists Context 1M, Thinking mode Supported, Function Calling Supported, Built-in tools Unsupported, Structured output Supported. https://www.alibabacloud.com/help/en/model-studio/model-pricing, Singapore tab, International deployment scope: input $2.400 and output $4.800 per 1 million tokens. vision is false: https://www.alibabacloud.com/help/en/model-studio/error-code (retrieved 2026-09-29) refers to \"plain-text models like qwen3-max, qwen-plus, or deepseek-v4-pro\"."
|
|
75
|
+
},
|
|
76
|
+
"deepseek-v4-flash": {
|
|
77
|
+
"contextWindow": 1000000,
|
|
78
|
+
"pricingPerMTok": {
|
|
79
|
+
"input": 0.2,
|
|
80
|
+
"output": 0.4
|
|
81
|
+
},
|
|
82
|
+
"vision": false,
|
|
83
|
+
"status": "production",
|
|
84
|
+
"description": "Fallback. The Recommended models table on https://www.alibabacloud.com/help/en/model-studio/text-generation-model (retrieved 2026-09-29) lists Context 1M, Thinking mode Supported, Function Calling Supported, Built-in tools Unsupported, Structured output Supported. https://www.alibabacloud.com/help/en/model-studio/model-pricing, Singapore tab, International deployment scope: input $0.200 and output $0.400 per 1 million tokens. vision is false as a placeholder because the schema requires a boolean."
|
|
85
|
+
},
|
|
86
|
+
"kimi-k3": {
|
|
87
|
+
"pricingPerMTok": {
|
|
88
|
+
"input": 3,
|
|
89
|
+
"output": 15
|
|
90
|
+
},
|
|
91
|
+
"vision": true,
|
|
92
|
+
"status": "production",
|
|
93
|
+
"description": "Fallback. Named under Text generation and under Image & video, Understanding on https://www.alibabacloud.com/help/en/model-studio/models (retrieved 2026-09-29). https://www.alibabacloud.com/help/en/model-studio/model-pricing, Singapore tab, International deployment scope: input $3 and output $15 per 1 million tokens."
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"topModels": [
|
|
97
|
+
"qwen3.8-max",
|
|
98
|
+
"qwen3.8-flash",
|
|
99
|
+
"qwen3.7-plus",
|
|
100
|
+
"qwen3.8-max-0902",
|
|
101
|
+
"qwen3.7-flash",
|
|
102
|
+
"deepseek-v4-pro",
|
|
103
|
+
"deepseek-v4-flash",
|
|
104
|
+
"kimi-k3"
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
"capabilities": {
|
|
108
|
+
"text": true,
|
|
109
|
+
"streaming": true,
|
|
110
|
+
"tools": "model-dependent",
|
|
111
|
+
"toolsWithStreaming": true,
|
|
112
|
+
"structuredOutput": true,
|
|
113
|
+
"structuredOutputWithTools": false,
|
|
114
|
+
"embeddings": false,
|
|
115
|
+
"thinking": false
|
|
116
|
+
},
|
|
117
|
+
"errorRules": [
|
|
118
|
+
{
|
|
119
|
+
"status": 401,
|
|
120
|
+
"class": "authentication",
|
|
121
|
+
"message": "DashScope returned HTTP 401. Check {apiKeyEnvVar}. Get a key at {setupUrl}. The vendor's error-code page (https://www.alibabacloud.com/help/en/model-studio/error-code) lists an API key and base URL from different regions as a cause."
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"pattern": "FreeTierOnly|free tier of the model has been exhausted",
|
|
125
|
+
"class": "provider",
|
|
126
|
+
"message": "DashScope reports the free tier of the model has been exhausted (HTTP 403, code AllocationQuota.FreeTierOnly). The vendor's error-code page says the free quota exhaustion stop switch can be disabled to continue on a paid basis (https://www.alibabacloud.com/help/en/model-studio/error-code)."
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"pattern": "Arrearage|account is in good standing",
|
|
130
|
+
"class": "provider",
|
|
131
|
+
"message": "DashScope denied access (HTTP 400, code Arrearage). The vendor's error-code page gives the cause as an overdue payment on the Alibaba Cloud account associated with the API key (https://www.alibabacloud.com/help/en/model-studio/error-code)."
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
"setup": {
|
|
135
|
+
"url": "https://modelstudio.console.alibabacloud.com/ap-southeast-1/settings/api-key",
|
|
136
|
+
"apiKeyFormat": null,
|
|
137
|
+
"billingPolicy": "free-tier",
|
|
138
|
+
"instructions": [
|
|
139
|
+
"1. Visit: https://account.alibabacloud.com/register/intl_register.htm and create an Alibaba Cloud account (linked from https://www.alibabacloud.com/help/en/model-studio/first-api-call-to-qwen)",
|
|
140
|
+
"2. Complete your account information, then open https://modelstudio.console.alibabacloud.com/ap-southeast-1 and agree to the service agreement to activate Model Studio (Singapore region); https://www.alibabacloud.com/help/en/model-studio/new-free-quota says the system then grants a free quota automatically",
|
|
141
|
+
"3. Create an API key at https://modelstudio.console.alibabacloud.com/ap-southeast-1/settings/api-key with the region set to Singapore; https://www.alibabacloud.com/help/en/model-studio/get-api-key states that each region has its own endpoint, API keys, and model list, and that they cannot be used across regions. Copy the key when it is shown",
|
|
142
|
+
"4. Free quota, per https://www.alibabacloud.com/help/en/model-studio/new-free-quota: valid for 90 days, typically 1,000,000 tokens for each model, and \"After the free quota is exhausted, you are automatically billed on a pay-as-you-go basis.\"",
|
|
143
|
+
"5. Set {apiKeyEnvVar} in your .env file (the vendor's examples use the same variable name)"
|
|
144
|
+
],
|
|
145
|
+
"description": "Alibaba Cloud Model Studio (DashScope), Singapore region, International deployment scope (https://www.alibabacloud.com/help/en/model-studio/regions: the China (Beijing) and Singapore regions each support one service deployment scope, Chinese mainland and International respectively). OpenAI-compatible endpoint at https://dashscope-intl.aliyuncs.com/compatible-mode/v1, which the regions page lists as the Singapore DashScope domain and labels the existing domain; https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions says \"The existing domain remains fully functional.\" The vendor also documents a workspace-dedicated domain, https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1, labelled recommended on the regions page; set DASHSCOPE_BASE_URL to use it. Per-model contextWindow values are the decimal forms of the 1M labels on the text-generation page, since https://www.alibabacloud.com/help/en/model-studio/model-pricing states \"K means 1,000 and M means 1,000,000\". models.defaultContextWindow (128000) and models.defaultMaxOutputTokens (8192) are conservative placeholders; the vendor does not publish a general default. They apply wherever the catalog sets no value, which includes model ids outside the catalog, the contextWindow of kimi-k3 and the maxOutputTokens of each catalog id. vision: false on deepseek-v4-flash is a placeholder because the schema requires a boolean. capabilities.thinking is false because NeuroLink's thinkingLevel option has not been exercised against this provider (no credentials were used); the text-generation page lists Thinking mode Supported for the ids in its Recommended models table, and the Chat page (https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions) documents enable_thinking and reasoning_effort. errorRules: HTTP 401 was observed on an unauthenticated GET of /models; the FreeTierOnly and Arrearage rules follow https://www.alibabacloud.com/help/en/model-studio/error-code."
|
|
146
|
+
},
|
|
147
|
+
"evidence": {
|
|
148
|
+
"rosterVerified": {
|
|
149
|
+
"date": "2026-09-29",
|
|
150
|
+
"status": 401,
|
|
151
|
+
"method": "docs-only — unauthenticated GET https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models answers 401 without a key, so model ids are taken from https://www.alibabacloud.com/help/en/model-studio/text-generation-model and https://www.alibabacloud.com/help/en/model-studio/models (retrieved 2026-09-29); roster not verified"
|
|
152
|
+
},
|
|
153
|
+
"authProbe": {
|
|
154
|
+
"date": "2026-09-29",
|
|
155
|
+
"status": 401,
|
|
156
|
+
"method": "unauthenticated GET https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models — JSON body with error.message \"You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY).\", error.type \"invalid_request_error\", error.param null, error.code null and a top-level request_id; credential-free, no key used"
|
|
157
|
+
},
|
|
158
|
+
"billingProbe": {
|
|
159
|
+
"date": "2026-09-29",
|
|
160
|
+
"method": "public page https://www.alibabacloud.com/help/en/model-studio/new-free-quota — \"the platform automatically grants you a free quota for various models\"; \"After the free quota is exhausted, you are automatically billed on a pay-as-you-go basis.\"; credential-free"
|
|
161
|
+
},
|
|
162
|
+
"liveMatrix": null,
|
|
163
|
+
"addedInPR": "https://github.com/juspay/neurolink/pull/1862"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./provider-catalog.schema.json",
|
|
3
|
+
"id": "gradientai",
|
|
4
|
+
"displayName": "GradientAI (DigitalOcean)",
|
|
5
|
+
"aliases": [],
|
|
6
|
+
"tier": 2,
|
|
7
|
+
"wire": {
|
|
8
|
+
"baseURL": "https://inference.do-ai.run/v1"
|
|
9
|
+
},
|
|
10
|
+
"models": {
|
|
11
|
+
"default": "llama-4-maverick",
|
|
12
|
+
"fallbacks": [
|
|
13
|
+
"deepseek-v4.1-flash",
|
|
14
|
+
"deepseek-v4-flash-0731",
|
|
15
|
+
"glm-5.2",
|
|
16
|
+
"kimi-k2.6",
|
|
17
|
+
"gemma-4-31B-it"
|
|
18
|
+
],
|
|
19
|
+
"defaultContextWindow": 32768,
|
|
20
|
+
"defaultMaxOutputTokens": 4096,
|
|
21
|
+
"catalog": {
|
|
22
|
+
"llama-4-maverick": {
|
|
23
|
+
"contextWindow": 128000,
|
|
24
|
+
"maxOutputTokens": 16384,
|
|
25
|
+
"pricingPerMTok": {
|
|
26
|
+
"input": 0.25,
|
|
27
|
+
"output": 0.87
|
|
28
|
+
},
|
|
29
|
+
"vision": false,
|
|
30
|
+
"status": "production",
|
|
31
|
+
"description": "NeuroLink default. Models page (docs.digitalocean.com/products/inference/details/models, retrieved 2026-09-29), row \"Llama 4 Maverick 17B 128E Instruct\": model ID llama-4-maverick, context window 128,000, max output tokens 16,384, usage note \"Chat Completions and Responses APIs for sending prompts for serverless inference\". Pricing page (docs.digitalocean.com/products/inference/details/pricing): Input $0.25; Output $0.87 per 1M tokens, Standard processing mode. The Chat Completions page (docs.digitalocean.com/products/inference/how-to/use-chat-completions-api) uses model=\"llama-4-maverick\" in its Python OpenAI SDK example."
|
|
32
|
+
},
|
|
33
|
+
"deepseek-v4.1-flash": {
|
|
34
|
+
"contextWindow": 1048576,
|
|
35
|
+
"maxOutputTokens": 1048576,
|
|
36
|
+
"pricingPerMTok": {
|
|
37
|
+
"input": 0.3,
|
|
38
|
+
"output": 1.2,
|
|
39
|
+
"cachedInput": 0.006
|
|
40
|
+
},
|
|
41
|
+
"vision": true,
|
|
42
|
+
"status": "production",
|
|
43
|
+
"description": "NeuroLink fallback. Models page (docs.digitalocean.com/products/inference/details/models, retrieved 2026-09-29), row \"DeepSeek V4.1 Flash\": model ID deepseek-v4.1-flash, context window 1,048,576, max output tokens 1,048,576; usage notes \"Input context window of up to 1M tokens\", \"Chat Completions and Responses APIs for sending prompts for serverless inference\", \"Prompt caching\", \"Native vision (text and images)\". The Features page (docs.digitalocean.com/products/inference/details/features) lists DeepSeek V4.1 Flash in a Vision-Language Models row with \"Text and image inputs\". Pricing page: Input $0.30; Output $1.20; Cache read $0.006 per 1M tokens, Standard processing mode."
|
|
44
|
+
},
|
|
45
|
+
"deepseek-v4-pro-0813": {
|
|
46
|
+
"contextWindow": 1048576,
|
|
47
|
+
"maxOutputTokens": 1048576,
|
|
48
|
+
"pricingPerMTok": {
|
|
49
|
+
"input": 1.32,
|
|
50
|
+
"output": 3.96,
|
|
51
|
+
"cachedInput": 0.044
|
|
52
|
+
},
|
|
53
|
+
"vision": false,
|
|
54
|
+
"status": "production",
|
|
55
|
+
"description": "Models page (docs.digitalocean.com/products/inference/details/models, retrieved 2026-09-29), row \"DeepSeek V4 Pro 0813\": model ID deepseek-v4-pro-0813, context window 1,048,576, max output tokens 1,048,576; usage notes \"Input context window of up to 1M tokens\", \"Chat Completions and Responses APIs for sending prompts for serverless inference\", \"Prompt caching\". Pricing page (docs.digitalocean.com/products/inference/details/pricing): Input $1.32; Output $3.96; Cache read $0.044 per 1M tokens, Standard processing mode."
|
|
56
|
+
},
|
|
57
|
+
"deepseek-v4-flash-0731": {
|
|
58
|
+
"contextWindow": 1048576,
|
|
59
|
+
"maxOutputTokens": 1048576,
|
|
60
|
+
"pricingPerMTok": {
|
|
61
|
+
"input": 0.14,
|
|
62
|
+
"output": 0.28,
|
|
63
|
+
"cachedInput": 0.028
|
|
64
|
+
},
|
|
65
|
+
"vision": false,
|
|
66
|
+
"status": "production",
|
|
67
|
+
"description": "NeuroLink fallback. Models page (docs.digitalocean.com/products/inference/details/models, retrieved 2026-09-29), row \"DeepSeek V4 Flash 0731\": model ID deepseek-v4-flash-0731, context window 1,048,576, max output tokens 1,048,576; usage notes \"Input context window of up to 1M tokens\", \"Chat Completions and Responses APIs for sending prompts for serverless inference\", \"Prompt caching\". Pricing page (docs.digitalocean.com/products/inference/details/pricing): Input $0.14; Output $0.28; Cache read $0.028 per 1M tokens, Standard processing mode."
|
|
68
|
+
},
|
|
69
|
+
"deepseek-3.2": {
|
|
70
|
+
"contextWindow": 163840,
|
|
71
|
+
"maxOutputTokens": 163840,
|
|
72
|
+
"pricingPerMTok": {
|
|
73
|
+
"input": 0.5,
|
|
74
|
+
"output": 1.6,
|
|
75
|
+
"cachedInput": 0.15
|
|
76
|
+
},
|
|
77
|
+
"vision": false,
|
|
78
|
+
"status": "production",
|
|
79
|
+
"description": "Models page (docs.digitalocean.com/products/inference/details/models, retrieved 2026-09-29), row \"DeepSeek V3.2\": model ID deepseek-3.2, context window 163,840, max output tokens 163,840; usage notes \"Chat Completions and Responses APIs for sending prompts for serverless inference\", \"Prompt caching\". Pricing page (docs.digitalocean.com/products/inference/details/pricing): Input $0.50; Output $1.60; Cache read $0.15 per 1M tokens, Standard processing mode."
|
|
80
|
+
},
|
|
81
|
+
"glm-5.2": {
|
|
82
|
+
"contextWindow": 262144,
|
|
83
|
+
"maxOutputTokens": 262144,
|
|
84
|
+
"pricingPerMTok": {
|
|
85
|
+
"input": 1.4,
|
|
86
|
+
"output": 4.4,
|
|
87
|
+
"cachedInput": 0.21
|
|
88
|
+
},
|
|
89
|
+
"vision": false,
|
|
90
|
+
"status": "production",
|
|
91
|
+
"description": "NeuroLink fallback. Models page (docs.digitalocean.com/products/inference/details/models, retrieved 2026-09-29), row \"GLM-5.2\": model ID glm-5.2, context window 262,144, max output tokens 262,144; usage notes \"Input context window of up to 1M tokens\", \"Chat Completions and Responses APIs for sending prompts for serverless inference\", \"Prompt caching\", \"Text only\", \"Tool calling\", \"Structured outputs\", \"Reasoning\", \"Multilingual\". Pricing page (docs.digitalocean.com/products/inference/details/pricing): Input $1.40; Output $4.40; Cache read $0.21 per 1M tokens, Standard processing mode."
|
|
92
|
+
},
|
|
93
|
+
"kimi-k2.6": {
|
|
94
|
+
"contextWindow": 262144,
|
|
95
|
+
"maxOutputTokens": 262144,
|
|
96
|
+
"pricingPerMTok": {
|
|
97
|
+
"input": 0.95,
|
|
98
|
+
"output": 4,
|
|
99
|
+
"cachedInput": 0.19
|
|
100
|
+
},
|
|
101
|
+
"vision": true,
|
|
102
|
+
"status": "production",
|
|
103
|
+
"description": "NeuroLink fallback. Models page (docs.digitalocean.com/products/inference/details/models, retrieved 2026-09-29), row \"Kimi K2.6\": model ID kimi-k2.6, context window 262,144, max output tokens 262,144; usage notes \"Chat Completions and Responses APIs for sending prompts for serverless inference\", \"Prompt caching\". The Models by Provider table on the same page says Kimi K3 and Kimi K2.6 are \"both with prompt caching and multimodal vision support\", and the Features page (docs.digitalocean.com/products/inference/details/features) lists Kimi K2.6 in a Vision-Language Models row with \"Text and image inputs\". Pricing page (docs.digitalocean.com/products/inference/details/pricing): Input $0.95; Output $4.00; Cache read $0.19 per 1M tokens, Standard processing mode."
|
|
104
|
+
},
|
|
105
|
+
"kimi-k3": {
|
|
106
|
+
"contextWindow": 1048576,
|
|
107
|
+
"pricingPerMTok": {
|
|
108
|
+
"input": 3,
|
|
109
|
+
"output": 15,
|
|
110
|
+
"cachedInput": 0.3
|
|
111
|
+
},
|
|
112
|
+
"vision": true,
|
|
113
|
+
"status": "production",
|
|
114
|
+
"description": "Models page (docs.digitalocean.com/products/inference/details/models, retrieved 2026-09-29), row \"Kimi K3\": model ID kimi-k3, context window 1,048,576; usage notes \"Chat Completions API for sending prompts for serverless inference\", \"Prompt caching\", \"Native vision (text, images)\". The Features page (docs.digitalocean.com/products/inference/details/features) lists Kimi K3 in a Vision-Language Models row with \"Text and image inputs\". Pricing page (docs.digitalocean.com/products/inference/details/pricing): Input $3.00; Output $15.00; Cache read $0.30 per 1M tokens, Standard processing mode."
|
|
115
|
+
},
|
|
116
|
+
"glm-5.3-flash": {
|
|
117
|
+
"contextWindow": 1048576,
|
|
118
|
+
"maxOutputTokens": 1048576,
|
|
119
|
+
"pricingPerMTok": {
|
|
120
|
+
"input": 0.15,
|
|
121
|
+
"output": 0.5,
|
|
122
|
+
"cachedInput": 0.03
|
|
123
|
+
},
|
|
124
|
+
"vision": true,
|
|
125
|
+
"status": "production",
|
|
126
|
+
"description": "Models page (docs.digitalocean.com/products/inference/details/models, retrieved 2026-09-29), row \"GLM-5.3 Flash\": model ID glm-5.3-flash, context window 1,048,576, max output tokens 1,048,576; usage notes \"Input context window of up to 1M tokens\", \"Chat Completions and Responses APIs for sending prompts for serverless inference\", \"Prompt caching\", \"Multimodal: text, image, and video inputs\", \"Tool calling\", \"Structured outputs\", \"Reasoning\", \"Multilingual\". Pricing page (docs.digitalocean.com/products/inference/details/pricing): Input $0.15; Output $0.50; Cache read $0.03 per 1M tokens, Standard processing mode."
|
|
127
|
+
},
|
|
128
|
+
"mimo-v2.5-pro": {
|
|
129
|
+
"contextWindow": 262144,
|
|
130
|
+
"maxOutputTokens": 262144,
|
|
131
|
+
"pricingPerMTok": {
|
|
132
|
+
"input": 0.8,
|
|
133
|
+
"output": 3,
|
|
134
|
+
"cachedInput": 0.16
|
|
135
|
+
},
|
|
136
|
+
"vision": false,
|
|
137
|
+
"status": "production",
|
|
138
|
+
"description": "Models page (docs.digitalocean.com/products/inference/details/models, retrieved 2026-09-29), row \"MiMo V2.5 Pro\": model ID mimo-v2.5-pro, context window 262,144, max output tokens 262,144; usage notes \"Input context window of up to 1M tokens\", \"Text only\", \"Chat Completions and Responses APIs for sending prompts for serverless inference\", \"Prompt caching\", \"Tool calling\", \"Structured outputs\", \"Reasoning\", \"Multilingual\". Pricing page (docs.digitalocean.com/products/inference/details/pricing): Input $0.80; Output $3.00; Cache read $0.16 per 1M tokens, Standard processing mode."
|
|
139
|
+
},
|
|
140
|
+
"nemotron-3-ultra-550b": {
|
|
141
|
+
"contextWindow": 131072,
|
|
142
|
+
"maxOutputTokens": 131072,
|
|
143
|
+
"pricingPerMTok": {
|
|
144
|
+
"input": 0.9,
|
|
145
|
+
"output": 1.7
|
|
146
|
+
},
|
|
147
|
+
"vision": false,
|
|
148
|
+
"status": "production",
|
|
149
|
+
"description": "Models page (docs.digitalocean.com/products/inference/details/models, retrieved 2026-09-29), row \"Nemotron 3 Ultra\": model ID nemotron-3-ultra-550b, context window 131,072, max output tokens 131,072; usage notes \"Evaluations judge model\", \"Chat Completions and Responses APIs for sending prompts for serverless inference\". Pricing page (docs.digitalocean.com/products/inference/details/pricing): Input $0.90; Output $1.70 per 1M tokens, Standard processing mode."
|
|
150
|
+
},
|
|
151
|
+
"gemma-4-31B-it": {
|
|
152
|
+
"contextWindow": 256000,
|
|
153
|
+
"maxOutputTokens": 8192,
|
|
154
|
+
"pricingPerMTok": {
|
|
155
|
+
"input": 0.18,
|
|
156
|
+
"output": 0.5,
|
|
157
|
+
"cachedInput": 0.036
|
|
158
|
+
},
|
|
159
|
+
"vision": false,
|
|
160
|
+
"status": "production",
|
|
161
|
+
"description": "NeuroLink fallback. Models page (docs.digitalocean.com/products/inference/details/models, retrieved 2026-09-29), row \"Gemma 4\": model ID gemma-4-31B-it, context window 256,000, max output tokens 8,192; usage notes \"Chat Completions and Responses APIs for sending prompts for serverless inference\", \"Prompt caching\". Pricing page (docs.digitalocean.com/products/inference/details/pricing), row \"Gemma 4\": Input $0.18; Output $0.50; Cache read $0.036 per 1M tokens, Standard processing mode."
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"topModels": [
|
|
165
|
+
"llama-4-maverick",
|
|
166
|
+
"deepseek-v4.1-flash",
|
|
167
|
+
"deepseek-v4-pro-0813",
|
|
168
|
+
"deepseek-v4-flash-0731",
|
|
169
|
+
"deepseek-3.2",
|
|
170
|
+
"glm-5.2",
|
|
171
|
+
"kimi-k2.6",
|
|
172
|
+
"kimi-k3",
|
|
173
|
+
"glm-5.3-flash",
|
|
174
|
+
"mimo-v2.5-pro",
|
|
175
|
+
"nemotron-3-ultra-550b",
|
|
176
|
+
"gemma-4-31B-it"
|
|
177
|
+
],
|
|
178
|
+
"visionModel": "deepseek-v4.1-flash"
|
|
179
|
+
},
|
|
180
|
+
"capabilities": {
|
|
181
|
+
"text": true,
|
|
182
|
+
"streaming": true,
|
|
183
|
+
"tools": "model-dependent",
|
|
184
|
+
"toolsWithStreaming": false,
|
|
185
|
+
"structuredOutput": false,
|
|
186
|
+
"structuredOutputWithTools": false,
|
|
187
|
+
"embeddings": false,
|
|
188
|
+
"thinking": false
|
|
189
|
+
},
|
|
190
|
+
"errorRules": [
|
|
191
|
+
{
|
|
192
|
+
"status": 401,
|
|
193
|
+
"class": "authentication",
|
|
194
|
+
"message": "GradientAI rejected the credential (HTTP 401, \"Unable to authenticate you\"). Check {apiKeyEnvVar}. Model access keys are created at {setupUrl}"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"status": 429,
|
|
198
|
+
"class": "rate-limit",
|
|
199
|
+
"message": "GradientAI API rate limit exceeded (HTTP 429; the Serverless Inference API reference documents the 429 body as \"API rate limit exceeded.\")"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"status": 404,
|
|
203
|
+
"pattern": "model not found",
|
|
204
|
+
"class": "invalid-model",
|
|
205
|
+
"message": "GradientAI returned 404 \"Model not found\" for '{model}'. The Model Support Policy page (docs.digitalocean.com/products/inference/details/model-support-policy) states that requests to deprecated model IDs return this error."
|
|
206
|
+
}
|
|
207
|
+
],
|
|
208
|
+
"setup": {
|
|
209
|
+
"url": "https://cloud.digitalocean.com/model-studio/manage-keys",
|
|
210
|
+
"apiKeyFormat": null,
|
|
211
|
+
"billingPolicy": "no-free-tier",
|
|
212
|
+
"instructions": [
|
|
213
|
+
"1. Visit: https://cloud.digitalocean.com/model-studio/manage-keys (the Control Panel page that https://docs.digitalocean.com/products/inference/how-to/manage-model-access-keys/ names for creating and managing model access keys; it shows the DigitalOcean login when signed out) and sign in to a DigitalOcean account",
|
|
214
|
+
"2. Click Create model access key, enter a name, and copy the secret key when it is shown: the docs state \"Copy and store it securely before closing the window.\"",
|
|
215
|
+
"3. Prepaid balance: the docs state \"Serverless Inference requires a positive prepaid account balance before you can send inference requests.\" (https://docs.digitalocean.com/products/inference/how-to/manage-serverless-inference-prepayment/)",
|
|
216
|
+
"4. Set {apiKeyEnvVar} in your .env file"
|
|
217
|
+
],
|
|
218
|
+
"description": "OpenAI-compatible endpoint at https://inference.do-ai.run/v1 (the models page says the text models are \"served through OpenAI-compatible endpoints\", and the Chat Completions page's Python OpenAI SDK example sets base_url=\"https://inference.do-ai.run/v1\"). Docs-verified only: GET https://inference.do-ai.run/v1/models answers 401 without a key, so the 12 chat model ids come from the vendor's models page and the roster has not been checked. models.defaultContextWindow (32,768) and models.defaultMaxOutputTokens (4,096) are placeholders the vendor does not publish. The unauthenticated GET of /v1/models returned the body {\"id\": \"Unauthorized\", \"message\": \"Unable to authenticate you\" }; the API reference documents 401, 429 and 500 responses for chat completions, and errorRules covers 401, 429 and the 404 \"Model not found\" response described on the Model Support Policy page."
|
|
219
|
+
},
|
|
220
|
+
"evidence": {
|
|
221
|
+
"rosterVerified": {
|
|
222
|
+
"date": "2026-09-29",
|
|
223
|
+
"status": 401,
|
|
224
|
+
"method": "docs-only — unauthenticated GET https://inference.do-ai.run/v1/models answers 401 without a key, so model ids are taken from https://docs.digitalocean.com/products/inference/details/models/ (retrieved 2026-09-29); roster not verified"
|
|
225
|
+
},
|
|
226
|
+
"authProbe": {
|
|
227
|
+
"date": "2026-09-29",
|
|
228
|
+
"status": 401,
|
|
229
|
+
"code": "Unauthorized"
|
|
230
|
+
},
|
|
231
|
+
"billingProbe": {
|
|
232
|
+
"date": "2026-09-29",
|
|
233
|
+
"method": "public page https://docs.digitalocean.com/products/inference/how-to/manage-serverless-inference-prepayment/ — \"Serverless Inference requires a positive prepaid account balance before you can send inference requests.\"; credential-free"
|
|
234
|
+
},
|
|
235
|
+
"liveMatrix": null,
|
|
236
|
+
"addedInPR": "https://github.com/juspay/neurolink/pull/1862"
|
|
237
|
+
}
|
|
238
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./provider-catalog.schema.json",
|
|
3
|
+
"id": "hetzner-inference",
|
|
4
|
+
"displayName": "Hetzner Inference",
|
|
5
|
+
"aliases": ["hetzner"],
|
|
6
|
+
"tier": 2,
|
|
7
|
+
"wire": {
|
|
8
|
+
"baseURL": "https://inference.hetzner.com/api/v1"
|
|
9
|
+
},
|
|
10
|
+
"models": {
|
|
11
|
+
"default": "Qwen/Qwen3.6-35B-A3B-FP8",
|
|
12
|
+
"fallbacks": ["Qwen3.8-27B"],
|
|
13
|
+
"defaultContextWindow": 32768,
|
|
14
|
+
"defaultMaxOutputTokens": 4096,
|
|
15
|
+
"catalog": {
|
|
16
|
+
"Qwen/Qwen3.6-35B-A3B-FP8": {
|
|
17
|
+
"contextWindow": 262144,
|
|
18
|
+
"vision": true,
|
|
19
|
+
"status": "preview",
|
|
20
|
+
"description": "NeuroLink default. Listed in the Available Models table of https://docs.hetzner.com/general/company-and-policy/experiments/inference/ (retrieved 2026-09-29) with these cell values: Model \"Qwen/Qwen3.6-35B-A3B-FP8\", Type \"Causal LM + Vision (MoE, 35B total / 3B active)\", Context Length \"262,144 tokens\", Modalities \"Text, Image\". The same page names this id in its four code examples: Python chat completion, Python image processing, curl chat completion and curl image processing. Its Python Image Processing section says \"Send an image URL alongside your prompt to use the models vision capabilities.\" and that example uses this id, so vision is true."
|
|
21
|
+
},
|
|
22
|
+
"Qwen3.8-27B": {
|
|
23
|
+
"contextWindow": 262144,
|
|
24
|
+
"vision": true,
|
|
25
|
+
"status": "preview",
|
|
26
|
+
"description": "Fallback. Listed in the Available Models table of https://docs.hetzner.com/general/company-and-policy/experiments/inference/ (retrieved 2026-09-29) with these cell values: Model \"Qwen3.8-27B\", Type \"Dense\", Context Length \"262,144 tokens\", Modalities \"Text, Image\", so vision is true. The page's Open-Source Model Licenses table has a row \"Qwen3.8-27B\" with Developer \"Alibaba Cloud (Qwen Team)\" and License \"Apache 2.0\"."
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"capabilities": {
|
|
31
|
+
"text": true,
|
|
32
|
+
"streaming": false,
|
|
33
|
+
"tools": false,
|
|
34
|
+
"toolsWithStreaming": false,
|
|
35
|
+
"structuredOutput": false,
|
|
36
|
+
"structuredOutputWithTools": false,
|
|
37
|
+
"embeddings": false,
|
|
38
|
+
"thinking": false
|
|
39
|
+
},
|
|
40
|
+
"errorRules": [
|
|
41
|
+
{
|
|
42
|
+
"status": 401,
|
|
43
|
+
"class": "authentication",
|
|
44
|
+
"message": "Hetzner Inference answered HTTP 401. Check {apiKeyEnvVar}. Create a token: {setupUrl}"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"status": 429,
|
|
48
|
+
"class": "rate-limit",
|
|
49
|
+
"message": "Hetzner Inference answered HTTP 429. Its docs FAQ says \"If you exceed any of the rate limits, the API will respond with HTTP Status Code 429.\" and lists Timeframe \"60s\" with Input Tokens \"4M\" and Output Tokens \"100k\", and Timeframe \"60s\" with Requests \"10\" (https://docs.hetzner.com/general/company-and-policy/experiments/inference/)."
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"setup": {
|
|
53
|
+
"url": "https://experiments.hetzner.com/inference",
|
|
54
|
+
"apiKeyFormat": null,
|
|
55
|
+
"billingPolicy": "free-tier",
|
|
56
|
+
"instructions": [
|
|
57
|
+
"1. Visit: https://experiments.hetzner.com/inference — the page is client-rendered; its public JavaScript bundle labels the token area \"Tokens\" and the button \"Create API Token\" (sign-in was not attempted while building this entry)",
|
|
58
|
+
"2. Create an API token and copy it. The docs' curl examples (https://docs.hetzner.com/general/company-and-policy/experiments/inference/) use the header \"Authorization: Bearer <YOUR_TOKEN>\"",
|
|
59
|
+
"3. Billing as the vendor states it: \"As long as the Inference API remains in experimental status, it is free of charge.\" (FAQ, same docs page)",
|
|
60
|
+
"4. Set {apiKeyEnvVar} in your .env file"
|
|
61
|
+
],
|
|
62
|
+
"description": "Docs-verified only: the vendor's GET https://inference.hetzner.com/api/v1/models needs a key (an unauthenticated GET on 2026-09-29 answered HTTP 401 with the JSON body {\"error\":\"unauthorized\"}), so the two model ids come from the Available Models table of https://docs.hetzner.com/general/company-and-policy/experiments/inference/ (retrieved 2026-09-29), and the roster has not been checked; the entry is not yet live-verified. The same page says \"The response of the models endpoint is definitive.\" and \"Only a selected list of models is available. This selection will change during the experimental phase.\" OpenAI-compatible endpoint at https://inference.hetzner.com/api/v1: the page says \"The Inference API provides access to open-source large language models via an OpenAI-compatible REST API.\" and \"Base URL: https://inference.hetzner.com/api/v1\", and its curl example sends a JSON body with a \"model\" and a \"messages\" array to https://inference.hetzner.com/api/v1/chat/completions. The page's note reads \"This service is provided for experimental purposes only and is offered \"as is\".\" and \"Performance and availability are not guaranteed, especially during periods of high demand.\" Unauthenticated GETs made 2026-09-29: /models answered HTTP 401 (content-type application/json; charset=utf-8) with the body {\"error\":\"unauthorized\"}; /chat/completions answered HTTP 404 (content-type text/plain; charset=utf-8) with the body \"404 page not found\". No POST request was sent. errorRules carry the 401 status observed on /models and the 429 status the FAQ states for exceeded rate limits. models.defaultContextWindow (32768) and models.defaultMaxOutputTokens (4096) are placeholders the vendor does not publish; they apply to model ids outside the catalog, and defaultMaxOutputTokens applies to both catalog rows, which carry no maxOutputTokens. capabilities.text is true because the page documents chat completions with Python and curl examples; the other capability flags are false, meaning not declared by this entry, and no request exercising them was sent. Each model's status field holds preview, a value the catalog schema requires; it is not a per-model vendor statement. billingPolicy holds free-tier per the FAQ answer \"As long as the Inference API remains in experimental status, it is free of charge.\" apiKeyFormat is null so NeuroLink's key-format check is not applied."
|
|
63
|
+
},
|
|
64
|
+
"evidence": {
|
|
65
|
+
"rosterVerified": {
|
|
66
|
+
"date": "2026-09-29",
|
|
67
|
+
"status": 401,
|
|
68
|
+
"method": "docs-only — unauthenticated GET https://inference.hetzner.com/api/v1/models answers 401 without a key, so model ids are taken from https://docs.hetzner.com/general/company-and-policy/experiments/inference/ (retrieved 2026-09-29); roster not verified"
|
|
69
|
+
},
|
|
70
|
+
"authProbe": {
|
|
71
|
+
"date": "2026-09-29",
|
|
72
|
+
"status": 401,
|
|
73
|
+
"code": "unauthorized",
|
|
74
|
+
"method": "unauthenticated GET https://inference.hetzner.com/api/v1/models — HTTP 401, content-type application/json; charset=utf-8, JSON body {\"error\":\"unauthorized\"} (the body's single field is error, and its value is recorded as the code); the same day an unauthenticated GET https://inference.hetzner.com/api/v1/chat/completions answered HTTP 404, content-type text/plain; charset=utf-8, body \"404 page not found\"; credential-free, no key used"
|
|
75
|
+
},
|
|
76
|
+
"billingProbe": {
|
|
77
|
+
"date": "2026-09-29",
|
|
78
|
+
"method": "public page https://docs.hetzner.com/general/company-and-policy/experiments/inference/ FAQ — \"As long as the Inference API remains in experimental status, it is free of charge. Should this status change, we will notify you in advance via email with detailed information.\"; credential-free, no signup performed"
|
|
79
|
+
},
|
|
80
|
+
"liveMatrix": null,
|
|
81
|
+
"addedInPR": "https://github.com/juspay/neurolink/pull/1862"
|
|
82
|
+
}
|
|
83
|
+
}
|