@juspay/neurolink 12.39.1 → 12.40.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/README.md +1 -1
  3. package/dist/auth/middleware/AuthMiddleware.d.ts +1 -1
  4. package/dist/browser/neurolink.min.js +423 -422
  5. package/dist/constants/enums.d.ts +237 -0
  6. package/dist/constants/enums.js +257 -0
  7. package/dist/neurolink.js +46 -21
  8. package/dist/processors/media/VideoProcessor.d.ts +17 -0
  9. package/dist/processors/media/VideoProcessor.js +119 -0
  10. package/dist/providers/catalog/ai21.json +142 -0
  11. package/dist/providers/catalog/aionlabs.json +144 -0
  12. package/dist/providers/catalog/atlas-cloud.json +203 -0
  13. package/dist/providers/catalog/avian-io.json +227 -0
  14. package/dist/providers/catalog/crusoe.json +229 -0
  15. package/dist/providers/catalog/index.generated.d.ts +1 -1
  16. package/dist/providers/catalog/index.generated.js +60 -0
  17. package/dist/providers/catalog/minimax.json +200 -0
  18. package/dist/providers/catalog/moonshot-ai.json +135 -0
  19. package/dist/providers/catalog/nebius.json +165 -0
  20. package/dist/providers/catalog/prime-intellect.json +217 -0
  21. package/dist/providers/catalog/scaleway.json +177 -0
  22. package/dist/providers/catalog/siliconflow.json +242 -0
  23. package/dist/providers/catalog/stepfun.json +155 -0
  24. package/dist/providers/catalog/subconscious.json +93 -0
  25. package/dist/providers/catalog/tinfoil.json +155 -0
  26. package/dist/providers/catalog/umans-ai.json +174 -0
  27. package/dist/providers/catalog/venice-ai.json +208 -0
  28. package/dist/providers/catalog/vultr-inference.json +220 -0
  29. package/dist/providers/catalog/wafer.json +165 -0
  30. package/dist/providers/catalog/wandb-inference.json +249 -0
  31. package/dist/providers/catalog/z-ai.json +255 -0
  32. package/dist/types/providerCatalog.generated.d.ts +2 -2
  33. package/dist/types/providers.d.ts +80 -0
  34. package/docs-site/static/search-index.json +227 -3
  35. package/package.json +3 -2
@@ -4915,7 +4915,7 @@
4915
4915
  {"objectID":"8bee50a94bc91cf5273efb43aa2f13a39be6cd72e048c55da55bd80bc74ce8a0","title":"Getting Help","url":"/docs/getting-started/installation#getting-help","content":"Check our Troubleshooting Guide\nReview FAQ\nSearch GitHub Issues\nCreate new issue with:\nNode.js version (node --version)\nOperating system\nError message\nSteps to reproduce","hierarchy":{"lvl0":"Getting Started","lvl1":"Installation","lvl2":"Getting Help","lvl3":""}},
4916
4916
  {"objectID":"80210a84a233c58e9a12aa96cedd225ad03c3bfe5344b78032d691be93ae3ba0","title":"Verification Checklist","url":"/docs/getting-started/installation#verification-checklist","content":"[ ] Node.js 18+ installed\n[ ] NeuroLink package installed or accessible via npx\n[ ] API keys configured in .env file\n[ ] neurolink status shows working providers\n[ ] Basic generation command works\n[ ] TypeScript support (if needed)\n[ ] Framework integration (if applicable)","hierarchy":{"lvl0":"Getting Started","lvl1":"Installation","lvl2":"Verification Checklist","lvl3":""}},
4917
4917
  {"objectID":"44c035a6ed0dc3b4a04ad68e17bc22de77840cb664eaee4e84f04bb8bd70caaf","title":"Next Steps","url":"/docs/getting-started/installation#next-steps","content":"Quick Start - Test your installation\nProvider Setup - Configure AI providers\nCLI Commands - Learn available commands\nExamples - See implementation patterns","hierarchy":{"lvl0":"Getting Started","lvl1":"Installation","lvl2":"Next Steps","lvl3":""}},
4918
- {"objectID":"c44f69a5d19212c85a451486bef65999f3ef505311f283fa4a129d90603820ac","title":"⚙️ Provider Configuration Guide","url":"/docs/getting-started/provider-setup","content":"⚙️ Provider Configuration Guide\n\nNeuroLink supports multiple AI providers with flexible authentication methods. This guide covers complete setup for all supported providers.\n\nSupported Providers\n\nThis guide walks through full environment-variable setup for the providers below; the complete roster — including the newer catalog providers and the embedding/media/decision-only providers — is indexed with setup guides at Provider Guides.\n\nProviders configured in this guide\nOpenAI - GPT-4o, GPT-4o-mini, GPT-4-turbo\nAmazon Bedrock - Claude 3.7 Sonnet, Claude 3.5 Sonnet, Claude 3 Haiku\nAmazon SageMaker - Custom models deployed on SageMaker endpoints\nGoogle Vertex AI - Gemini 3 Flash/Pro (preview), Gemini 2.5 Flash, Claude 4.0 Sonnet\nGoogle AI Studio - Gemini 1.5 Pro, Gemini 2.0 Flash, Gemini 1.5 Flash\nAnthropic - Claude 4.5 Opus/Sonnet/Haiku, Claude 4.0 Opus/Sonnet, Claude 3.7 Sonnet\nAzure OpenAI - GPT-4, GPT-3.5-Turbo\nLiteLLM - 100+ models across a broad range of providers via proxy server\nHugging Face - open models served by the unified router (Llama 3.x, Qwen 2.5, DeepSeek, Mistral)\nOllama - Local AI models including Llama 2, Code Llama, Mistral, Vicuna\nOpenRouter - 300+ models from every major lab via one aggregator endpoint\nMistral AI - Mistral Tiny, Small, Medium, and Large models\nDeepSeek - deepseek-chat (V3) and deepseek-reasoner (R1)\nNVIDIA NIM - Llama 3.3 70B and 400+ catalog models via NVIDIA hosted or self-hosted NIM\nLM Studio - Any model loaded in LM Studio desktop app (local, no API key required)\nllama.cpp - Any GGUF model served by llama-server (local, no API key required)\n\nOther providers (setup guides in the Provider Guides index)\n\nOnboarded via the zero-quirk OpenAI-wire-compatible catalog (Tier 2) — each has its own setup guide under providers/:\nGroq - LPU-accelerated inference; default openai/gpt-oss-120b\nCerebras - Wafer-scale inference; default gpt-oss-120b\nSambaNova - default Meta-Llama-3.3-70B-Instruct\nTogether AI - default meta-llama/Llama-3.3-70B-Instruct-Turbo\nFireworks AI - default accounts/fireworks/models/kimi-k3\nPerplexity - search-augmented models; default sonar\nCloudflare Workers AI - edge inference\nxAI - Grok models; default grok-4.6\nBaseten - default zai-org/GLM-5.3-Flash (BASETEN_API_KEY)\nGMI Cloud - default MiniMaxAI/MiniMax-M3 (GMICLOUD_API_KEY)\nInception Labs - diffusion LLMs; default mercury-2 (INCEPTION_LABS_API_KEY)\nio.net Intelligence - decentralized GPU inference; default meta-llama/Llama-3.3-70B-Instruct (IO_INTELLIGENCE_API_KEY)\nMancer - default deepseek-v4-flash (MANCER_API_KEY); no tool calling\nUpstage - Solar models; default solar-pro4 (UPSTAGE_API_KEY)\nAPI Route - OpenAI-compatible passthrough; default claude-sonnet-4-6 (API_ROUTE_API_KEY)\nDeepInfra - default deepseek-ai/DeepSeek-V4-Flash-0731 (DEEPINFRA_API_KEY); docs- and roster-verified, not yet live-verified\nFeatherless AI - default unsloth/Llama-3.3-70B-Instruct (FEATHERLESS_AI_API_KEY); docs- and roster-verified, not yet live-verified\nChutes - default moonshotai/Kimi-K2.6-TEE (CHUTES_API_KEY); docs- and roster-verified, not yet live-verified\nOVHcloud AI Endpoints - default gpt-oss-120b (OVH_AI_ENDPOINTS_ACCESS_TOKEN); docs- and roster-verified, not yet live-verified\nSarvam AI - default sarvam-105b (SARVAM_API_KEY); docs- and roster-verified, not yet live-verified\nSynthetic - default syn:large:text (SYNTHETIC_API_KEY); docs- and roster-verified, not yet live-verified\nAmbient - default ambient/large (AMBIENT_API_KEY); docs- and roster-verified, not yet live-verified\nInference.net - default glm-5.2 (INFERENCE_API_KEY); docs- and roster-verified, not yet live-verified\nEmpirioLabs AI - default glm-5-3 (EMPIRIOLABS_API_KEY); docs- and roster-verified, not yet live-verified\nabove.dev - default deepseek-v4.1-flash (ABOVE_DEV_API_KEY); docs- and roster-verified, not yet live-verified\nai& - default openai/gpt-oss-120b (AIAND_API_KEY); docs- and roster-verified, not yet live-verified\nBee by HEOSSI - default bee-cell (BEE_HEOSSI_API_KEY); docs- and roster-verified, not yet live-verified\nCharm Hyper - default deepseek-v4-pro (CHARM_HYPER_API_KEY); docs- and roster-verified, not yet live-verified\nInco - default glm-5.3 (INCO_API_KEY); no tool calling; docs- and roster-verified, not yet live-verified\nKosmik Compute - default qwen/qwen3.8-27b (KOSCOMPUTE_API_KEY); docs- and roster-verified, not yet live-verified\nLilac - default moonshotai/kimi-k2.6 (LILAC_API_KEY); docs- and roster-verified, not yet live-verified\nLLM Tech - default nvidia/Qwen3.8-27B-NVFP4 (LLMTECH_API_KEY); docs- and roster-verified, not yet live-verified\nMoark - default Qwen3-8B (MOARK_API_KEY); docs- and roster-verified, not yet live-verified\nNeuralwatt - default glm-5.3 (NEURALWATT_API_KEY); docs- and roster-verified, not yet live-verified\nPareto Inference - default z-ai/glm-5.3-flash (PARETO_INFERENCE_API_KEY); docs- and roster-verified, not yet live-verified\n\nEmbedding, media-generation, and decision-only providers — not part of generate()/stream() prov","hierarchy":{"lvl0":"Getting Started","lvl1":"⚙️ Provider Configuration Guide","lvl2":"","lvl3":""}},
4918
+ {"objectID":"c44f69a5d19212c85a451486bef65999f3ef505311f283fa4a129d90603820ac","title":"⚙️ Provider Configuration Guide","url":"/docs/getting-started/provider-setup","content":"⚙️ Provider Configuration Guide\n\nNeuroLink supports multiple AI providers with flexible authentication methods. This guide covers complete setup for all supported providers.\n\nSupported Providers\n\nThis guide walks through full environment-variable setup for the providers below; the complete roster — including the newer catalog providers and the embedding/media/decision-only providers — is indexed with setup guides at Provider Guides.\n\nProviders configured in this guide\nOpenAI - GPT-4o, GPT-4o-mini, GPT-4-turbo\nAmazon Bedrock - Claude 3.7 Sonnet, Claude 3.5 Sonnet, Claude 3 Haiku\nAmazon SageMaker - Custom models deployed on SageMaker endpoints\nGoogle Vertex AI - Gemini 3 Flash/Pro (preview), Gemini 2.5 Flash, Claude 4.0 Sonnet\nGoogle AI Studio - Gemini 1.5 Pro, Gemini 2.0 Flash, Gemini 1.5 Flash\nAnthropic - Claude 4.5 Opus/Sonnet/Haiku, Claude 4.0 Opus/Sonnet, Claude 3.7 Sonnet\nAzure OpenAI - GPT-4, GPT-3.5-Turbo\nLiteLLM - 100+ models across a broad range of providers via proxy server\nHugging Face - open models served by the unified router (Llama 3.x, Qwen 2.5, DeepSeek, Mistral)\nOllama - Local AI models including Llama 2, Code Llama, Mistral, Vicuna\nOpenRouter - 300+ models from every major lab via one aggregator endpoint\nMistral AI - Mistral Tiny, Small, Medium, and Large models\nDeepSeek - deepseek-chat (V3) and deepseek-reasoner (R1)\nNVIDIA NIM - Llama 3.3 70B and 400+ catalog models via NVIDIA hosted or self-hosted NIM\nLM Studio - Any model loaded in LM Studio desktop app (local, no API key required)\nllama.cpp - Any GGUF model served by llama-server (local, no API key required)\n\nOther providers (setup guides in the Provider Guides index)\n\nOnboarded via the zero-quirk OpenAI-wire-compatible catalog (Tier 2) — each has its own setup guide under providers/:\nGroq - LPU-accelerated inference; default openai/gpt-oss-120b\nCerebras - Wafer-scale inference; default gpt-oss-120b\nSambaNova - default Meta-Llama-3.3-70B-Instruct\nTogether AI - default meta-llama/Llama-3.3-70B-Instruct-Turbo\nFireworks AI - default accounts/fireworks/models/kimi-k3\nPerplexity - search-augmented models; default sonar\nCloudflare Workers AI - edge inference\nxAI - Grok models; default grok-4.6\nBaseten - default zai-org/GLM-5.3-Flash (BASETEN_API_KEY)\nGMI Cloud - default MiniMaxAI/MiniMax-M3 (GMICLOUD_API_KEY)\nInception Labs - diffusion LLMs; default mercury-2 (INCEPTION_LABS_API_KEY)\nio.net Intelligence - decentralized GPU inference; default meta-llama/Llama-3.3-70B-Instruct (IO_INTELLIGENCE_API_KEY)\nMancer - default deepseek-v4-flash (MANCER_API_KEY); no tool calling\nUpstage - Solar models; default solar-pro4 (UPSTAGE_API_KEY)\nAPI Route - OpenAI-compatible passthrough; default claude-sonnet-4-6 (API_ROUTE_API_KEY)\nDeepInfra - default deepseek-ai/DeepSeek-V4-Flash-0731 (DEEPINFRA_API_KEY); docs- and roster-verified, not yet live-verified\nFeatherless AI - default unsloth/Llama-3.3-70B-Instruct (FEATHERLESS_AI_API_KEY); docs- and roster-verified, not yet live-verified\nChutes - default moonshotai/Kimi-K2.6-TEE (CHUTES_API_KEY); docs- and roster-verified, not yet live-verified\nOVHcloud AI Endpoints - default gpt-oss-120b (OVH_AI_ENDPOINTS_ACCESS_TOKEN); docs- and roster-verified, not yet live-verified\nSarvam AI - default sarvam-105b (SARVAM_API_KEY); docs- and roster-verified, not yet live-verified\nSynthetic - default syn:large:text (SYNTHETIC_API_KEY); docs- and roster-verified, not yet live-verified\nAmbient - default ambient/large (AMBIENT_API_KEY); docs- and roster-verified, not yet live-verified\nInference.net - default glm-5.2 (INFERENCE_API_KEY); docs- and roster-verified, not yet live-verified\nEmpirioLabs AI - default glm-5-3 (EMPIRIOLABS_API_KEY); docs- and roster-verified, not yet live-verified\nabove.dev - default deepseek-v4.1-flash (ABOVE_DEV_API_KEY); docs- and roster-verified, not yet live-verified\nai& - default openai/gpt-oss-120b (AIAND_API_KEY); docs- and roster-verified, not yet live-verified\nBee by HEOSSI - default bee-cell (BEE_HEOSSI_API_KEY); docs- and roster-verified, not yet live-verified\nCharm Hyper - default deepseek-v4-pro (CHARM_HYPER_API_KEY); docs- and roster-verified, not yet live-verified\nInco - default glm-5.3 (INCO_API_KEY); no tool calling; docs- and roster-verified, not yet live-verified\nKosmik Compute - default qwen/qwen3.8-27b (KOSCOMPUTE_API_KEY); docs- and roster-verified, not yet live-verified\nLilac - default moonshotai/kimi-k2.6 (LILAC_API_KEY); docs- and roster-verified, not yet live-verified\nLLM Tech - default nvidia/Qwen3.8-27B-NVFP4 (LLMTECH_API_KEY); docs- and roster-verified, not yet live-verified\nMoark - default Qwen3-8B (MOARK_API_KEY); docs- and roster-verified, not yet live-verified\nNeuralwatt - default glm-5.3 (NEURALWATT_API_KEY); docs- and roster-verified, not yet live-verified\nPareto Inference - default z-ai/glm-5.3-flash (PARETO_INFERENCE_API_KEY); docs- and roster-verified, not yet live-verified\nAion Labs - default aion-labs/aion-3.5 (AIONLABS_API_KEY); docs- and roster-verified, not yet li","hierarchy":{"lvl0":"Getting Started","lvl1":"⚙️ Provider Configuration Guide","lvl2":"","lvl3":""}},
4919
4919
  {"objectID":"44479af76ca558a6630aafa39578fb6543bd892844c3a6c5948ffd58a2d73287","title":"⚙️ Provider Configuration Guide","url":"/docs/getting-started/provider-setup#-provider-configuration-guide","content":"NeuroLink supports multiple AI providers with flexible authentication methods. This guide covers complete setup for all supported providers.","hierarchy":{"lvl0":"Getting Started","lvl1":"⚙️ Provider Configuration Guide","lvl2":"⚙️ Provider Configuration Guide","lvl3":""}},
4920
4920
  {"objectID":"ed4c54afa059a89c0cb4a7815f361a50933fe695ec62b3df5a0bd4ad2e25e431","title":"Supported Providers","url":"/docs/getting-started/provider-setup#supported-providers","content":"This guide walks through full environment-variable setup for the providers below; the complete roster — including the newer catalog providers and the embedding/media/decision-only providers — is indexed with setup guides at Provider Guides.","hierarchy":{"lvl0":"Getting Started","lvl1":"⚙️ Provider Configuration Guide","lvl2":"Supported Providers","lvl3":""}},
4921
4921
  {"objectID":"c0abb48e819713cb16c04d745137321d348118c823351fcf31ab014735dd036e","title":"Providers configured in this guide","url":"/docs/getting-started/provider-setup#providers-configured-in-this-guide","content":"OpenAI - GPT-4o, GPT-4o-mini, GPT-4-turbo\nAmazon Bedrock - Claude 3.7 Sonnet, Claude 3.5 Sonnet, Claude 3 Haiku\nAmazon SageMaker - Custom models deployed on SageMaker endpoints\nGoogle Vertex AI - Gemini 3 Flash/Pro (preview), Gemini 2.5 Flash, Claude 4.0 Sonnet\nGoogle AI Studio - Gemini 1.5 Pro, Gemini 2.0 Flash, Gemini 1.5 Flash\nAnthropic - Claude 4.5 Opus/Sonnet/Haiku, Claude 4.0 Opus/Sonnet, Claude 3.7 Sonnet\nAzure OpenAI - GPT-4, GPT-3.5-Turbo\nLiteLLM - 100+ models across a broad range of providers via proxy server\nHugging Face - open models served by the unified router (Llama 3.x, Qwen 2.5, DeepSeek, Mistral)\nOllama - Local AI models including Llama 2, Code Llama, Mistral, Vicuna\nOpenRouter - 300+ models from every major lab via one aggregator endpoint\nMistral AI - Mistral Tiny, Small, Medium, and Large models\nDeepSeek - deepseek-chat (V3) and deepseek-reasoner (R1)\nNVIDIA NIM - Llama 3.3 70B and 400+ catalog models via NVIDIA hosted or self-hosted NIM\nLM Studio - Any model loaded in LM Studio desktop app (local, no API key required)\nllama.cpp - Any GGUF model served by llama-server (local, no API key required)","hierarchy":{"lvl0":"Getting Started","lvl1":"⚙️ Provider Configuration Guide","lvl2":"Providers configured in this guide","lvl3":""}},
@@ -5187,6 +5187,17 @@
5187
5187
  {"objectID":"921ba7d6a43c203510a37ebd9cc837a34360fc6595cebc700debe6ef747be8ee","title":"Verification status","url":"/docs/getting-started/providers/above-dev#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for above.dev — docs- and roster-verified only,\nnot yet live-verified:\n\n| Probe | Result |\n| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET https://api.above.dev/v1/models — HTTP 200, 9 models, 2026-09-28. No key used. |\n| Docs cross-check | https://above.dev/docs fetched and re-read 2026-09-28 for auth header shape, endpoints, pricing, limits and error codes. |\n| Auth rejection probe | Not performed — would require sending a request with a credential header, which is out of scope for a credential-free onboarding. |\n| Live capability sweep | Not performed — evidence.liveMatrix is null. No generate()/stream() call has been made against above-dev yet. |\n\nUntil a live matrix run fills in evidence.liveMatrix, treat tools,\nstructuredOutput, structuredOutputWithTools and thinking as unproven —\nthe catalog entry already reflects that by declining to assert them.","hierarchy":{"lvl0":"Getting Started","lvl1":"above.dev Provider Guide","lvl2":"Verification status","lvl3":""}},
5188
5188
  {"objectID":"72ecfa90e15b96485c0280ca134e1ccfa26e41851f2e632db44ddcaae149211c","title":"Troubleshooting","url":"/docs/getting-started/providers/above-dev#troubleshooting","content":"| Symptom | Cause | Fix |\n| -------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |\n| Invalid or missing above.dev API key | ABOVE_DEV_API_KEY unset, wrong, or inactive (401) | Check the key and get/rotate one at https://above.dev/pricing / https://above.dev/dashboard |\n| Account balance insufficient (402) | No purchased credit remaining | Top up at https://above.dev/pricing |\n| Model not enabled for key (403) | The model is plan-restricted or in private beta for this key | Pick another catalog model, or contact above.dev to enable it |\n| Rate limited (429) | More than 300 requests/minute on the account | Retry after the documented Retry-After header |\n| Upstream timeout (504) | provider_timeout — the routed model did not respond in time | Retry the request |","hierarchy":{"lvl0":"Getting Started","lvl1":"above.dev Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
5189
5189
  {"objectID":"067a3642c950dd7d23c8df2f3ef9371ac1ded9e230a1aed516805bfca28ed5ac","title":"See also","url":"/docs/getting-started/providers/above-dev#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"above.dev Provider Guide","lvl2":"See also","lvl3":""}},
5190
+ {"objectID":"c90ddbe3f320f3653af63b9d62277be4522ddf1362284d32e9f49f080ffa2364","title":"AI21 Labs Provider Guide","url":"/docs/getting-started/providers/ai21","content":"AI21 Labs Provider Guide\n\nAI21 Labs is a Tier-2 catalog provider: NeuroLink reaches it through its\nshared chat-completions client, and AI21 documents a chat endpoint at\nPOST /chat/completions with Bearer authentication, a choices array in the\nresponse and server-sent-event streaming ending in data: [DONE]\n(Chat request,\nChat response). No\nbehavioural quirks are declared, so its integration is one JSON file\n(src/lib/providers/catalog/ai21.json) rather than hand-written code. That file\nis the source of truth for this page.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. AI21's GET /studio/v1/models answers 200 with an empty\ndata array without a key, so the model ids come from AI21's public docs\n(Jamba models page,\nretrieved 2026-09-29) and the roster has not been checked. No account was\ncreated and no API key was used to build this entry, and no POST request was\nsent. evidence.liveMatrix is null until someone runs the live capability\nmatrix with a real key (see Verification status\nbelow).\n\nKey Facts\nProvider id: ai21\nProtocol: chat completions at POST https://api.ai21.com/studio/v1/chat/completions\n with model and messages, Bearer authentication\n (Chat request,\n Authentication)\nBase URL: https://api.ai21.com/studio/v1\nDefault model: jamba-large\nModels in catalog: 6 — the six ids named in the API Versioning list of the\n Jamba models page\nContext: the models page lists Max Tokens 256K for Jamba Large and Jamba\n Mini; the catalog stores the number 256,000 as a placeholder for that 256K\n label\nMax output: the Chat request page states \"For Jamba models, the maximum\n allowed value is 4096 tokens.\" for max_tokens\nStreaming: supported — the stream parameter is documented as \"Stream\n results one token at a time using server-sent events.\"\n (Chat request); the\n Chat response page says\n \"The final message will be data: [DONE].\"\nTool calling: true — the Function Calling\n page says \"Function calling is available for all Jamba models via the Chat\n Completions API.\"\nTools while streaming: false — the stream parameter text on the\n Chat request page says\n \"Must be False if using tools.\"\nStructured output: true, based on JSON mode — the Chat request page\n documents response_format: \"Setting it to { \"type\": \"json_object\" }\n activates JSON mode, ensuring the generated message adheres to valid JSON\n structure.\" NeuroLink's chat-completions client builds a json_schema\n response_format when a schema is supplied; that form was not sent to AI21\n because no POST request was sent.\nStructured output + tools together: false — no combined tools + schema\n request was sent\nEmbeddings: not declared (false)\nThinking: not declared (false)\nRate limits: the Rate Limits\n page lists Jamba Large and Jamba Mini at 10 RPS and 200 RPM on the AI21 Platform\nBilling: free-tier — see Billing below\nKey format: none declared (apiKeyFormat is null)\n\nQuick Start\nGet an API key\nVisit: https://docs.ai21.com/docs/create-api-key and follow its steps: sign in to AI21 Studio (the page says \"You can sign in using your email address, Google account, GitHub account, or SSO.\"), click Settings in the bottom-left corner of the sidebar, open the API Keys tab, then click Create new key\nCopy the key when it is shown; the page says \"you won’t be able to view it again\"\nFree trial: https://docs.ai21.com/docs/usage-cost says \"New accounts are given a $10 credit good for three months on the AI21 platform.\" and, once the trial is exceeded or expires, \"you must provide valid billing information in your account to continue using the AI21 platform\". https://www.ai21.com/pricing shows \"$10 credits for 7 days.\" and \"No credit card needed\" under Free Trial\nSet AI21_API_KEY in your .env file\nConfigure\nUse it\n\nPer-request credentials are passed like this:\n\nBilling\n\nAI21's docs and website state different free-trial durations:\nPricing (docs): \"New accounts are\n given a $10 credit good for three months on the AI21 platform.\" After the\n trial is exceeded or expires, \"you must provide valid billing information in\n your account to continue using the AI21 platform.\"\nPricing page (website): \"Start with a free\n trial, no credit card required, then pay based on usage.\" Under Free Trial it\n lists \"$10 credits for 7 days.\" and \"No credit card needed\".\n\nThe entry records free-tier. The\nAccount page says \"You will\nneed to provide billing information when your introductory usage credits\nexpire.\"\n\nModels\n\n| Model | Context | Max output | Vision | $/M in · out | Notes |\n| ------------------------- | ------- | ---------- | ------ | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| jamba-large ⭐ | 256K | 4,096 | no | $2 / $8 | NeuroLi","hierarchy":{"lvl0":"Getting Started","lvl1":"AI21 Labs Provider Guide","lvl2":"","lvl3":""}},
5191
+ {"objectID":"68812ac98a7a809d0431daa7bb191e4f4a5da9d43d3f35e910c63b76ea55f285","title":"AI21 Labs Provider Guide","url":"/docs/getting-started/providers/ai21#ai21-labs-provider-guide","content":"AI21 Labs is a Tier-2 catalog provider: NeuroLink reaches it through its\nshared chat-completions client, and AI21 documents a chat endpoint at\nPOST /chat/completions with Bearer authentication, a choices array in the\nresponse and server-sent-event streaming ending in data: [DONE]\n(Chat request,\nChat response). No\nbehavioural quirks are declared, so its integration is one JSON file\n(src/lib/providers/catalog/ai21.json) rather than hand-written code. That file\nis the source of truth for this page.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. AI21's GET /studio/v1/models answers 200 with an empty\ndata array without a key, so the model ids come from AI21's public docs\n(Jamba models page,\nretrieved 2026-09-29) and the roster has not been checked. No account was\ncreated and no API key was used to build this entry, and no POST request was\nsent. evidence.liveMatrix is null until someone runs the live capability\nmatrix with a real key (see Verification status\nbelow).","hierarchy":{"lvl0":"Getting Started","lvl1":"AI21 Labs Provider Guide","lvl2":"AI21 Labs Provider Guide","lvl3":""}},
5192
+ {"objectID":"938c56fb5be0601cbac13f32892a6181445bde8b1b655cc7946a5c8c26531485","title":"Key Facts","url":"/docs/getting-started/providers/ai21#key-facts","content":"Provider id: ai21\nProtocol: chat completions at POST https://api.ai21.com/studio/v1/chat/completions\n with model and messages, Bearer authentication\n (Chat request,\n Authentication)\nBase URL: https://api.ai21.com/studio/v1\nDefault model: jamba-large\nModels in catalog: 6 — the six ids named in the API Versioning list of the\n Jamba models page\nContext: the models page lists Max Tokens 256K for Jamba Large and Jamba\n Mini; the catalog stores the number 256,000 as a placeholder for that 256K\n label\nMax output: the Chat request page states \"For Jamba models, the maximum\n allowed value is 4096 tokens.\" for max_tokens\nStreaming: supported — the stream parameter is documented as \"Stream\n results one token at a time using server-sent events.\"\n (Chat request); the\n Chat response page says\n \"The final message will be data: [DONE].\"\nTool calling: true — the Function Calling\n page says \"Function calling is available for all Jamba models via the Chat\n Completions API.\"\nTools while streaming: false — the stream parameter text on the\n Chat request page says\n \"Must be False if using tools.\"\nStructured output: true, based on JSON mode — the Chat request page\n documents response_format: \"Setting it to { \"type\": \"json_object\" }\n activates JSON mode, ensuring the generated message adheres to valid JSON\n structure.\" NeuroLink's chat-completions client builds a json_schema\n response_format when a schema is supplied; that form was not sent to AI21\n because no POST request was sent.\nStructured output + tools together: false — no combined tools + schema\n request was sent\nEmbeddings: not declared (false)\nThinking: not declared (false)\nRate limits: the Rate Limits\n page lists Jamba Large and Jamba Mini at 10 RPS and 200 RPM on the AI21 Platform\nBilling: free-tier — see Billing below\nKey format: none declared (apiKeyFormat is null)","hierarchy":{"lvl0":"Getting Started","lvl1":"AI21 Labs Provider Guide","lvl2":"Key Facts","lvl3":""}},
5193
+ {"objectID":"b2bd7d5e38e1659d0e8a21c1c7aae2f572601d3be37c8a3c4f662281172fab5c","title":"1. Get an API key","url":"/docs/getting-started/providers/ai21#1-get-an-api-key","content":"Visit: https://docs.ai21.com/docs/create-api-key and follow its steps: sign in to AI21 Studio (the page says \"You can sign in using your email address, Google account, GitHub account, or SSO.\"), click Settings in the bottom-left corner of the sidebar, open the API Keys tab, then click Create new key\nCopy the key when it is shown; the page says \"you won’t be able to view it again\"\nFree trial: https://docs.ai21.com/docs/usage-cost says \"New accounts are given a $10 credit good for three months on the AI21 platform.\" and, once the trial is exceeded or expires, \"you must provide valid billing information in your account to continue using the AI21 platform\". https://www.ai21.com/pricing shows \"$10 credits for 7 days.\" and \"No credit card needed\" under Free Trial\nSet AI21_API_KEY in your .env file","hierarchy":{"lvl0":"Getting Started","lvl1":"AI21 Labs Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
5194
+ {"objectID":"7acc67677e6ece0f3ca9a1792bfbf40997f78aeffaecf4bcf4c79c1a95dd2bf8","title":"3. Use it","url":"/docs/getting-started/providers/ai21#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"AI21 Labs Provider Guide","lvl2":"3. Use it","lvl3":""}},
5195
+ {"objectID":"466971aa4b3f50c2f08ee74ec0c4ce677376354633a1e3d002271e02e7cb479a","title":"CLI","url":"/docs/getting-started/providers/ai21#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider ai21\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"ai21\",\n credentials: { ai21: { apiKey: process.env.AI21APIKEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"AI21 Labs Provider Guide","lvl2":"CLI","lvl3":""}},
5196
+ {"objectID":"832007de12d46923beec0828678fc61ede007a8d17f2f89f109dbfe9b1a61030","title":"Billing","url":"/docs/getting-started/providers/ai21#billing","content":"AI21's docs and website state different free-trial durations:\nPricing (docs): \"New accounts are\n given a $10 credit good for three months on the AI21 platform.\" After the\n trial is exceeded or expires, \"you must provide valid billing information in\n your account to continue using the AI21 platform.\"\nPricing page (website): \"Start with a free\n trial, no credit card required, then pay based on usage.\" Under Free Trial it\n lists \"$10 credits for 7 days.\" and \"No credit card needed\".\n\nThe entry records free-tier. The\nAccount page says \"You will\nneed to provide billing information when your introductory usage credits\nexpire.\"","hierarchy":{"lvl0":"Getting Started","lvl1":"AI21 Labs Provider Guide","lvl2":"Billing","lvl3":""}},
5197
+ {"objectID":"45fc12b3692adf60c2c1737e1145b8d65299c66454976c916da81cd07f1e812c","title":"Models","url":"/docs/getting-started/providers/ai21#models","content":"| Model | Context | Max output | Vision | $/M in · out | Notes |\n| ------------------------- | ------- | ---------- | ------ | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| jamba-large ⭐ | 256K | 4,096 | no | $2 / $8 | NeuroLink default. The models page: \"Our most powerful and advanced model, designed to handle complex tasks at enterprise scale with superior performance.\" |\n| jamba-mini | 256K | 4,096 | no | $0.2 / $0.4 | NeuroLink fallback. The pricing page: \"Efficient & lightweight model for a wide range of tasks\". |\n| jamba-large-1.7-2025-07 | 256K | 4,096 | no | — | Dated snapshot of Jamba Large (Version 1.7, Snapshot 2025-07); jamba-large currently points to it. |\n| jamba-mini-2-2026-01 | 256K | 4,096 | no | — | Dated snapshot of Jamba Mini (Version 2, Snapshot 2026-01); jamba-mini currently points to it. |\n| jamba-large-1.7 | 256K | 4,096 | no | — | Version name; points to jamba-large-1.7-2025-07. |\n| jamba-mini-2 | 256K | 4,096 | no | — | Version name; points to jamba-mini-2-2026-01. |\n\nPrices for jamba-large and jamba-mini come from\nAI21's pricing page (\"Jamba Large\" at $2 / 1M\ninput tokens and $8 / 1M output tokens; \"Jamba","hierarchy":{"lvl0":"Getting Started","lvl1":"AI21 Labs Provider Guide","lvl2":"Models","lvl3":""}},
5198
+ {"objectID":"9b1a59effd733fd5dfd8e954954e5ba5a582f9e3071dfac8c148adccc6269e10","title":"Verification status","url":"/docs/getting-started/providers/ai21#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the catalog\ncurrently records for AI21 Labs — docs-verified only, not live-verified:\n\n| Probe | Result |\n| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET /studio/v1/models, HTTP 200, body {\"data\":[]}, 2026-09-29 — no key used; model ids come from the Jamba models page, not from the API |\n| Chat endpoint | unauthenticated GET /studio/v1/chat/completions, HTTP 405, body {\"detail\":\"Method Not Allowed\"}, heade","hierarchy":{"lvl0":"Getting Started","lvl1":"AI21 Labs Provider Guide","lvl2":"Verification status","lvl3":""}},
5199
+ {"objectID":"3a055aa25a83e4b2904cb8752ffc7d61f52a75eaffcdad4749cc483e15e46ff9","title":"Troubleshooting","url":"/docs/getting-started/providers/ai21#troubleshooting","content":"| Symptom | Cause | Fix |\n| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |\n| HTTP 401 | The Chat response page documents 401 as \"Unauthorized (Incorrect API key provided/Invalid Authentication)\" | The Authentication page says to use your API key as the Bearer token; NeuroLink reads it from AI21_API_KEY |\n| HTTP 429 | The Chat response page documents 429 as \"Too Many Requests (You are sending requests too quickly.)\" | The Rate Limits page lists 10 RPS and 200 RPM for Jamba Large and Jamba Mini and says to contact sales@ai21.com if you require a higher limit |\n| HTTP 503 | The Chat response page documents 503 as \"Service Unavailable (The engine is currently overloaded, please try again later)\" | The same text says \"please try again later\" |\n| Trial credit exceeded or expired | The usage-cost page: \"you must provide valid billing information in your account to continue using the AI21 platform\" | Add billing information in your account; the page points to Account > Billing & Plans |","hierarchy":{"lvl0":"Getting Started","lvl1":"AI21 Labs Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
5200
+ {"objectID":"0161a0279d724c3934c03c4c874c5da63bfd19a8032e5c4bea78585f6ead572c","title":"See also","url":"/docs/getting-started/providers/ai21#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"AI21 Labs Provider Guide","lvl2":"See also","lvl3":""}},
5190
5201
  {"objectID":"f8b0b82e9988f8793328b85bd1df65343043e48875a77551c92ba02911beda9f","title":"ai& Provider Guide","url":"/docs/getting-started/providers/aiand","content":"ai& Provider Guide\n\nai& is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/aiand.json) rather than hand-written code. That\nfile is the source of truth for everything on this page.\n\nVerification status: docs- and roster-verified, not yet live-verified.\nEvery claim on this page comes from ai&'s own public documentation\n(https://docs.aiand.com/) and an unauthenticated GET /v1/models call —\nno API key was created or used, and no chat/stream/tool-call request was\never sent. Treat capability flags as \"documented\", not \"proven against a\nlive response\". See Verification status below.\n\nKey Facts\nProvider id: aiand\nProtocol: OpenAI-compatible (/v1/chat/completions); also exposes an\n Anthropic-shaped /v1/messages, a /v1/responses endpoint, and legacy\n /v1/completions\nBase URL: https://api.aiand.com/v1\nDefault model: openai/gpt-oss-120b (the model used in ai&'s own\n quickstart example)\nModels in catalog: 11\nStreaming: documented (SSE, stream: true, data: [DONE] terminal\n event)\nTool calling: documented (OpenAI tools / tool_choice /\n parallel_tool_calls, gated per-model on a tool_calling capability flag\n — all 11 current models have it)\nStructured output: documented — response_format: json_object (JSON\n mode) and response_format: json_schema with strict: true. Combined\n tools + response_format in the same request was not probed (no key\n used), so structuredOutputWithTools is false.\nThinking / reasoning effort: documented — a reasoning_effort request\n parameter whose accepted values are per-model (read from each model's\n reasoning_efforts in GET /v1/models)\nEmbeddings: not documented — no embeddings endpoint appears anywhere in\n the docs navigation\nBilling: no free tier — prepaid credits only, purchased via Stripe\n Checkout; a zero balance returns HTTP 402\nKey format: keys start with sk-; no further pattern documented\n\nQuick Start\nGet an API key\nVisit: https://console.aiand.com/playground and sign in (Google, GitHub, or a magic-link email — https://docs.aiand.com/authentication/)\nCreate an organization API key under Organizations → API Keys (https://docs.aiand.com/organizations/api-keys/) — shown in full only once, and starts with sk-\nai& is prepaid only, no free tier: add credits via Stripe Checkout before making requests (https://docs.aiand.com/billing/credits/) — a zero balance returns HTTP 402 until credits are added\nSet AIAND_API_KEY in your .env file\nConfigure\nUse it\n\nPer-request credentials work as they do for every provider:\n\nModels\n\n| Model | Context | Vision | $/M in · out · cached | Notes |\n| ------------------------------- | ------- | ----------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |\n| openai/gpt-oss-120b ⭐ | 131K | no | $0.15 / $0.60 / $0.08 | Default — the model in ai&'s own quickstart example. Cheapest on the roster. reasoning_effort: low/medium/high (default medium). |\n| zai-org/glm-5.3 | 1M | no | $1.00 / $4.00 / $0.30 | \"Flagship GLM model for long-horizon coding, agents, and complex project delivery.\" reasoning_effort: low/high/max (default max). |\n| zai-org/glm-5.2 | 1M | no | $1.00 / $4.00 / $0.30 | Prior GLM generation. reasoning_effort: none/high/max (default max). |\n| deepseek-ai/deepseek-v4-pro | 1M | no | $1.00 / $2.50 / $0.25 | \"Open MoE flagship with million-token context for coding and long agent runs.\" reasoning_effort: none/high/max (default none). |\n| deepseek-ai/deepseek-v4-flash | 1M | no | $0.15 / $0.25 / $0.08 | \"Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work.\" reasoning_effort: none/high/max (default none). |\n| moonshotai/kimi-k3 | 1M | listed (see note) | $3.00 / $12.50 / $0.50 | \"Multimodal Kimi model with 1M context and toggleable max-effort thinking.\" reasoning_effort: low/high/max (default max). |\n| moonshotai/kimi-k2.7-code | 262K | listed (see note) | $0.75 / $3.50 / $0.20 | Coding-focused Kimi model. reasoning_effort: high only. |\n| qwen/qwen3.8-27b | 262K | listed (see note) | $0.40 / $3.00 / $0.20 | Dense 27B vision-language model. reasoning_effort: none/low/medium/xhigh (default medium). |\n| qwen/qwen3.6-27b | 262K | listed (see note) | $0.32 / $3.20 / $0.20 | Qwen vision-language model. reasoning_effort: none/high (default high). ","hierarchy":{"lvl0":"Getting Started","lvl1":"ai& Provider Guide","lvl2":"","lvl3":""}},
5191
5202
  {"objectID":"7c0565e4aa0978e3b01ebff3b3698776cbce795be8ee9cf17583d4830f764b78","title":"ai& Provider Guide","url":"/docs/getting-started/providers/aiand#ai-provider-guide","content":"ai& is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/aiand.json) rather than hand-written code. That\nfile is the source of truth for everything on this page.\n\nVerification status: docs- and roster-verified, not yet live-verified.\nEvery claim on this page comes from ai&'s own public documentation\n(https://docs.aiand.com/) and an unauthenticated GET /v1/models call —\nno API key was created or used, and no chat/stream/tool-call request was\never sent. Treat capability flags as \"documented\", not \"proven against a\nlive response\". See Verification status below.","hierarchy":{"lvl0":"Getting Started","lvl1":"ai& Provider Guide","lvl2":"ai& Provider Guide","lvl3":""}},
5192
5203
  {"objectID":"afa4903fe525a05133d5563a9a48df9becbe8b28ceb1705fd3cf7fc869b4428e","title":"Key Facts","url":"/docs/getting-started/providers/aiand#key-facts","content":"Provider id: aiand\nProtocol: OpenAI-compatible (/v1/chat/completions); also exposes an\n Anthropic-shaped /v1/messages, a /v1/responses endpoint, and legacy\n /v1/completions\nBase URL: https://api.aiand.com/v1\nDefault model: openai/gpt-oss-120b (the model used in ai&'s own\n quickstart example)\nModels in catalog: 11\nStreaming: documented (SSE, stream: true, data: [DONE] terminal\n event)\nTool calling: documented (OpenAI tools / tool_choice /\n parallel_tool_calls, gated per-model on a tool_calling capability flag\n — all 11 current models have it)\nStructured output: documented — response_format: json_object (JSON\n mode) and response_format: json_schema with strict: true. Combined\n tools + response_format in the same request was not probed (no key\n used), so structuredOutputWithTools is false.\nThinking / reasoning effort: documented — a reasoning_effort request\n parameter whose accepted values are per-model (read from each model's\n reasoning_efforts in GET /v1/models)\nEmbeddings: not documented — no embeddings endpoint appears anywhere in\n the docs navigation\nBilling: no free tier — prepaid credits only, purchased via Stripe\n Checkout; a zero balance returns HTTP 402\nKey format: keys start with sk-; no further pattern documented","hierarchy":{"lvl0":"Getting Started","lvl1":"ai& Provider Guide","lvl2":"Key Facts","lvl3":""}},
@@ -5197,6 +5208,17 @@
5197
5208
  {"objectID":"dede906f39b1aab3cd4d473c673a58e0cd94b1a2439c1ed0f95b4bfe69a159b9","title":"Verification status","url":"/docs/getting-started/providers/aiand#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This entry was built\nwithout credentials, from ai&'s public documentation and one\nunauthenticated GET request — no signup, no API key, no POST request to the\nvendor was made. This is what the catalog records for ai&:\n\n| Probe | Result |\n| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET https://api.aiand.com/v1/models, HTTP 200, 2026-09-28 — 11 models, cross-checked against /models/catalog/ and /models/pricing/ |\n| Auth rejection | not probed — sending any request (even with an invalid key) is outside credential-free scope; the 401 authentication_error / invalid_api_key shape in errorRules is transcribed from https://docs.aiand.com/errors/","hierarchy":{"lvl0":"Getting Started","lvl1":"ai& Provider Guide","lvl2":"Verification status","lvl3":""}},
5198
5209
  {"objectID":"610bc3c08abb0c68f7555c03f9ffa0f70796511deaa63074d3d830462ff11778","title":"Troubleshooting","url":"/docs/getting-started/providers/aiand#troubleshooting","content":"| Symptom | Cause | Fix |\n| -------------------------------------------- | ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |\n| Invalid ai& API key | AIAND_API_KEY unset or wrong | Check the key at https://console.aiand.com/playground |\n| HTTP 402 / insufficient credits | ai& is prepaid-only with no free tier | Add credits via Stripe Checkout at https://docs.aiand.com/billing/credits/ |\n| 429 rate limited | Documented per-key/per-org rate limits | Check the X-RateLimit-Policy response header and back off |\n| tools request rejected on a non-tool model | The chosen model lacks the tool_calling capability | Pick a model whose GET /v1/models entry lists tool_calling (all 11 catalog models currently do) |\n| Vision request fails or is ignored | ai& expects images/video via the Files API (file_id), not inline image_url data URIs | Not yet supported by this integration in the standard NeuroLink flow — treat vision as unverified for now |","hierarchy":{"lvl0":"Getting Started","lvl1":"ai& Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
5199
5210
  {"objectID":"94b72784faebfc54930095e3c6099a7fb4d8671bd7f782367925748c4a7ee468","title":"See also","url":"/docs/getting-started/providers/aiand#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"ai& Provider Guide","lvl2":"See also","lvl3":""}},
5211
+ {"objectID":"2eca47ffbe33f5fed3f6199fb9304b9a8208f0b11393abee0b29a831c96c8539","title":"Aion Labs Provider Guide","url":"/docs/getting-started/providers/aionlabs","content":"Aion Labs Provider Guide\n\nAion Labs is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/aionlabs.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. Every field below comes from Aion Labs' own public\ndocumentation and an unauthenticated GET /v1/models call — no account was\ncreated and no API key was used to build it. evidence.liveMatrix is null\nuntil someone runs the live capability matrix with a real key (see\nVerification status below).\n\nKey Facts\nProvider id: aionlabs\nProtocol: OpenAI-compatible (/chat/completions) — the docs say the\n API is \"Drop-in compatible with OpenAI's Chat API\"\n (https://www.aionlabs.ai/docs/)\nBase URL: https://api.aionlabs.ai/v1\nDefault model: aion-labs/aion-3.5\nModels in catalog: 6 (the whole roster — the live GET /v1/models call\n returned exactly 6, all text->text)\nModel focus: the docs models page (https://www.aionlabs.ai/docs/models/)\n describes Aion 2.0 and Aion-RP as \"optimized for immersive roleplaying and\n storytelling\", and the other four (Aion 3.0, 3.0 Mini, 3.5, 3.5 Mini) as\n giving stronger narrative structure, more compelling tension and conflict,\n and a nuanced treatment of mature and darker themes. The homepage\n (https://www.aionlabs.ai/) describes the API as for creative writing,\n roleplay, research and production workloads. None is described as\n vision-capable.\nStreaming: supported — the API reference documents stream: true with\n text/event-stream deltas ending in data: [DONE]\nTool calling: model-dependent — the API reference documents tools\n \"in OpenAI format\", tool_calls and role: tool messages, but has no\n per-model support table, so nothing says every model handles them\nStructured output: not declared (false) — the request-body table in\n the API reference lists no response_format parameter. generate({ schema })\n still returns parsed structuredData through NeuroLink's client-side JSON\n coercion.\nStructured output + tools together: not declared (false) — no\n combined probe was possible without credentials\nTools + streaming: false — not live-verified. The API reference\n (https://www.aionlabs.ai/docs/api-reference/) describes\n POST /v1/chat/completions as \"OpenAI-compatible chat completions. Supports\n streaming and tool calls.\"\nThinking: not declared (false) — five of the six models reason and\n the API accepts a reasoning_effort parameter, but the generic catalog\n provider does not send it, so NeuroLink's thinkingLevel is not mapped\n onto it (see Reasoning models)\nEmbeddings: not declared — the docs list only chat completions,\n /v1/responses and model discovery\nBilling: free-tier — the public pricing page offers a Free Tier with\n \"A daily credit allowance … No card required.\"\nKey format: none declared by Aion Labs\n\nQuick Start\nGet an API key\nVisit: https://www.aionlabs.ai/accounts/signup/ and sign up (GitHub, Google or email)\nCreate an API key from the dashboard's API keys page (https://www.aionlabs.ai/app/api-keys/, sign-in required) and copy it when it is shown\nFree tier: the pricing page (https://www.aionlabs.ai/pricing/) offers a daily credit allowance with no card required; free-tier limits are 15 requests/min, 20,000 tokens/min and 20,000 tokens/day (https://www.aionlabs.ai/docs/rate-limits/)\nSet AIONLABS_API_KEY in your .env file\n\nWhether a brand-new free account can create a key immediately, or waits on\nmanual approval (the site header also carries a \"Request Access\" button), was\nnot tested — no signup was performed to build this entry.\nConfigure\nUse it\n\nPer-request credentials work as they do for every provider:\n\nModels\n\n| Model | Context | Vision | $/M in · out | Notes |\n| -------------------------------- | ------- | ------ | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| aion-labs/aion-3.5 ⭐ | 262,144 | no | $3.00 / $6.00 (cached $0.75) | Recommended — the model every request example on Aion Labs' quickstart uses; released 2026-09-23, the latest release date on the roster (shared with 3.5 Mini); GLM-family multi-model system. |\n| aion-labs/aion-3.5-mini | 262,144 | no | $0.70 / $1.40 (cached $0.18) | Released 2026-09-23; GLM-family multi-model system; roster-listed only; fallback. |\n| aion-labs/aion-3.0 | 131,072 | no | $3.00 / $6.00 (cached $0.75) | Relea","hierarchy":{"lvl0":"Getting Started","lvl1":"Aion Labs Provider Guide","lvl2":"","lvl3":""}},
5212
+ {"objectID":"96f1ffd25992343c0464d6abceb9acf88cdae76b2cc8cea6efca9520736087cf","title":"Aion Labs Provider Guide","url":"/docs/getting-started/providers/aionlabs#aion-labs-provider-guide","content":"Aion Labs is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/aionlabs.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. Every field below comes from Aion Labs' own public\ndocumentation and an unauthenticated GET /v1/models call — no account was\ncreated and no API key was used to build it. evidence.liveMatrix is null\nuntil someone runs the live capability matrix with a real key (see\nVerification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"Aion Labs Provider Guide","lvl2":"Aion Labs Provider Guide","lvl3":""}},
5213
+ {"objectID":"87fc6b68a1a5c2ec225c9b722ccef936abbecf3887b7b53577111381fe29f56c","title":"Key Facts","url":"/docs/getting-started/providers/aionlabs#key-facts","content":"Provider id: aionlabs\nProtocol: OpenAI-compatible (/chat/completions) — the docs say the\n API is \"Drop-in compatible with OpenAI's Chat API\"\n (https://www.aionlabs.ai/docs/)\nBase URL: https://api.aionlabs.ai/v1\nDefault model: aion-labs/aion-3.5\nModels in catalog: 6 (the whole roster — the live GET /v1/models call\n returned exactly 6, all text->text)\nModel focus: the docs models page (https://www.aionlabs.ai/docs/models/)\n describes Aion 2.0 and Aion-RP as \"optimized for immersive roleplaying and\n storytelling\", and the other four (Aion 3.0, 3.0 Mini, 3.5, 3.5 Mini) as\n giving stronger narrative structure, more compelling tension and conflict,\n and a nuanced treatment of mature and darker themes. The homepage\n (https://www.aionlabs.ai/) describes the API as for creative writing,\n roleplay, research and production workloads. None is described as\n vision-capable.\nStreaming: supported — the API reference documents stream: true with\n text/event-stream deltas ending in data: [DONE]\nTool calling: model-dependent — the API reference documents tools\n \"in OpenAI format\", tool_calls and role: tool messages, but has no\n per-model support table, so nothing says every model handles them\nStructured output: not declared (false) — the request-body table in\n the API reference lists no response_format parameter. generate({ schema })\n still returns parsed structuredData through NeuroLink's client-side JSON\n coercion.\nStructured output + tools together: not declared (false) — no\n combined probe was possible without credentials\nTools + streaming: false — not live-verified. The API reference\n (https://www.aionlabs.ai/docs/api-reference/) describes\n POST /v1/chat/completions as \"OpenAI-compatible chat completions. Supports\n streaming and tool calls.\"\nThinking: not declared (false) — five of the six models reason and\n the API accepts a reasoning_effort parameter, but the generic catalog\n provider does not send it, so NeuroLink's thinkingLevel is not mapped\n onto it (s","hierarchy":{"lvl0":"Getting Started","lvl1":"Aion Labs Provider Guide","lvl2":"Key Facts","lvl3":""}},
5214
+ {"objectID":"b6b6d0b26a46e2583ea3150e47412bc5520da620ccfae51fe1c15acf77a172bf","title":"1. Get an API key","url":"/docs/getting-started/providers/aionlabs#1-get-an-api-key","content":"Visit: https://www.aionlabs.ai/accounts/signup/ and sign up (GitHub, Google or email)\nCreate an API key from the dashboard's API keys page (https://www.aionlabs.ai/app/api-keys/, sign-in required) and copy it when it is shown\nFree tier: the pricing page (https://www.aionlabs.ai/pricing/) offers a daily credit allowance with no card required; free-tier limits are 15 requests/min, 20,000 tokens/min and 20,000 tokens/day (https://www.aionlabs.ai/docs/rate-limits/)\nSet AIONLABS_API_KEY in your .env file\n\nWhether a brand-new free account can create a key immediately, or waits on\nmanual approval (the site header also carries a \"Request Access\" button), was\nnot tested — no signup was performed to build this entry.","hierarchy":{"lvl0":"Getting Started","lvl1":"Aion Labs Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
5215
+ {"objectID":"12ad83c6d52b8fedb6db6e98eac3b29cd9d375f81b9afb5fa4974dd062057d7f","title":"3. Use it","url":"/docs/getting-started/providers/aionlabs#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Aion Labs Provider Guide","lvl2":"3. Use it","lvl3":""}},
5216
+ {"objectID":"bffed950d734492bb7a8bb9ba9c529afa3162aa79e60e61656ff9d43c63e923c","title":"CLI","url":"/docs/getting-started/providers/aionlabs#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider aionlabs --max-tokens 4096\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"aionlabs\",\n credentials: { aionlabs: { apiKey: process.env.AIONLABSAPIKEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Aion Labs Provider Guide","lvl2":"CLI","lvl3":""}},
5217
+ {"objectID":"3cc8b3443b8c1e96bcc6828cdfba85411cdbcaf23f5bc18ad1c16e997928027e","title":"Models","url":"/docs/getting-started/providers/aionlabs#models","content":"| Model | Context | Vision | $/M in · out | Notes |\n| -------------------------------- | ------- | ------ | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| aion-labs/aion-3.5 ⭐ | 262,144 | no | $3.00 / $6.00 (cached $0.75) | Recommended — the model every request example on Aion Labs' quickstart uses; released 2026-09-23, the latest release date on the roster (shared with 3.5 Mini); GLM-family multi-model system. |\n| aion-labs/aion-3.5-mini | 262,144 | no | $0.70 / $1.40 (cached $0.18) | Released 2026-09-23; GLM-family multi-model system; roster-listed only; fallback. |\n| aion-labs/aion-3.0 | 131,072 | no | $3.00 / $6.00 (cached $0.75) | Released 2026-05-05; GLM-family multi-model system; roster-listed only. |\n| aion-labs/aion-3.0-mini | 131,072 | no | $0.70 / $1.40 (cached $0.18) | Released 2026-05-14; DeepSeek-family multi-model system; roster-listed only; fallback. |\n| aion-labs/aion-2.0 | 131,072 | no | $0.80 / $1.60 (cached $0.20) | Variant of DeepSeek V3.2 for roleplay and storytelling (2025-12-21); roster-listed only; fallback. |\n| aion-labs/aion-rp-llama-3.1-8b | 32,768 | no ","hierarchy":{"lvl0":"Getting Started","lvl1":"Aion Labs Provider Guide","lvl2":"Models","lvl3":""}},
5218
+ {"objectID":"d48def553b346e1a756dc58d9b5efc592388f17084b6811cb89523c8426fb6c4","title":"Reasoning models","url":"/docs/getting-started/providers/aionlabs#reasoning-models","content":"The five aion-3.x and aion-2.0 models are tagged \"Reasoning\" on the docs\nmodels page and reasoning: true on the roster; aion-rp-llama-3.1-8b is not.\nThe API reference (https://www.aionlabs.ai/docs/api-reference/) documents two\nbehaviours that matter when you call them through NeuroLink:\nReasoning shares the max_tokens budget. Reasoning is generated first,\n so a cap exhausted during reasoning returns finish_reason=length with\n empty content. Give these models a generous maxTokens; it is a ceiling,\n not a reservation, and unused budget is not billed.\nreasoning_effort differs by generation. aion-3.5 and aion-3.5-mini\n accept exactly low, high (default) or max and cannot have reasoning\n disabled — any other value returns a 400. aion-2.0, aion-3.0 and\n aion-3.0-mini also accept none and medium (default medium).\n\nNeuroLink's catalog provider does not send reasoning_effort, so the vendor\ndefaults apply.","hierarchy":{"lvl0":"Getting Started","lvl1":"Aion Labs Provider Guide","lvl2":"Reasoning models","lvl3":""}},
5219
+ {"objectID":"f853e1eb082e21b953e71ef4c98cbe0f7e9024fb764ce2c645c61261a89adf69","title":"Verification status","url":"/docs/getting-started/providers/aionlabs#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for Aion Labs — docs- and roster-verified, not\nlive-verified:\n\n| Probe | Result |\n| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET /v1/models, HTTP 200, 6 models, 2026-09-29 — no key used |\n| Billing | public pricing page states a Free Tier (\"A daily credit allowance … No card required.\"); the rate-limits page lists Free as the default tier on signup, 2026-09-29. No signup was performed, so key issuance for a fresh account is unconfirmed |\n| Auth-failure shape | not documented — the API reference's error table lists only 400 invalid_request_error, 429 rate_limit_error and 502 server_error, and no credentialed request was made. The only errorRules entry is the documented 429; 401s use the default classifier |\n| Tools / structured output | tools are documented on the API reference but not per model and were not exercised live; no response_format parameter is documented, so structuredOutput is false; no combined tools+schema request was sent — structuredOutputWithTools stays false |\n| Live capability sweep | not run. evidence.liveMatri","hierarchy":{"lvl0":"Getting Started","lvl1":"Aion Labs Provider Guide","lvl2":"Verification status","lvl3":""}},
5220
+ {"objectID":"d7f1ab7950865be41643c2e877ae87ae51899092a6a73f74f1020f9fe8f730a7","title":"Troubleshooting","url":"/docs/getting-started/providers/aionlabs#troubleshooting","content":"| Symptom | Cause | Fix |\n| --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |\n| Empty content with finish_reason=length | The max_tokens cap was used up by reasoning before any visible answer | Raise maxTokens; on the 3.5 models reasoning cannot be turned off |\n| HTTP 429 rate_limit_error | Usage limit exceeded — free tier is 15 requests/min, 20,000 tokens/min and 20,000 tokens/day | Wait, or top up credits to reach a higher tier (https://www.aionlabs.ai/docs/rate-limits/) |\n| HTTP 524 on a long request | Non-streaming responses must complete within 125 seconds; generation still finishes and is billed | Use streaming for large maxTokens, reasoning models and very long prompts |\n| HTTP 400 invalid_request_error | Unknown model or malformed request; an unsupported reasoning_effort value also returns 400 | Pick a current id from the unauthenticated GET /v1/models roster |\n| HTTP 502 server_error | Temporary server-side error | Retry the request |\n| Structured output ignored with","hierarchy":{"lvl0":"Getting Started","lvl1":"Aion Labs Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
5221
+ {"objectID":"8bf889679299985b4960e54965fe3663c5f1aa1351feed28d3f9aea1f8f0dbed","title":"See also","url":"/docs/getting-started/providers/aionlabs#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Aion Labs Provider Guide","lvl2":"See also","lvl3":""}},
5200
5222
  {"objectID":"96828acafa99097d5580b5c7cbf8e0f62767b1be880dab7399a495013c4fe104","title":"Ambient Provider Guide","url":"/docs/getting-started/providers/ambient","content":"Ambient Provider Guide\n\nAmbient is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/ambient.json) rather than hand-written code. That\nfile is the source of truth for everything on this page.\n\nVerification status: docs- and roster-verified, not yet live-verified.\nThis entry was built entirely from Ambient's public docs pages and an\nunauthenticated GET /v1/models call — no API key was used or created.\ncapabilities.tools and capabilities.structuredOutput come from the live\nroster's own self-reported supported_features field; the combined\ncapabilities (structuredOutputWithTools, toolsWithStreaming) are\ndeliberately left false because no live POST request was possible without\ncredentials. evidence.liveMatrix is null until someone runs the real\ncapability sweep with a working key.\n\nKey Facts\nProvider id: ambient\nProtocol: OpenAI- and Anthropic-compatible (/chat/completions)\nBase URL: https://api.ambient.xyz/v1\nDefault model: ambient/large (a vendor-managed alias; see Models)\nModels in catalog: 4\nStreaming: documented (SSE, \"stream\": true, standard\n chat.completion.chunk objects)\nTool calling: documented via the live roster's supported_features\n (tools) on all 4 models — not yet live-probed end to end\nStructured output: documented via the live roster's supported_features\n (json_mode, structured_outputs) on all 4 models — not yet live-probed\nEmbeddings: not documented\nBilling: no free tier — cheapest plan is Starter at $1/mo\nKey format: none declared\n\nQuick Start\nGet an API key\nVisit: https://app.ambient.xyz and sign in\nClick \"Get API key\" to create a key\nAmbient has no free tier — the cheapest option is the $1/mo Starter plan (https://ambient.xyz/pricing); confirm current billing terms before use\nSet AMBIENT_API_KEY in your .env file\nConfigure\nUse it\n\nPer-request credentials work as they do for every provider:\n\nModels\n\n| Model | Context | Max out | Vision | $/M in · out (cached in) | Notes |\n| ------------------ | ------- | ------- | ------ | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ambient/large ⭐ | 198K | 198K | no | $0.60 / $2.00 ($0.15) | Recommended — the model id used in every example in Ambient's own docs. A vendor-managed alias that today mirrors z-ai/glm-5.2; its specs \"mirror whatever concrete model it currently points to.\" |\n| z-ai/glm-5.2 | 198K | 198K | no | $0.60 / $2.00 ($0.15) | The concrete model ambient/large currently aliases. Docs call it \"the supported production model.\" Fallback pinned to a stable id. |\n| qwen/qwen3.6-27b | 32K | 8K | yes | $0.32 / $3.20 ($0.16) | Natively multimodal (text + image), 27B dense. Docs mark non-GLM-5.2 entries as possible previews with no guarantees. Used as visionModel. |\n| qwen/qwen3.8-27b | 32K | 8K | yes | $0.32 / $3.20 ($0.16) | Roster description also claims \"video\" input, but the live roster's input_modalities lists only text/image, so no video support is declared here. Preview. |\n\nContext/output/pricing are taken from the unauthenticated\nGET https://api.ambient.xyz/v1/models response (2026-09-28) and cross-checked\nagainst Ambient's own docs models page, which shows the same numbers rounded\n(e.g. \"198K\" for 202,752 tokens).\n\nFallback order when the default is unavailable: z-ai/glm-5.2 →\nqwen/qwen3.6-27b → qwen/qwen3.8-27b.\n\nVerification status\n\nTier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog records for Ambient — and, just as importantly, what it does not\nyet record:\n\n| Probe | Result |\n| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster ","hierarchy":{"lvl0":"Getting Started","lvl1":"Ambient Provider Guide","lvl2":"","lvl3":""}},
5201
5223
  {"objectID":"45adf6208ab4d1cd8e7ecf8ffaf1473bf7983839810f08267c26e2909e7ac70f","title":"Ambient Provider Guide","url":"/docs/getting-started/providers/ambient#ambient-provider-guide","content":"Ambient is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/ambient.json) rather than hand-written code. That\nfile is the source of truth for everything on this page.\n\nVerification status: docs- and roster-verified, not yet live-verified.\nThis entry was built entirely from Ambient's public docs pages and an\nunauthenticated GET /v1/models call — no API key was used or created.\ncapabilities.tools and capabilities.structuredOutput come from the live\nroster's own self-reported supported_features field; the combined\ncapabilities (structuredOutputWithTools, toolsWithStreaming) are\ndeliberately left false because no live POST request was possible without\ncredentials. evidence.liveMatrix is null until someone runs the real\ncapability sweep with a working key.","hierarchy":{"lvl0":"Getting Started","lvl1":"Ambient Provider Guide","lvl2":"Ambient Provider Guide","lvl3":""}},
5202
5224
  {"objectID":"8f5c438173208e984cb423d8d9cff3d7d738129cba33bb6fda5e373b52d42afc","title":"Key Facts","url":"/docs/getting-started/providers/ambient#key-facts","content":"Provider id: ambient\nProtocol: OpenAI- and Anthropic-compatible (/chat/completions)\nBase URL: https://api.ambient.xyz/v1\nDefault model: ambient/large (a vendor-managed alias; see Models)\nModels in catalog: 4\nStreaming: documented (SSE, \"stream\": true, standard\n chat.completion.chunk objects)\nTool calling: documented via the live roster's supported_features\n (tools) on all 4 models — not yet live-probed end to end\nStructured output: documented via the live roster's supported_features\n (json_mode, structured_outputs) on all 4 models — not yet live-probed\nEmbeddings: not documented\nBilling: no free tier — cheapest plan is Starter at $1/mo\nKey format: none declared","hierarchy":{"lvl0":"Getting Started","lvl1":"Ambient Provider Guide","lvl2":"Key Facts","lvl3":""}},
@@ -5285,6 +5307,28 @@
5285
5307
  {"objectID":"a829c7ea7d755ed69e4f2fd66b9b4181706ea927fafe747aff052ff1694e3208","title":"Verification status","url":"/docs/getting-started/providers/api-route#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog records for API Route:\n\n| Probe | Result |\n| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | authenticated GET /v1/models, HTTP 200, 2026-09-17 |\n| Auth rejection | HTTP 401, 2026-09-17 |\n| Live capability sweep | 2026-09-17 — Verified live against https://global.api-route.com/v1: GET /v1/models returned 70 models. Chat completions, streaming, function calling, streamed function calling, and structured JSON output (jsonobject and jsonschema) |","hierarchy":{"lvl0":"Getting Started","lvl1":"API Route Provider Guide","lvl2":"Verification status","lvl3":""}},
5286
5308
  {"objectID":"bc92ecfff94022bb7ac65c46d0f0420c49b1d1aa6ad44d3ddbd10aca4cb2808f","title":"Troubleshooting","url":"/docs/getting-started/providers/api-route#troubleshooting","content":"| Symptom | Cause | Fix |\n| --------------------------- | ----------------------------------- | ----------------------------------------------------------------- |\n| Invalid API Route API key | API_ROUTE_API_KEY unset or wrong | Check the key at https://api-route.com |\n| Model not found | The roster changed since 2026-09-17 | Pick a current id; catalog providers retire models without notice |","hierarchy":{"lvl0":"Getting Started","lvl1":"API Route Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
5287
5309
  {"objectID":"7bc9dfff71486ee8ef56b766b5763a939281319919c770f077801f72de82566e","title":"See also","url":"/docs/getting-started/providers/api-route#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"API Route Provider Guide","lvl2":"See also","lvl3":""}},
5310
+ {"objectID":"2b53ae5d3ad0ee42ef2f6b71b622281914c1d1248ca4cb70e4abb74f3d154426","title":"Atlas Cloud Provider Guide","url":"/docs/getting-started/providers/atlas-cloud","content":"Atlas Cloud Provider Guide\n\nAtlas Cloud is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/atlas-cloud.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. Every field below comes from Atlas Cloud's own public\ndocumentation and an unauthenticated GET /v1/models call — no account was\ncreated and no API key was used to build it. evidence.liveMatrix is null\nuntil someone runs the live capability matrix with a real key (see\nVerification status below).\n\nKey Facts\nProvider id: atlas-cloud\nProtocol: OpenAI-compatible (POST /v1/chat/completions, Bearer auth) —\n Atlas Cloud's LLM API Protocols page\n (docs/llm-protocols) also\n lists Anthropic Messages, Responses and Gemini formats on the same base URL;\n NeuroLink uses only the chat-completions one\nBase URL: https://api.atlascloud.ai/v1 (the /v1 suffix is required —\n docs/models/llm)\nDefault model: deepseek-ai/deepseek-v3.2 — Atlas Cloud is an\n aggregator with no single house model; this is the model its own\n chat-completions, Anthropic-Messages and Responses examples all use\nModels in catalog: 10 (curated from a 120-model live roster)\nStreaming: supported — the LLM / Chat page states the API \"supports both\n streaming and non-streaming modes\"\nTool calling: model-dependent — the docs say tools, tool_choice and\n parallel_tool_calls are passed through on models that advertise tools\nStructured output: supported — response_format accepts json_object\n and json_schema on models that advertise json_mode or\n structured_outputs; every model in this catalog advertises one of them\nStructured output + tools together: not declared (false) — no combined\n probe was run without credentials\nTool calls under streaming: not declared (false) — no page describes\n streamed tool-call deltas\nThinking: declared (true) — the default model carries the roster's\n reasoning feature and the protocols page documents normalised reasoning\n flags (enable_thinking, thinking.type, reasoning_effort: \"none\"); not\n exercised live\nEmbeddings: false — the protocols page lists /v1/embeddings under\n \"Not available\"\nBilling: no-free-tier is the conservative schema value, not a\n verified fact — see Billing below\nKey format: starts with apikey- (docs/llm-protocols)\n\nQuick Start\nGet an API key\nVisit: https://www.atlascloud.ai/login and sign up or sign in (Google, GitHub, or email and password — one page handles both, see https://www.atlascloud.ai/docs/account/sign-in)\nOpen https://www.atlascloud.ai/console/api-keys, choose Create API Key and copy it immediately — it is shown only once (https://www.atlascloud.ai/docs/api-keys), and Atlas Cloud API keys begin with apikey- (https://www.atlascloud.ai/docs/llm-protocols)\nBilling is pay-as-you-go from a prepaid balance: the quick start's Step 3 is Add Funds with a $25 minimum top-up (https://www.atlascloud.ai/docs/get-started), and requests are rejected with 402 while the balance is insufficient (https://www.atlascloud.ai/docs/errors). The homepage FAQ also says 'No credit card required to start', but no free-tier terms are documented, so check your balance at https://www.atlascloud.ai/console/billing before relying on it\nSet ATLAS_CLOUD_API_KEY in your .env file (ATLASCLOUD_API_KEY, the name used in Atlas Cloud's own docs, is also read)\nConfigure\nUse it\n\nPer-request credentials work as they do for every provider:\n\nModels\n\n| Model | Context | Vision | $/M in · out | Notes |\n| ------------------------------------ | ------- | ------ | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| deepseek-ai/deepseek-v3.2 ⭐ | 164K | no | $0.26 / $0.38 (cached $0.13) | Default here because the chat-completions, Anthropic Messages and Responses examples on the LLM API Protocols page use it (the vendor does not recommend it); roster tags tools, structured_outputs, reasoning; model page says 128K context, see below. |\n| deepseek-ai/deepseek-v4-flash | 1M | no | $0.14 / $0.28 (cached $0.028) | First fallback; 393K output ceiling on the roster. |\n| zai-org/glm-5.3 | 1M ","hierarchy":{"lvl0":"Getting Started","lvl1":"Atlas Cloud Provider Guide","lvl2":"","lvl3":""}},
5311
+ {"objectID":"2e3964893f5fac4fdf23a40a8f78ed2d178bfe8d1132363a45cfe5a801e0c3f3","title":"Atlas Cloud Provider Guide","url":"/docs/getting-started/providers/atlas-cloud#atlas-cloud-provider-guide","content":"Atlas Cloud is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/atlas-cloud.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. Every field below comes from Atlas Cloud's own public\ndocumentation and an unauthenticated GET /v1/models call — no account was\ncreated and no API key was used to build it. evidence.liveMatrix is null\nuntil someone runs the live capability matrix with a real key (see\nVerification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"Atlas Cloud Provider Guide","lvl2":"Atlas Cloud Provider Guide","lvl3":""}},
5312
+ {"objectID":"928f739f548a3cde6c6876f9d9a29d5c784fd6d8ace60cae744204f140852573","title":"Key Facts","url":"/docs/getting-started/providers/atlas-cloud#key-facts","content":"Provider id: atlas-cloud\nProtocol: OpenAI-compatible (POST /v1/chat/completions, Bearer auth) —\n Atlas Cloud's LLM API Protocols page\n (docs/llm-protocols) also\n lists Anthropic Messages, Responses and Gemini formats on the same base URL;\n NeuroLink uses only the chat-completions one\nBase URL: https://api.atlascloud.ai/v1 (the /v1 suffix is required —\n docs/models/llm)\nDefault model: deepseek-ai/deepseek-v3.2 — Atlas Cloud is an\n aggregator with no single house model; this is the model its own\n chat-completions, Anthropic-Messages and Responses examples all use\nModels in catalog: 10 (curated from a 120-model live roster)\nStreaming: supported — the LLM / Chat page states the API \"supports both\n streaming and non-streaming modes\"\nTool calling: model-dependent — the docs say tools, tool_choice and\n parallel_tool_calls are passed through on models that advertise tools\nStructured output: supported — response_format accepts json_object\n and json_schema on models that advertise json_mode or\n structured_outputs; every model in this catalog advertises one of them\nStructured output + tools together: not declared (false) — no combined\n probe was run without credentials\nTool calls under streaming: not declared (false) — no page describes\n streamed tool-call deltas\nThinking: declared (true) — the default model carries the roster's\n reasoning feature and the protocols page documents normalised reasoning\n flags (enable_thinking, thinking.type, reasoning_effort: \"none\"); not\n exercised live\nEmbeddings: false — the protocols page lists /v1/embeddings under\n \"Not available\"\nBilling: no-free-tier is the conservative schema value, not a\n verified fact — see Billing below\nKey format: starts with apikey- (docs/llm-protocols)","hierarchy":{"lvl0":"Getting Started","lvl1":"Atlas Cloud Provider Guide","lvl2":"Key Facts","lvl3":""}},
5313
+ {"objectID":"f00fcc3b002cdfbe94bfa85429be2285b6761b5bc56d00cc76adf170964bacfb","title":"1. Get an API key","url":"/docs/getting-started/providers/atlas-cloud#1-get-an-api-key","content":"Visit: https://www.atlascloud.ai/login and sign up or sign in (Google, GitHub, or email and password — one page handles both, see https://www.atlascloud.ai/docs/account/sign-in)\nOpen https://www.atlascloud.ai/console/api-keys, choose Create API Key and copy it immediately — it is shown only once (https://www.atlascloud.ai/docs/api-keys), and Atlas Cloud API keys begin with apikey- (https://www.atlascloud.ai/docs/llm-protocols)\nBilling is pay-as-you-go from a prepaid balance: the quick start's Step 3 is Add Funds with a $25 minimum top-up (https://www.atlascloud.ai/docs/get-started), and requests are rejected with 402 while the balance is insufficient (https://www.atlascloud.ai/docs/errors). The homepage FAQ also says 'No credit card required to start', but no free-tier terms are documented, so check your balance at https://www.atlascloud.ai/console/billing before relying on it\nSet ATLAS_CLOUD_API_KEY in your .env file (ATLASCLOUD_API_KEY, the name used in Atlas Cloud's own docs, is also read)","hierarchy":{"lvl0":"Getting Started","lvl1":"Atlas Cloud Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
5314
+ {"objectID":"f28ea1188fb805c415157a3890bcc4c24900534ec6b74286cc198e4e2c871849","title":"3. Use it","url":"/docs/getting-started/providers/atlas-cloud#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Atlas Cloud Provider Guide","lvl2":"3. Use it","lvl3":""}},
5315
+ {"objectID":"8834f23da1e873f9e302493af4be5f5a7ae384b9a90f440b8e8168dd0af7ab10","title":"CLI","url":"/docs/getting-started/providers/atlas-cloud#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider atlas-cloud\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"atlas-cloud\",\n credentials: { atlasCloud: { apiKey: process.env.ATLASCLOUDAPI_KEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Atlas Cloud Provider Guide","lvl2":"CLI","lvl3":""}},
5316
+ {"objectID":"31ea505d51a4439481e9174c738bbf0adc2f85f68f6253f8bd11a8b08d6d47e8","title":"Models","url":"/docs/getting-started/providers/atlas-cloud#models","content":"| Model | Context | Vision | $/M in · out | Notes |\n| ------------------------------------ | ------- | ------ | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| deepseek-ai/deepseek-v3.2 ⭐ | 164K | no | $0.26 / $0.38 (cached $0.13) | Default here because the chat-completions, Anthropic Messages and Responses examples on the LLM API Protocols page use it (the vendor does not recommend it); roster tags tools, structured_outputs, reasoning; model page says 128K context, see below. |\n| deepseek-ai/deepseek-v4-flash | 1M | no | $0.14 / $0.28 (cached $0.028) | First fallback; 393K output ceiling on the roster. |\n| zai-org/glm-5.3 | 1M | no | $1.40 / $4.40 (cached $0.26) | Fallback from a second family (GLM is a featured family on the LLM / Chat page); 131K output ceiling. |\n| Qwen/Qwen3-235B-A22B-Instruct-2507 | 131K | no | $0.20 / $0.88 (cached $0.20) | Fallback from a third family (Qwen is featured on the LLM / Chat page). ","hierarchy":{"lvl0":"Getting Started","lvl1":"Atlas Cloud Provider Guide","lvl2":"Models","lvl3":""}},
5317
+ {"objectID":"c5af744499f1c8afcf51c341919c637387ae67755bf4d12cf7d8e2ec5a4ffe55","title":"Billing","url":"/docs/getting-started/providers/atlas-cloud#billing","content":"The vendor's pages do not agree, and the catalog does not paper over that:\nThe billing docs\n (docs/billing,\n top-up,\n balance & credits) and the\n quick start describe\n pay-as-you-go from a prepaid balance with a $25 minimum top-up; a request\n made with an insufficient balance is rejected with HTTP 402\n (docs/errors). Bonus credits exist\n (promotions, redeem codes, referrals) but are not described as a free tier.\nThe homepage FAQ says \"No credit card required\n to start\" in its answer to \"How do I get started\"; the phrase \"free credits\"\n appears only in the homepage blurbs for the GPT Image 2 and Nano Banana 2\n models, with no terms. The\n pricing page is headed \"Pay Per\n Use, No Subscriptions\".\n\nNo page states what a brand-new, unfunded account can actually call, so\nbillingPolicy is set to no-free-tier because the schema has no \"unknown\"\nvalue and that is the conservative choice for a setup wizard — not because it\nwas confirmed. Check the balance in the\nconsole before relying on it.","hierarchy":{"lvl0":"Getting Started","lvl1":"Atlas Cloud Provider Guide","lvl2":"Billing","lvl3":""}},
5318
+ {"objectID":"51bb544d0997fc30d2eb719d625565277bbe9ddeed909b9bb662c8affa0406a1","title":"Verification status","url":"/docs/getting-started/providers/atlas-cloud#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for Atlas Cloud — docs- and roster-verified, not\nlive-verified:\n\n| Probe | Result |\n| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET /v1/models, HTTP 200, 120 models, 2026-09-29 — no key used |\n| Billing | public docs, quick start and homepage read 2026-09-29; prepaid balance and 402 on insufficient balance are documented, the homepage FAQ's \"No credit card required to start\" is not reconciled with them — see Billing |\n| Auth-failure shape | documented on docs/errors ({\"code\":401,\"msg\":\"unauthorized\",\"request_id\":\"…\",\"data\":null}; a wrong path also returns 401; 402 is insufficient balance; 404 covers models not available to the account) and not probed live — errorRules is built from that page alone |\n| Tools / structured output | documented on docs/llm-protocols for models that advertise them (the page does not say what happens on other models); neither was exercised live, and no combined tools+schema request was sent — structuredOutputWithTools stays false ","hierarchy":{"lvl0":"Getting Started","lvl1":"Atlas Cloud Provider Guide","lvl2":"Verification status","lvl3":""}},
5319
+ {"objectID":"cc74773eebc0d29b96938aa580e4948f5dc49ad8e35bf872b9ff052f7063b8b0","title":"Troubleshooting","url":"/docs/getting-started/providers/atlas-cloud#troubleshooting","content":"| Symptom | Cause | Fix |\n| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |\n| HTTP 401 on every request | Key missing, unknown or expired — or a mistyped endpoint path (the gateway authenticates first) | Check ATLAS_CLOUD_API_KEY, and confirm the base URL ends in /v1 |\n| HTTP 402 | Insufficient balance | Add funds in the console; service resumes after top-up |\n| Model not found (404) | Resource not found — the docs say a 404 for a model also covers models that are not available to your account (docs/errors) | Check the model id against the catalog; the unauthenticated GET https://api.atlascloud.ai/v1/models roster lists ids |\n| HTTP 429 with no Retry-After | Per-account, per-model rate limit; LLM endpoints send no X-RateLimit-* or Retry-After headers | Back off client-side with jitter (docs/errors) |\n| 200 on a stream, but the reply is cut short | Errors after a stream opens arrive as events inside the stream | Handle mid-stream termination","hierarchy":{"lvl0":"Getting Started","lvl1":"Atlas Cloud Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
5320
+ {"objectID":"740c2fca8450f6bdf17da1eed80f410fa32ca04256acc595a06af8a9cbee1a01","title":"See also","url":"/docs/getting-started/providers/atlas-cloud#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Atlas Cloud Provider Guide","lvl2":"See also","lvl3":""}},
5321
+ {"objectID":"905915a8d12da31a60224a97bbbaa20307100e4f706197fa5471d3a5c6a467df","title":"Avian Provider Guide","url":"/docs/getting-started/providers/avian-io","content":"Avian Provider Guide\n\nAvian is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/avian-io.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. Every field below comes from Avian's own public pages and an\nunauthenticated GET /v1/models call — no account was created and no API key\nwas used to build it. evidence.liveMatrix is null until someone runs the\nlive capability matrix with a real key (see\nVerification status below).\n\nKey Facts\nProvider id: avian-io (alias avian)\nProtocol: OpenAI-compatible (/chat/completions)\nBase URL: https://api.avian.io/v1\nDefault model: deepseek/deepseek-v4-pro-0813\nModels in catalog: 12 (curated from a 13-model live roster;\n z-ai/glm-4.7 is the one left out, only to stay inside the 12-model cap)\nStreaming: supported — the docs' Streaming section documents\n stream: true with server-sent events\n (docs)\nTool calling: model-dependent — the docs describe function calling with\n a tools array and a returned tool_calls array, but show it only on\n deepseek/deepseek-v3.2. The homepage and About page say native tool calling\n comes \"across all models\", which is a marketing claim with no per-model\n detail behind it\nTools while streaming: not declared (false) — the docs document tools\n and streaming separately, never together\nStructured output: not declared (false) — the docs' request-parameter\n table lists model, messages, temperature, max_tokens, stream and\n tools, and no response_format\nStructured output + tools together: not declared (false) — no combined\n probe was run without credentials\nEmbeddings: not declared — the docs describe only chat completions\nThinking: not declared — the roster flags six models reasoning: true,\n but the docs describe no reasoning controls or reasoning output field\nBilling: no-free-tier — prepaid credits only, see\n Billing below\nKey format: none declared. The docs' examples show keys that start with\n avian-, but nothing states that as a rule, so NeuroLink does not validate\n it\n\nQuick Start\nGet an API key\nVisit: https://avian.io/accounts/signup/ and sign up with Google or a work email and password\nCreate an API key from your signed-in account — the public pages only say \"Get your API key in under a minute\" (https://avian.io/pricing/) and do not name the key page; the docs examples show keys that start with avian-\nPrepaid credits only: add credits before calling the API (https://avian.io/pricing/ lists $50, $100, $150 and $250 packages); the sign-up buttons say \"Get Started Free\" but no free credits are stated anywhere, and the docs list HTTP 402 for an insufficient credit balance (https://avian.io/docs/)\nSet AVIAN_IO_API_KEY in your .env file (the vendor's homepage example reads AVIAN_API_KEY, which NeuroLink does not)\nConfigure\nUse it\n\nPer-request credentials work as they do for every provider:\n\nBilling\n\nAvian's pricing page (https://avian.io/pricing/) describes \"per-token pricing\nwith prepaid credits\", \"no subscriptions, no commitments\", credits that \"never\nexpire\", and credit packages of $50, $100, $150 and $250. Its docs list\nHTTP 402 Payment Required as \"Insufficient credit balance\"\n(https://avian.io/docs/). No page states free credits or a free tier, so the\nentry records no-free-tier. The \"Get Started Free\" button on the public\npages is the sign-up call to action; it is not a stated free allowance.\n\nModels\n\n| Model | Context | Max output | Vision | $/M in · out (cache read) | Notes |\n| ---------------------------------- | --------- | ---------- | ------ | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |\n| deepseek/deepseek-v4-pro-0813 ⭐ | 1,000,000 | 393,216 | no | $0.594 / $1.782 ($0.0198) | Default — the model Avian promotes with a \"now live\" banner on its home, docs, models, pricing and About pages. Reasoning-flagged. |\n| deepseek/deepseek-v4-flash | 1,000,000 | 393,216 | no | $0.0805 / $0.161 ($0.0165) | Fallback; lowest input and output price on the roster. Reasoning-flagged. |\n| deepseek/deepseek-v3.2 | 163,840 | 65,536 | no | $0.23 / $0.33 ($0.012) | Fallback; the model in every docs code example, labelled \"(Legacy)\" by the vendor. Reasoning-flagged. |\n| z-ai/glm-5.2 | 1,048,576 | 131,072 | no | $0.495 / $1.733 ($0.124) | Fallback; highest-numbered GLM on the roster. |\n| deepseek/deepseek-v4-pro |","hierarchy":{"lvl0":"Getting Started","lvl1":"Avian Provider Guide","lvl2":"","lvl3":""}},
5322
+ {"objectID":"ddf965a00a97a3b32c8261d0102bad7b3097785188094ee9b3b030a04eda885c","title":"Avian Provider Guide","url":"/docs/getting-started/providers/avian-io#avian-provider-guide","content":"Avian is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/avian-io.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. Every field below comes from Avian's own public pages and an\nunauthenticated GET /v1/models call — no account was created and no API key\nwas used to build it. evidence.liveMatrix is null until someone runs the\nlive capability matrix with a real key (see\nVerification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"Avian Provider Guide","lvl2":"Avian Provider Guide","lvl3":""}},
5323
+ {"objectID":"dcb5ba744604018ad83d2ec00c5aa93bcb7b28a6434dc4608fb25bad57c735de","title":"Key Facts","url":"/docs/getting-started/providers/avian-io#key-facts","content":"Provider id: avian-io (alias avian)\nProtocol: OpenAI-compatible (/chat/completions)\nBase URL: https://api.avian.io/v1\nDefault model: deepseek/deepseek-v4-pro-0813\nModels in catalog: 12 (curated from a 13-model live roster;\n z-ai/glm-4.7 is the one left out, only to stay inside the 12-model cap)\nStreaming: supported — the docs' Streaming section documents\n stream: true with server-sent events\n (docs)\nTool calling: model-dependent — the docs describe function calling with\n a tools array and a returned tool_calls array, but show it only on\n deepseek/deepseek-v3.2. The homepage and About page say native tool calling\n comes \"across all models\", which is a marketing claim with no per-model\n detail behind it\nTools while streaming: not declared (false) — the docs document tools\n and streaming separately, never together\nStructured output: not declared (false) — the docs' request-parameter\n table lists model, messages, temperature, max_tokens, stream and\n tools, and no response_format\nStructured output + tools together: not declared (false) — no combined\n probe was run without credentials\nEmbeddings: not declared — the docs describe only chat completions\nThinking: not declared — the roster flags six models reasoning: true,\n but the docs describe no reasoning controls or reasoning output field\nBilling: no-free-tier — prepaid credits only, see\n Billing below\nKey format: none declared. The docs' examples show keys that start with\n avian-, but nothing states that as a rule, so NeuroLink does not validate\n it","hierarchy":{"lvl0":"Getting Started","lvl1":"Avian Provider Guide","lvl2":"Key Facts","lvl3":""}},
5324
+ {"objectID":"d7cd95ce9ee9e9feaa5fe4ad3d1d1c1eb3be6dc4ad3f44f272975aa79409eb48","title":"1. Get an API key","url":"/docs/getting-started/providers/avian-io#1-get-an-api-key","content":"Visit: https://avian.io/accounts/signup/ and sign up with Google or a work email and password\nCreate an API key from your signed-in account — the public pages only say \"Get your API key in under a minute\" (https://avian.io/pricing/) and do not name the key page; the docs examples show keys that start with avian-\nPrepaid credits only: add credits before calling the API (https://avian.io/pricing/ lists $50, $100, $150 and $250 packages); the sign-up buttons say \"Get Started Free\" but no free credits are stated anywhere, and the docs list HTTP 402 for an insufficient credit balance (https://avian.io/docs/)\nSet AVIAN_IO_API_KEY in your .env file (the vendor's homepage example reads AVIAN_API_KEY, which NeuroLink does not)","hierarchy":{"lvl0":"Getting Started","lvl1":"Avian Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
5325
+ {"objectID":"4b2c271e33a943204dcaaf2e32e1d53bf5c4deaad8ba6284bec96232228e4f88","title":"3. Use it","url":"/docs/getting-started/providers/avian-io#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Avian Provider Guide","lvl2":"3. Use it","lvl3":""}},
5326
+ {"objectID":"21bb2f4a27494e7e2c764493b3b928b08bf99a5de763f72d93d0ca11d30ad98d","title":"CLI","url":"/docs/getting-started/providers/avian-io#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider avian-io\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"avian-io\",\n credentials: { avianIo: { apiKey: process.env.AVIANIOAPI_KEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Avian Provider Guide","lvl2":"CLI","lvl3":""}},
5327
+ {"objectID":"8bade22fe71cdf4692c7aa4c6f25ba57526c5e7ce9660f69ba9e183fd950c908","title":"Billing","url":"/docs/getting-started/providers/avian-io#billing","content":"Avian's pricing page (https://avian.io/pricing/) describes \"per-token pricing\nwith prepaid credits\", \"no subscriptions, no commitments\", credits that \"never\nexpire\", and credit packages of $50, $100, $150 and $250. Its docs list\nHTTP 402 Payment Required as \"Insufficient credit balance\"\n(https://avian.io/docs/). No page states free credits or a free tier, so the\nentry records no-free-tier. The \"Get Started Free\" button on the public\npages is the sign-up call to action; it is not a stated free allowance.","hierarchy":{"lvl0":"Getting Started","lvl1":"Avian Provider Guide","lvl2":"Billing","lvl3":""}},
5328
+ {"objectID":"9ef76cbbfcac2a6610c87a432d723164f56cae93a98333d98e9ce706d282bee5","title":"Models","url":"/docs/getting-started/providers/avian-io#models","content":"| Model | Context | Max output | Vision | $/M in · out (cache read) | Notes |\n| ---------------------------------- | --------- | ---------- | ------ | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |\n| deepseek/deepseek-v4-pro-0813 ⭐ | 1,000,000 | 393,216 | no | $0.594 / $1.782 ($0.0198) | Default — the model Avian promotes with a \"now live\" banner on its home, docs, models, pricing and About pages. Reasoning-flagged. |\n| deepseek/deepseek-v4-flash | 1,000,000 | 393,216 | no | $0.0805 / $0.161 ($0.0165) | Fallback; lowest input and output price on the roster. Reasoning-flagged. |\n| deepseek/deepseek-v3.2 | 163,840 | 65,536 | no | $0.23 / $0.33 ($0.012) | Fallback; the model in every docs code example, labelled \"(Legacy)\" by the vendor. Reasoning-flagged. |\n| z-ai/glm-5.2 | 1,048,576 | 131,072 | no | $0.495 / $1.733 ($0.124) | Fallback; highest-numbered GLM on the roster. |\n| deepseek/deepseek-v4-pro | 1,000,000 | 393,216 | no | $1.305 / $2.61 ($0.10875) | Undated V4 Pro build; roster-listed only. Reasoning-flagged. |\n| minimax/minimax-m2.5 | 196,608 | 131,072 | no | $0.27 / $1.08 ($0.15) | Roster-listed only. |\n| z-ai/glm-5 | 204,800 | 131,072 | no | $0.516 / $2.322 ($0.129) | Roster-listed only. ","hierarchy":{"lvl0":"Getting Started","lvl1":"Avian Provider Guide","lvl2":"Models","lvl3":""}},
5329
+ {"objectID":"43331bdbda0a06d890d451fdd4eb12df9e195d9496106cee3a99050bc2ef379a","title":"Verification status","url":"/docs/getting-started/providers/avian-io#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for Avian — docs- and roster-verified, not\nlive-verified:\n\n| Probe | Result |\n| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| Roster | unauthenticated GET /v1/models, HTTP 200, 13 models, 2026-09-29 — no key used |\n| Billing | public pricing page describes prepaid credits with no subscription and states no free tier or free credits, 2026-09-29 |\n| Auth-failure shape | the docs list HTTP 401 \"Missing or invalid API key\" and 402 \"Insufficient credit balance\" but describe the error body only as \"a JSON body with a descriptive message\"; the body was not probed, so errorRules match the status codes alone (401, 402) |\n| Tools / structured output | function calling is documented at https://avian.io/docs/; response_format is not documented anywhere opened. Neither was exercised live, and no combined tools+schema request was sent — structuredOutputWithTools stays false |\n| Live capability sweep | not run. evidence.liveMatrix is null. Before trea","hierarchy":{"lvl0":"Getting Started","lvl1":"Avian Provider Guide","lvl2":"Verification status","lvl3":""}},
5330
+ {"objectID":"741a9688df8755e3ba9499f06401b880d08ffec4090a80e912acab4f91a71d7e","title":"Troubleshooting","url":"/docs/getting-started/providers/avian-io#troubleshooting","content":"| Symptom | Cause | Fix |\n| --------------------------------------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| HTTP 402 on every request | No prepaid credit balance — Avian has no free tier | Add credits at https://avian.io/pricing/ (the package amounts are listed there) |\n| HTTP 401 | Missing or invalid key, or the key was set under the wrong variable name | Set AVIAN_IO_API_KEY; the vendor's homepage example uses AVIAN_API_KEY, which NeuroLink does not read |\n| Model not found | The roster changed since 2026-09-29, or a display name was used instead of an id | Use an id exactly as listed by the unauthenticated GET /v1/models; the homepage snippet's DeepSeek-V3.2 is not a roster id, the docs' deepseek/deepseek-v3.2 is |\n| Structured output ignored with tools attached | structuredOutputWithTools is false on this entry — untested combination | NeuroLink omits response_format automatically whenever tools are present, before sending |\n| Tool calls not returned | Tool calling on ","hierarchy":{"lvl0":"Getting Started","lvl1":"Avian Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
5331
+ {"objectID":"e3078a10ded8ca1f6b8319f86fae0c84ece868e67a6073d171490b305adf6ad7","title":"See also","url":"/docs/getting-started/providers/avian-io#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Avian Provider Guide","lvl2":"See also","lvl3":""}},
5288
5332
  {"objectID":"5d54afccf2e5822d2cf026c6928af297b4538638169afbbc4ba8ed7fab2e0f43","title":"AWS Bedrock Provider Guide","url":"/docs/getting-started/providers/aws-bedrock","content":"AWS Bedrock Provider Guide\n\nEnterprise AI with Claude, Nova, Llama, Mistral, DeepSeek, Qwen, and 110+ foundation models on AWS infrastructure\n\nOverview\n\nAmazon Bedrock provides serverless access to 110+ foundation models from leading AI companies including Anthropic, Amazon, Meta, Mistral, DeepSeek, Qwen, Cohere, AI21 Labs, Google, NVIDIA, Writer, and more. Perfect for enterprise deployments requiring AWS integration, scalability, and compliance.\n\nFor Anthropic Claude models, you MUST use the full inference profile ARN, not simple model names. For Claude 4+ models, use cross-region inference profile IDs (e.g., us.anthropic.claude-sonnet-4-6) or full ARNs for on-demand access. See configuration examples below for the correct format.\n\nKey Benefits\n🤖 110+ Models: Claude, Nova, Llama 4, Mistral, DeepSeek, Qwen, Cohere, and more\n🏢 AWS Integration: IAM, VPC, CloudWatch, S3\n🌍 Global Regions: 10+ AWS regions\n🔒 Enterprise Security: PrivateLink, KMS encryption\n💰 Pay-per-use: No infrastructure costs\n📊 Serverless: Automatic scaling\n🛡️ Compliance: SOC 2, HIPAA, ISO 27001\n\nAvailable Model Providers\n\n| Provider | Key Models (count) | Best For |\n| -------------- | ------------------------------------------------------------------------ | ---------------------------------------- |\n| Anthropic | Claude 4.6 Opus/Sonnet, 4.5, 4.1, 4, 3.7, 3.5, 3 (12) | Complex reasoning, coding, 1M context |\n| Amazon | Nova Premier/Pro/Lite/Micro, Nova 2, Sonic, Canvas, Reel (11) | AWS-native, multimodal, media generation |\n| Meta | Llama 4 Scout/Maverick, 3.3, 3.2, 3.1, 3 (12) | Open source, long context (10M) |\n| Mistral AI | Large 3, Magistral, Ministral, Pixtral, Voxtral, Devstral (14) | European compliance, coding, multimodal |\n| DeepSeek | R1, V3 (2) | Deep reasoning, cost-effective |\n| Qwen | Qwen 3, Qwen 3 Coder, Qwen 3 VL, Qwen 3 Next (6) | Coding, vision, multilingual |\n| Cohere | Command R/R+, Embed v3/v4, Rerank v3.5 (6) | Enterprise search, RAG, reranking |\n| AI21 Labs | Jamba 1.5 Large/Mini (2) | Long context |\n| Google | Gemma 3 (27B, 12B, 4B) (3) | Lightweight open models |\n| Other | NVIDIA Nemotron, Writer Palmyra, MiniMax, Kimi, OpenAI gpt-oss, Z.AI GLM | Specialized workloads |\n\nQuick Start\nEnable Model Access\n\nOr via AWS Console:\nOpen Bedrock Console\nSelect region (us-east-1 recommended)\nClick \"Model access\"\nEnable desired models (instant for most, approval needed for some)\nSetup IAM Permissions\nConfigure AWS Credentials\nConfigure NeuroLink\n\nRegional Deployment\n\nAvailable Regions\n\n| Region | Location | Models Available | Data Residency |\n| ------------------ | ------------- | ---------------- | -------------- |\n| us-east-1 | N. Virginia | All models | USA |\n| us-west-2 | Oregon | All models | USA |\n| us-gov-west-1 | GovCloud West | Select models | USA Gov |\n| ca-central-1 | Canada | Most models | Canada |\n| eu-west-1 | Ireland | All models | EU |\n| eu-west-2 | London | Most models | UK |\n| eu-west-3 | Paris | Most models | EU |\n| eu-central-1 | Frankfurt | All models | EU |\n| ap-southeast-1 | Singapore | Most models | Asia |\n| ap-northeast-1 | Tokyo | Most models | Asia |\n| ap-south-1 | Mumbai | Select models | India |\n\nMulti-Region Setup\n\nModel Selection Guide\n\nThe SDK default fallback is now anthropic.claude-sonnet-4-6. The previous default (anthropic.claude-3-sonnet-20240229-v1:0) is deprecated. You can still override the model by setting BEDROCK_MODEL in your environment or passing the model parameter in code.\n\nAnthropic Claude Models\n\nClaude Model IDs:\n\n| Model ID | Series | Context |\n| ------------------------------------------- | ----------------------- | ------- |\n| anthropic.claude-opus-4-6-v1:0 | Claude 4.6 Opus | 1M |\n| anthropic.claude-sonnet-4-6 | Claude 4.6 Sonnet | 1M |\n| anthropic.claude-opus-4-5-20251101-v1:0 | Claude 4.5 Opus | 200K |\n| anthropic.claude-sonnet-4-5-20250929-v1:0 | Claude 4.5 Sonnet | 200K |\n| anthropic.claude-haiku-4-5-20251001-v1:0 | Claude 4.5 Haiku | 200K |\n| anthropic.claude-opus-4-1-20250805-v1:0 | Claude 4.1 Opus | 200K |\n| anthropic.claude-sonnet-4-20250514-v1","hierarchy":{"lvl0":"Getting Started","lvl1":"AWS Bedrock Provider Guide","lvl2":"","lvl3":""}},
5289
5333
  {"objectID":"7be304fcda36e9cde0d54588465dcba101a73091c2e3426924df00e10e550ce4","title":"AWS Bedrock Provider Guide","url":"/docs/getting-started/providers/aws-bedrock#aws-bedrock-provider-guide","content":"Enterprise AI with Claude, Nova, Llama, Mistral, DeepSeek, Qwen, and 110+ foundation models on AWS infrastructure","hierarchy":{"lvl0":"Getting Started","lvl1":"AWS Bedrock Provider Guide","lvl2":"AWS Bedrock Provider Guide","lvl3":""}},
5290
5334
  {"objectID":"1f6947f77c2b44b2a28eb0bb25ff7dda08995944773fa9738cd172fa847b4a51","title":"Overview","url":"/docs/getting-started/providers/aws-bedrock#overview","content":"Amazon Bedrock provides serverless access to 110+ foundation models from leading AI companies including Anthropic, Amazon, Meta, Mistral, DeepSeek, Qwen, Cohere, AI21 Labs, Google, NVIDIA, Writer, and more. Perfect for enterprise deployments requiring AWS integration, scalability, and compliance.\n\nFor Anthropic Claude models, you MUST use the full inference profile ARN, not simple model names. For Claude 4+ models, use cross-region inference profile IDs (e.g., us.anthropic.claude-sonnet-4-6) or full ARNs for on-demand access. See configuration examples below for the correct format.","hierarchy":{"lvl0":"Getting Started","lvl1":"AWS Bedrock Provider Guide","lvl2":"Overview","lvl3":""}},
@@ -5518,6 +5562,18 @@
5518
5562
  {"objectID":"5c9a7a2c1e7be3168ffe681c8c03072ca9d12e1f6ba5d0847187f1e91be4a974","title":"Feature Support Matrix","url":"/docs/getting-started/providers/cohere#feature-support-matrix","content":"| Feature | Support |\n| ----------------- | ------------ |\n| Text generation | Yes |\n| Streaming | Yes |\n| Tool calling | Yes |\n| Structured output | Yes |\n| Vision | No |\n| Embeddings | Yes (native) |\n| Reranking | Yes |","hierarchy":{"lvl0":"Getting Started","lvl1":"Cohere Provider Guide","lvl2":"Feature Support Matrix","lvl3":""}},
5519
5563
  {"objectID":"33ca398771f440ac0c6fa91e7baf16577363a96e61fb4faaa6445a68d9fef865","title":"Troubleshooting","url":"/docs/getting-started/providers/cohere#troubleshooting","content":"Not Found — the chosen model may not be available on your tier.\n Try command-r-plus-08-2024 or command-r-08-2024.","hierarchy":{"lvl0":"Getting Started","lvl1":"Cohere Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
5520
5564
  {"objectID":"599a1eae0b56fc758d4d49899e59138865249d159aa3d2f419c9acc4553522b5","title":"See Also","url":"/docs/getting-started/providers/cohere#see-also","content":"Voyage Provider\nJina Provider","hierarchy":{"lvl0":"Getting Started","lvl1":"Cohere Provider Guide","lvl2":"See Also","lvl3":""}},
5565
+ {"objectID":"8199fd0f86fda4fd3da2ef0b8af67e8d68b11a6df32989076a60ff6f44a61a8c","title":"Crusoe Provider Guide","url":"/docs/getting-started/providers/crusoe","content":"Crusoe Provider Guide\n\nCrusoe is a Tier-2 catalog provider: its integration is one JSON file\n(src/lib/providers/catalog/crusoe.json) rather than hand-written code.\nThat file is the source of truth for this page.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. Crusoe's GET https://api.inference.crusoecloud.com/v1/models\nneeds a key (it answers HTTP 401 without one), so the twelve model ids come\nfrom the vendor's public\nAvailable models page\nand the roster has not been checked. No account was created and no API key\nwas used to build this entry. evidence.liveMatrix is null until someone\nruns the live capability matrix with a real key (see\nVerification status below).\n\nKey Facts\nProvider id: crusoe\nProtocol: OpenAI-compatible (/chat/completions) — the Available models\n page says \"You can use the OpenAI-API compatible endpoint at\n api.inference.crusoecloud.com\", and the\n Getting Started page\n says \"Crusoe's Serverless Inference Service provides OpenAI compatible\n endpoints\"\nBase URL: https://api.inference.crusoecloud.com/v1\nDefault model: deepseek-ai/DeepSeek-V4-Flash\nModels in catalog: 12 (ids copied from the Available models page, which\n lists 13; nvidia/Nemotron-3-VoiceChat has TYPE speech-to-speech and is\n not in this catalog)\nStreaming: supported — the developer hub's\n LangChain README\n lists streaming among its features and shows llm.stream(...), and the\n Serverless Inference metrics page\n lists the label is_streaming (\"Whether the request used streaming\")\nTool calling: model-dependent — the developer hub's\n Zed README\n sets \"tools\": true for openai/gpt-oss-120b, and the LangChain README\n shows llm.bind_tools([...]) followed by response.tool_calls\nTools while streaming: not declared (false) — not exercised without\n credentials\nStructured output: not declared (false) — the LangChain README shows\n llm.with_structured_output(Summary); the response_format parameter was\n not exercised without credentials\nStructured output + tools together: not declared (false) — no\n combined probe was possible without credentials\nEmbeddings: not declared\nThinking: not declared (false) — the Zed README says\n openai/gpt-oss-120b supports reasoning_effort values low, medium and\n high; the flag is provider-wide and stays false\nBilling: free-with-card — the vendor's own wording is quoted under\n Billing below\nKey format: none declared\n\nQuick Start\nGet an API key\nVisit: https://console.crusoecloud.com/request-foundry (the \"Create a Managed AI account →\" link on https://docs.crusoecloud.com/create-an-account, which says \"Use Google or Github for the quickest signup.\")\nCreate an API key: the Getting Started page (https://docs.crusoecloud.com/quickstart/getting-started-with-serverless-inference) says to visit the Intelligence Foundry on the console, select Inference from the left nav, click Create API Key, optionally provide an alias and expiration date, then click Create to view and save your API key\nBilling as the vendor states it: see Billing below\nSet CRUSOE_API_KEY in your .env file\nConfigure\n\nThe Getting Started page's Python example reads CRUSOE_API_KEY, the same\nname NeuroLink reads. The developer hub's LangChain integration reads the base\nURL from CRUSOE_API_BASE; NeuroLink reads CRUSOE_BASE_URL.\nUse it\n\nPer-request credentials work as they do for every provider:\n\nBilling\n\nThree Crusoe pages are quoted here as printed; the entry records\nfree-with-card.\nThe docs announcement bar\n (Serverless Inference overview)\n reads \"Use $5 in free credits to explore Serverless Inference and Serverless\n Fine-Tuning\".\nThe Create an account page\n says \"To provision resources or use the managed inference service, you must\n enable billing on your account. You will need a valid, non-prepaid credit\n card to proceed.\"\nThe Serverless rate limits page\n lists default limits by account status:\n\n| Account status | TPM per model | RPM per model |\n| -------------------- | ------------- | ------------- |\n| No payment method | 500,000 | 30 |\n| Payment method added | 2,000,000 | 600 |\n\nThe Create an account page and the rate limits page's \"No payment method\" row\nare both quoted above. billingPolicy is a required enum (free-tier,\nfree-with-card, no-free-tier) with no value for that difference, and\nfree-with-card is recorded.\n\nThe Usage and billing page\nlists the Billing of Serverless Inference as \"Per-token\" and points to\ncrusoe.ai/cloud/pricing for pricing\ninformation.\n\nModels\n\n| Model | Context | Vision | $/M in · out (cached) | Notes |\n| ----------------------------------------------- | ------- | ------ | --------------------- | -----------------------------------------------------------------------------------------------------------------------------------------------------","hierarchy":{"lvl0":"Getting Started","lvl1":"Crusoe Provider Guide","lvl2":"","lvl3":""}},
5566
+ {"objectID":"773272e99b55656564b10d636c0ea32c1d161e93eba0d629e3e0aa16ad6d772a","title":"Crusoe Provider Guide","url":"/docs/getting-started/providers/crusoe#crusoe-provider-guide","content":"Crusoe is a Tier-2 catalog provider: its integration is one JSON file\n(src/lib/providers/catalog/crusoe.json) rather than hand-written code.\nThat file is the source of truth for this page.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. Crusoe's GET https://api.inference.crusoecloud.com/v1/models\nneeds a key (it answers HTTP 401 without one), so the twelve model ids come\nfrom the vendor's public\nAvailable models page\nand the roster has not been checked. No account was created and no API key\nwas used to build this entry. evidence.liveMatrix is null until someone\nruns the live capability matrix with a real key (see\nVerification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"Crusoe Provider Guide","lvl2":"Crusoe Provider Guide","lvl3":""}},
5567
+ {"objectID":"590793e54010eab9843743bc5b3c9b339495754f168c70eee553120f32491a95","title":"Key Facts","url":"/docs/getting-started/providers/crusoe#key-facts","content":"Provider id: crusoe\nProtocol: OpenAI-compatible (/chat/completions) — the Available models\n page says \"You can use the OpenAI-API compatible endpoint at\n api.inference.crusoecloud.com\", and the\n Getting Started page\n says \"Crusoe's Serverless Inference Service provides OpenAI compatible\n endpoints\"\nBase URL: https://api.inference.crusoecloud.com/v1\nDefault model: deepseek-ai/DeepSeek-V4-Flash\nModels in catalog: 12 (ids copied from the Available models page, which\n lists 13; nvidia/Nemotron-3-VoiceChat has TYPE speech-to-speech and is\n not in this catalog)\nStreaming: supported — the developer hub's\n LangChain README\n lists streaming among its features and shows llm.stream(...), and the\n Serverless Inference metrics page\n lists the label is_streaming (\"Whether the request used streaming\")\nTool calling: model-dependent — the developer hub's\n Zed README\n sets \"tools\": true for openai/gpt-oss-120b, and the LangChain README\n shows llm.bind_tools([...]) followed by response.tool_calls\nTools while streaming: not declared (false) — not exercised without\n credentials\nStructured output: not declared (false) — the LangChain README shows\n llm.with_structured_output(Summary); the response_format parameter was\n not exercised without credentials\nStructured output + tools together: not declared (false) — no\n combined probe was possible without credentials\nEmbeddings: not declared\nThinking: not declared (false) — the Zed README says\n openai/gpt-oss-120b supports reasoning_effort values low, medium and\n high; the flag is provider-wide and stays false\nBilling: free-with-card — the vendor's own wording is quoted under\n Billing below\nKey format: none declared","hierarchy":{"lvl0":"Getting Started","lvl1":"Crusoe Provider Guide","lvl2":"Key Facts","lvl3":""}},
5568
+ {"objectID":"9069c8515e4e134a9f95493b66aab852883e3a3016c0bac26a050aabafc544eb","title":"1. Get an API key","url":"/docs/getting-started/providers/crusoe#1-get-an-api-key","content":"Visit: https://console.crusoecloud.com/request-foundry (the \"Create a Managed AI account →\" link on https://docs.crusoecloud.com/create-an-account, which says \"Use Google or Github for the quickest signup.\")\nCreate an API key: the Getting Started page (https://docs.crusoecloud.com/quickstart/getting-started-with-serverless-inference) says to visit the Intelligence Foundry on the console, select Inference from the left nav, click Create API Key, optionally provide an alias and expiration date, then click Create to view and save your API key\nBilling as the vendor states it: see Billing below\nSet CRUSOE_API_KEY in your .env file","hierarchy":{"lvl0":"Getting Started","lvl1":"Crusoe Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
5569
+ {"objectID":"b4cb0db3b797a831f8a1cb71c39e744bc61ebf7154c5b3048df4c51093af4023","title":"2. Configure","url":"/docs/getting-started/providers/crusoe#2-configure","content":"The Getting Started page's Python example reads CRUSOE_API_KEY, the same\nname NeuroLink reads. The developer hub's LangChain integration reads the base\nURL from CRUSOE_API_BASE; NeuroLink reads CRUSOE_BASE_URL.","hierarchy":{"lvl0":"Getting Started","lvl1":"Crusoe Provider Guide","lvl2":"2. Configure","lvl3":""}},
5570
+ {"objectID":"1a6663a2459a604270bfc86bff077a42018d636035793bfa05803b18a70af01a","title":"3. Use it","url":"/docs/getting-started/providers/crusoe#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Crusoe Provider Guide","lvl2":"3. Use it","lvl3":""}},
5571
+ {"objectID":"3513887bd3b9ee095c926e4838e920b241fdb08522a8d513f8916c7469a870e5","title":"CLI","url":"/docs/getting-started/providers/crusoe#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider crusoe\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"crusoe\",\n credentials: { crusoe: { apiKey: process.env.CRUSOEAPIKEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Crusoe Provider Guide","lvl2":"CLI","lvl3":""}},
5572
+ {"objectID":"92bb6786360d743c44b89d7c037d036731b7b47fdc012904bf7b7fccbaf15a6a","title":"Billing","url":"/docs/getting-started/providers/crusoe#billing","content":"Three Crusoe pages are quoted here as printed; the entry records\nfree-with-card.\nThe docs announcement bar\n (Serverless Inference overview)\n reads \"Use $5 in free credits to explore Serverless Inference and Serverless\n Fine-Tuning\".\nThe Create an account page\n says \"To provision resources or use the managed inference service, you must\n enable billing on your account. You will need a valid, non-prepaid credit\n card to proceed.\"\nThe Serverless rate limits page\n lists default limits by account status:\n\n| Account status | TPM per model | RPM per model |\n| -------------------- | ------------- | ------------- |\n| No payment method | 500,000 | 30 |\n| Payment method added | 2,000,000 | 600 |\n\nThe Create an account page and the rate limits page's \"No payment method\" row\nare both quoted above. billingPolicy is a required enum (free-tier,\nfree-with-card, no-free-tier) with no value for that difference, and\nfree-with-card is recorded.\n\nThe Usage and billing page\nlists the Billing of Serverless Inference as \"Per-token\" and points to\ncrusoe.ai/cloud/pricing for pricing\ninformation.","hierarchy":{"lvl0":"Getting Started","lvl1":"Crusoe Provider Guide","lvl2":"Billing","lvl3":""}},
5573
+ {"objectID":"ff0fc6ae7cf6e594915a053fcc1bb361c3979b83dc1d3efd02aec14e8154730c","title":"Models","url":"/docs/getting-started/providers/crusoe#models","content":"| Model | Context | Vision | $/M in · out (cached) | Notes |\n| ----------------------------------------------- | ------- | ------ | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| deepseek-ai/DeepSeek-V4-Flash ⭐ | 1M | no | $0.14 / $0.28 ($0.03) | NeuroLink default. |\n| deepseek-ai/DeepSeek-V4-Pro | 1M | no | $1.74 / $3.48 ($0.15) | Fallback. |\n| openai/gpt-oss-120b | 128k | no | $0.05 / $0.20 ($0.05) | Fallback. The Zed README sets \"tools\": true and \"images\": false for this id and says it supports reasoning_effort values low, medium and high. |\n| zai/GLM-5.3 | 1M | no | $1.40 / $4.40 ($0.26) | Fallback. |\n| moonshotai/Kimi-K2.6 | 256K | yes | $0.70 / $3.50 ($0.35) | Fallback. |\n| google/gemma-4-31b-it | 262k | yes | $0.14 / $0.40 ($0.14) | Fallback. |\n| nvidia/","hierarchy":{"lvl0":"Getting Started","lvl1":"Crusoe Provider Guide","lvl2":"Models","lvl3":""}},
5574
+ {"objectID":"b311ce50136c298f62421df9154ab20cda565ded61f3e7387ecf9b8819581f07","title":"Verification status","url":"/docs/getting-started/providers/crusoe#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for Crusoe — docs-verified only, not\nlive-verified:\n\n| Probe | Result |\n| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET /v1/models answered HTTP 401 on 2026-09-29, so the model ids come from the Available models page (retrieved 2026-09-29) and the roster has not been verified |\n| Auth-failure shape | unauthenticated GET /v1/models and GET /v1/chat/completions each answered HTTP 401 on 2026-09-29 with content-type: application/json and the body {\"errors\":[\"Authentication failed\"]}. The body has no code field, so authProbe records the status and no code. errorRules carry 401, 429 and 503 |\n| Billing | three public pages quoted under Billing above, 2026-09-29 — no signup performed |\n| Tools / structured output | not exercised. Tool calling is shown in the developer hub's Zed and LangChain READMEs and structured o","hierarchy":{"lvl0":"Getting Started","lvl1":"Crusoe Provider Guide","lvl2":"Verification status","lvl3":""}},
5575
+ {"objectID":"e544a84572e588d5bffdd084793e53150dce644df4c3841c956cfb0bb1f5447f","title":"Troubleshooting","url":"/docs/getting-started/providers/crusoe#troubleshooting","content":"The causes and resolutions below are worded by Crusoe pages.\n\n| Symptom | Cause as the vendor states it | Resolution as the vendor states it |\n| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| HTTP 429 | \"Your project exceeded its TPM or RPM limit for the model.\" (Serverless rate limits) | \"Both 429 and 503 responses are transient, so you can retry the request with exponential backoff rather than failing immediately.\" The same page links Contact us for a rate limit increase |\n| HTTP 503 | \"Your request is within your limits, but the shared endpoint is experiencing unusually high load and can't accept it right now.\" (same page) | The same sentence as above: retry the request with exponential backoff |\n| A deprecated model id | \"Five Serverless Inference models were deprecated on September 12, 2026.\" (Available models page) | \"Update your API calls to use a recommended replacement model from the table below.\" The page's table lists Z.ai GLM-5.1, Z.ai GLM-5.2, DeepSeek V3, Qwen3 235B A22B and Llama 3.3 70B as deprecated |","hierarchy":{"lvl0":"Getting Started","lvl1":"Crusoe Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
5576
+ {"objectID":"a71b00260f4ebd56d1b984a48eeeba618dce64ceb95182aebd34475776031fc4","title":"See also","url":"/docs/getting-started/providers/crusoe#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Crusoe Provider Guide","lvl2":"See also","lvl3":""}},
5521
5577
  {"objectID":"f0fe203089ca0d7ef800ccc83f96dc26ffad3444adab771829b8647e714ae75e","title":"D-ID Provider Guide (avatar)","url":"/docs/getting-started/providers/d-id","content":"D-ID Provider Guide\n\nLip-synced talking-head videos via the D-ID /talks API\n\nOverview\n\nD-ID turns a still portrait + narration into a\ntalking head. NeuroLink dispatches via output: { mode: 'avatar' }\nwith provider: 'd-id'.\n\nKey Facts\nEndpoint: POST https://api.d-id.com/talks\nAuth: HTTP Basic with the API key as the user\nAsync: Submit + poll\nOutput: MP4\n\nQuick Start\nGet an API Key\n\nhttps://studio.d-id.com/account-settings\nConfigure\nGenerate\n\nCLI Usage\n\nConfiguration Reference\n\n| Environment Variable | Required | Description |\n| -------------------- | -------- | ------------ |\n| DID_API_KEY | Yes | D-ID API key |\n\nSee Also\nHeyGen Provider\nMuseTalk via Replicate","hierarchy":{"lvl0":"Getting Started","lvl1":"D-ID Provider Guide (avatar)","lvl2":"","lvl3":""}},
5522
5578
  {"objectID":"7191f611a6435621fe2d9663b42bc0bf5db33cc3248ea176c84c0f0f9220cd5b","title":"D-ID Provider Guide","url":"/docs/getting-started/providers/d-id#d-id-provider-guide","content":"Lip-synced talking-head videos via the D-ID /talks API","hierarchy":{"lvl0":"Getting Started","lvl1":"D-ID Provider Guide (avatar)","lvl2":"D-ID Provider Guide","lvl3":""}},
5523
5579
  {"objectID":"3efd84ab72e0a2f40c7103555673c3e23a3cce4108616d6d5bddc68de6ecb0dc","title":"Overview","url":"/docs/getting-started/providers/d-id#overview","content":"D-ID turns a still portrait + narration into a\ntalking head. NeuroLink dispatches via output: { mode: 'avatar' }\nwith provider: 'd-id'.","hierarchy":{"lvl0":"Getting Started","lvl1":"D-ID Provider Guide (avatar)","lvl2":"Overview","lvl3":""}},
@@ -6255,6 +6311,18 @@
6255
6311
  {"objectID":"effd805db1c992eccfff874a394a8ece66ab29e1a2663effffea816e7941f238","title":"Verification status","url":"/docs/getting-started/providers/mancer#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog records for Mancer:\n\n| Probe | Result |\n| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| Roster | authenticated GET /oai/v1/models; full response retained as evidence/mancer-roster-authenticated.json in the campaign scratchpad and every catalog price/limit machine-checked against it (Mancer re-prices — gpt-oss-120b input moved 0.024 → 0.022 within the day), HTTP 200, 2026-09-03 |\n| Auth rejection | HTTP 401, 2026-09-03 |\n| Live capability sweep | 2026-09-03 — 18-probe harness on the free model mytholite: roster, chat, maxcompletiontokens, system role, content parts, sampling params, SSE stream (usage chunk + [DONE]), jsonschema (valid JSON matching schema) and jsonobject |","hierarchy":{"lvl0":"Getting Started","lvl1":"Mancer Provider Guide","lvl2":"Verification status","lvl3":""}},
6256
6312
  {"objectID":"2fc031ba3f49f74856ae83f42061c95e272c18e9152fdf018a27c507bf27db17","title":"Troubleshooting","url":"/docs/getting-started/providers/mancer#troubleshooting","content":"| Symptom | Cause | Fix |\n| ------------------------ | ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |\n| Invalid Mancer API key | MANCER_API_KEY unset or wrong | Check the key at https://mancer.tech/dashboard |\n| Model not found | The roster changed since 2026-09-03 | Pick a current id; catalog providers retire models without notice |\n| Tools silently absent | Mancer declares tools: false | Use a tool-capable provider for agentic work — see provider capabilities |","hierarchy":{"lvl0":"Getting Started","lvl1":"Mancer Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6257
6313
  {"objectID":"03eaed001f1323b249a03ebf54953bb3af9079f0e3956ebcbe2e34bef4766534","title":"See also","url":"/docs/getting-started/providers/mancer#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Mancer Provider Guide","lvl2":"See also","lvl3":""}},
6314
+ {"objectID":"cfedd052236b6720db1dd71055fa4ee7af6e05619e746a639565b7c931107f9d","title":"MiniMax Provider Guide","url":"/docs/getting-started/providers/minimax","content":"MiniMax Provider Guide\n\nMiniMax is a Tier-2 catalog provider: its integration is one JSON file\n(src/lib/providers/catalog/minimax.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. MiniMax's GET https://api.minimax.io/v1/models answers\nHTTP 401 without a key, so the model ids come from MiniMax's public docs and\nthe roster has not been checked. No account was created and no API key was\nused to build the entry. evidence.liveMatrix is null until someone runs\nthe live capability matrix with a real key (see\nVerification status below).\n\nKey Facts\nProvider id: minimax\nProtocol: OpenAI-compatible (/chat/completions) — MiniMax's own\n OpenAI SDK page\n sets OPENAI_BASE_URL=https://api.minimax.io/v1 and calls\n client.chat.completions.create\nBase URL: https://api.minimax.io/v1\nDefault model: MiniMax-M3\nModels in catalog: 9 — the nine ids in the Supported Models table of the\n OpenAI SDK page, which are also the model enum of the\n Chat Completions reference\n (roster not verified)\nStreaming: supported — the Chat Completions reference documents stream\n (\"Whether to use streaming output, defaults to false. When set to true,\n the response will be returned in chunks.\")\nTool calling: model-dependent — the Chat Completions reference lists\n tools (\"Function tools are supported.\") and returns tool_calls; none of it\n was exercised. With model-dependent, NeuroLink falls back to its\n model-registry default per model\nTools while streaming: not declared (false)\nStructured output: not declared (false)\nStructured output + tools together: not declared (false) — no combined\n probe was run without credentials\nEmbeddings: not declared\nThinking: the catalog capabilities.thinking is false, and the entry\n sets none of MiniMax's thinking, reasoning_effort or reasoning_split\n request parameters. The Chat Completions reference says of MiniMax-M3:\n \"adaptive thinking is on by default\", and of MiniMax-M3.1-Flash-Preview:\n \"always thinks\". The OpenAI SDK page says of max_tokens: \"Thinking tokens\n count toward it too, so a value that is too small yields\n finish_reason: \"length\" with an empty content.\"\nVision: true for MiniMax-M3 and MiniMax-M3.1-Flash-Preview, where\n the OpenAI SDK page says \"Image and video inputs are supported by\n MiniMax-M3.1-Flash-Preview and MiniMax-M3 through OpenAI-compatible\n message content parts\"\nBilling: free-tier — the schema's closest value, see\n Billing below\nKey format: not validated by NeuroLink (apiKeyFormat: null)\n\nQuick Start\nGet an API key\nVisit: https://platform.minimax.io/login?source=platform_docs and register or log in (https://platform.minimax.io/docs/guides/quickstart-preparation)\nPay-as-you-go: open API Keys > Create new secret key at https://platform.minimax.io/user-center/basic-information/interface-key and copy the API Key (https://platform.minimax.io/docs/guides/quickstart-preparation)\nToken Plan: view your Subscription Key at https://platform.minimax.io/user-center/payment/token-plan. MiniMax-M3.1-Flash-Preview is stated as available only through Token Plan and MiniMax Code for now, and the Subscription Key is stated as not interchangeable with pay-as-you-go API Keys (https://platform.minimax.io/docs/api-reference/text-openai-api, https://platform.minimax.io/docs/token-plan/intro)\nBilling as the vendor words it: \"Pay-as-you-go uses standard Open Platform API Keys and consumes your account balance by actual usage.\" (https://platform.minimax.io/docs/guides/pricing-paygo) and \"New users without subscription can try the free quota from Pay-as-you-go\" (https://platform.minimax.io/docs/solutions/eigent, a tutorial dated January 23, 2026)\nSet MINIMAX_API_KEY in your .env file\nConfigure\nUse it\n\nPer-request credentials work as they do for every provider:\n\nBilling\n\nMiniMax's pay-as-you-go pricing page\n(https://platform.minimax.io/docs/guides/pricing-paygo) says: \"Pay-as-you-go\nuses standard Open Platform API Keys and consumes your account balance by\nactual usage.\" The Prerequisites page\n(https://platform.minimax.io/docs/guides/quickstart-preparation) says: \"For\npay-as-you-go, access Billing/Balance to top up if needed.\" MiniMax's Eigent\ntutorial (https://platform.minimax.io/docs/solutions/eigent, dated January 23,\n2026 and written for MiniMax M2.1) says: \"New users without subscription can\ntry the free quota from Pay-as-you-go\".\n\nThe catalog schema has no unknown billing value, so the entry records\nfree-tier as the closest value. It is not a MiniMax statement of terms.\n\nModels\n\n| Model | Context | Max output | Vision | $/M in · out (cache read) | Notes ","hierarchy":{"lvl0":"Getting Started","lvl1":"MiniMax Provider Guide","lvl2":"","lvl3":""}},
6315
+ {"objectID":"c80bae4d2aa2e431395c1a10e67a7316aa8a3121754ef8e9cd4aa263c70eee94","title":"MiniMax Provider Guide","url":"/docs/getting-started/providers/minimax#minimax-provider-guide","content":"MiniMax is a Tier-2 catalog provider: its integration is one JSON file\n(src/lib/providers/catalog/minimax.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. MiniMax's GET https://api.minimax.io/v1/models answers\nHTTP 401 without a key, so the model ids come from MiniMax's public docs and\nthe roster has not been checked. No account was created and no API key was\nused to build the entry. evidence.liveMatrix is null until someone runs\nthe live capability matrix with a real key (see\nVerification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"MiniMax Provider Guide","lvl2":"MiniMax Provider Guide","lvl3":""}},
6316
+ {"objectID":"63c9d5774bf861eba46f5de81ec4a3d9f0ea889f2933f7233cba2806bdc8899c","title":"Key Facts","url":"/docs/getting-started/providers/minimax#key-facts","content":"Provider id: minimax\nProtocol: OpenAI-compatible (/chat/completions) — MiniMax's own\n OpenAI SDK page\n sets OPENAI_BASE_URL=https://api.minimax.io/v1 and calls\n client.chat.completions.create\nBase URL: https://api.minimax.io/v1\nDefault model: MiniMax-M3\nModels in catalog: 9 — the nine ids in the Supported Models table of the\n OpenAI SDK page, which are also the model enum of the\n Chat Completions reference\n (roster not verified)\nStreaming: supported — the Chat Completions reference documents stream\n (\"Whether to use streaming output, defaults to false. When set to true,\n the response will be returned in chunks.\")\nTool calling: model-dependent — the Chat Completions reference lists\n tools (\"Function tools are supported.\") and returns tool_calls; none of it\n was exercised. With model-dependent, NeuroLink falls back to its\n model-registry default per model\nTools while streaming: not declared (false)\nStructured output: not declared (false)\nStructured output + tools together: not declared (false) — no combined\n probe was run without credentials\nEmbeddings: not declared\nThinking: the catalog capabilities.thinking is false, and the entry\n sets none of MiniMax's thinking, reasoning_effort or reasoning_split\n request parameters. The Chat Completions reference says of MiniMax-M3:\n \"adaptive thinking is on by default\", and of MiniMax-M3.1-Flash-Preview:\n \"always thinks\". The OpenAI SDK page says of max_tokens: \"Thinking tokens\n count toward it too, so a value that is too small yields\n finish_reason: \"length\" with an empty content.\"\nVision: true for MiniMax-M3 and MiniMax-M3.1-Flash-Preview, where\n the OpenAI SDK page says \"Image and video inputs are supported by\n MiniMax-M3.1-Flash-Preview and MiniMax-M3 through OpenAI-compatible\n message content parts\"\nBilling: free-tier — the schema's closest value, see\n Billing below\nKey format: not validated by NeuroLink (apiKeyFormat: null)","hierarchy":{"lvl0":"Getting Started","lvl1":"MiniMax Provider Guide","lvl2":"Key Facts","lvl3":""}},
6317
+ {"objectID":"bd3517a75c3f338279a7ca7e5c9f933cbaa3c7d7c777d0d8f83615b284e90ef0","title":"1. Get an API key","url":"/docs/getting-started/providers/minimax#1-get-an-api-key","content":"Visit: https://platform.minimax.io/login?source=platform_docs and register or log in (https://platform.minimax.io/docs/guides/quickstart-preparation)\nPay-as-you-go: open API Keys > Create new secret key at https://platform.minimax.io/user-center/basic-information/interface-key and copy the API Key (https://platform.minimax.io/docs/guides/quickstart-preparation)\nToken Plan: view your Subscription Key at https://platform.minimax.io/user-center/payment/token-plan. MiniMax-M3.1-Flash-Preview is stated as available only through Token Plan and MiniMax Code for now, and the Subscription Key is stated as not interchangeable with pay-as-you-go API Keys (https://platform.minimax.io/docs/api-reference/text-openai-api, https://platform.minimax.io/docs/token-plan/intro)\nBilling as the vendor words it: \"Pay-as-you-go uses standard Open Platform API Keys and consumes your account balance by actual usage.\" (https://platform.minimax.io/docs/guides/pricing-paygo) and \"New users without subscription can try the free quota from Pay-as-you-go\" (https://platform.minimax.io/docs/solutions/eigent, a tutorial dated January 23, 2026)\nSet MINIMAX_API_KEY in your .env file","hierarchy":{"lvl0":"Getting Started","lvl1":"MiniMax Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
6318
+ {"objectID":"609d46b3d33f1537cc0e86bff24b82501532bee2426cd5a6862affa9119eeaad","title":"3. Use it","url":"/docs/getting-started/providers/minimax#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"MiniMax Provider Guide","lvl2":"3. Use it","lvl3":""}},
6319
+ {"objectID":"49eea2a4e569953eb1bb60454a424181dc91c7f9870d1d576939d427b9ca8399","title":"CLI","url":"/docs/getting-started/providers/minimax#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider minimax\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"minimax\",\n credentials: { minimax: { apiKey: process.env.MINIMAXAPIKEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"MiniMax Provider Guide","lvl2":"CLI","lvl3":""}},
6320
+ {"objectID":"0dbc15f7ec81c9396428f8d23cbb695df2bf79b1c5a7fceef0700b5545bc8039","title":"Billing","url":"/docs/getting-started/providers/minimax#billing","content":"MiniMax's pay-as-you-go pricing page\n(https://platform.minimax.io/docs/guides/pricing-paygo) says: \"Pay-as-you-go\nuses standard Open Platform API Keys and consumes your account balance by\nactual usage.\" The Prerequisites page\n(https://platform.minimax.io/docs/guides/quickstart-preparation) says: \"For\npay-as-you-go, access Billing/Balance to top up if needed.\" MiniMax's Eigent\ntutorial (https://platform.minimax.io/docs/solutions/eigent, dated January 23,\n2026 and written for MiniMax M2.1) says: \"New users without subscription can\ntry the free quota from Pay-as-you-go\".\n\nThe catalog schema has no unknown billing value, so the entry records\nfree-tier as the closest value. It is not a MiniMax statement of terms.","hierarchy":{"lvl0":"Getting Started","lvl1":"MiniMax Provider Guide","lvl2":"Billing","lvl3":""}},
6321
+ {"objectID":"645e73b2d887d2e24667fc99cfc325bf24f2e04133b4b60fbba059716e677b3f","title":"Models","url":"/docs/getting-started/providers/minimax#models","content":"| Model | Context | Max output | Vision | $/M in · out (cache read) | Notes |\n| ---------------------------- | --------- | ---------- | ------ | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| MiniMax-M3 ⭐ | 1,000,000 | 524,288 | yes | $0.30 / $1.20 ($0.06) | NeuroLink default. \"Frontier multimodal coding model with 1M context window\". Prices are the Standard tab, \"≤ 512k input tokens\", with $0.60 / $2.40 / $0.12 struck through beside them and the label \"Permanent 50% off\"; \"> 512k input tokens\" is $0.60 / $2.40 ($0.12), with $1.20 / $4.80 / $0.24 struck through. Priority tab: \"Pricing is 1.5x standard.\" RPM 200, TPM 10,000,000. |\n| MiniMax-M3.1-Flash-Preview | 1,000,000 | 524,288 | yes | — | \"Frontier multimodal coding model with 1M context window and tunable thinking depth\". \"MiniMax-M3.1-Flash-Preview is available only through Token Plan and MiniMax Code for now.\" Not in the fallback chain. |\n| MiniMax-M2.7 | 204,800 | 204,800 | no | $0.3 / $1.2 ($0.06) | \"Beginning the j","hierarchy":{"lvl0":"Getting Started","lvl1":"MiniMax Provider Guide","lvl2":"Models","lvl3":""}},
6322
+ {"objectID":"4a740839075ee6cbf5b9cf150f6fafc7208fb9c4772236a72d81a07997903951","title":"Reasoning output","url":"/docs/getting-started/providers/minimax#reasoning-output","content":"The OpenAI SDK page says: \"For native OpenAI API with MiniMax-M3.1-Flash-Preview\nMiniMax-M3 MiniMax-M2.7 MiniMax-M2.7-highspeed MiniMax-M2.5\nMiniMax-M2.5-highspeed MiniMax-M2.1 MiniMax-M2.1-highspeed MiniMax-M2\nmodels, the content field will contain <think> tag content, which must be\npreserved completely\", and separately: \"MiniMax-M3.1-Flash-Preview provides the\nmodel's thinking content separately through the reasoning_content field,\nwhich must also be preserved completely\".\n\nThe same page lists reasoning_split as an \"Output-format switch\": \"When true,\nthinking content is separated into the reasoning_content field; when false,\nthinking stays inside content wrapped in <think> tags.\" This catalog entry\ndoes not send reasoning_split.","hierarchy":{"lvl0":"Getting Started","lvl1":"MiniMax Provider Guide","lvl2":"Reasoning output","lvl3":""}},
6323
+ {"objectID":"ea8a27a2ad19397f67e1da30b6d09cd934e2032a3b4e9b2c23cee112d5aa1761","title":"Verification status","url":"/docs/getting-started/providers/minimax#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for MiniMax — docs-verified only, not\nlive-verified:\n\n| Probe | Result |\n| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET https://api.minimax.io/v1/models answers HTTP 401 without a key (2026-09-29), so model ids are taken from the OpenAI SDK page (retrieved 2026-09-29); roster not verified |\n| Auth-failure shape | unauthenticated GET https://api.mi","hierarchy":{"lvl0":"Getting Started","lvl1":"MiniMax Provider Guide","lvl2":"Verification status","lvl3":""}},
6324
+ {"objectID":"53b6d682f1044041732dc0189793fbf9327db08dfa55648ac435cb728ff43b7e","title":"Troubleshooting","url":"/docs/getting-started/providers/minimax#troubleshooting","content":"Causes and fixes in quotation marks are MiniMax's wording, with the page named.\n\n| Symptom | Cause | Fix |\n| --------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |\n| HTTP 401 with login fail: Please carry the API secret key in the 'Authorization' field of the request header (1004) | The error-code table lists 1004 as \"not authorized / token not match group / cookie is missing, log in again\" (errorcode page) | \"please check your API Key and make sure it is correct and active.\" (https://platform.minimax.io/docs/api-reference/errorcode) |\n| Error 1008 \"insufficient balance\" | Listed in the error-code table | \"Please check your account balance.\" (https://platform.minimax.io/docs/api-reference/errorcode) |\n| Error 1002 \"rate limit\" | Listed in the error-code table | \"Please retry your requests later.\"","hierarchy":{"lvl0":"Getting Started","lvl1":"MiniMax Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6325
+ {"objectID":"e907030d03048f98452b61d0255663abd19f149d91f8ad9670b837ca0a8b7e35","title":"See also","url":"/docs/getting-started/providers/minimax#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility\nMiniMax pages this entry was built from:\n OpenAI SDK,\n Chat Completions,\n Anthropic API,\n Models,\n Model Invocation,\n Pay as You Go,\n Rate Limits,\n Error Codes,\n Prerequisites,\n Token Plan Overview","hierarchy":{"lvl0":"Getting Started","lvl1":"MiniMax Provider Guide","lvl2":"See also","lvl3":""}},
6258
6326
  {"objectID":"6748f6472fbf23ce7e62b6548376cf240e9764bce6f2ed06ee81c3628d066127","title":"Mistral AI Provider Guide","url":"/docs/getting-started/providers/mistral","content":"Mistral AI Provider Guide\n\nEuropean AI excellence with GDPR compliance and competitive free tier\n\nOverview\n\nMistral AI is a European AI company offering powerful open-source and proprietary models with built-in GDPR compliance, European data residency, and competitive pricing. Perfect for EU-based companies and privacy-conscious applications.\n\nMistral AI is EU-based with European data residency by default. Ideal for GDPR-compliant applications without additional configuration required.\n\nKey Benefits\n🇪🇺 European Company: GDPR-compliant by design\n🆓 Free Tier: Generous free tier for experimentation\n🚀 High Performance: Competitive with GPT-4 and Claude\n💰 Cost-Effective: Lower pricing than major US providers\n🔓 Open Source: Mistral 7B model fully open-source\n⚡ Fast Inference: Optimized for low latency\n\nUse Cases\nEU Compliance: GDPR-compliant AI for European companies\nCost Optimization: Lower costs than OpenAI/Anthropic\nCode Generation: Excellent coding capabilities (Codestral)\nEnterprise: Production-ready with EU data residency\nResearch: Open-source models for experimentation\n\nQuick Start\nGet Your API Key\nVisit Mistral AI Console\nCreate a free account\nGo to \"API Keys\" section\nClick \"Create new key\"\nCopy the key (format: xxx...)\nConfigure NeuroLink\n\nAdd to your .env file:\nTest the Setup\n\nModel Selection Guide\n\nAvailable Models\n\n| Model | Model ID | Context | Vision | Use Case |\n| ---------------------- | ------------------------- | ------- | ------ | -------------------------------------------------------- |\n| Mistral Large 3 | mistral-large-latest | 256K | Yes | Flagship, agentic — native vision replaces Pixtral Large |\n| Mistral Medium 3.1 | mistral-medium-latest | 128K | Yes | Balanced performance/cost |\n| Mistral Small 4 | mistral-small-latest | 128K | Yes | MoE architecture, strong reasoning at low cost |\n| Magistral Medium | magistral-medium-latest | 128K | Yes | Reasoning-focused |\n| Magistral Small | magistral-small-latest | 128K | Yes | Reasoning (Apache 2.0 license) |\n| Codestral | codestral-latest | 256K | No | Code generation and review |\n| Devstral 2 | devstral-2512 | 256K | No | Agentic coding workflows |\n| Pixtral Large | pixtral-large | 128K | Yes | Vision (deprecated — use Mistral Large 3) |\n| Mistral Embed | mistral-embed | — | — | Embeddings (1024 dimensions) |\n| Codestral Embed | codestral-embed | — | — | Code embeddings |\n\nPixtral Large has been superseded by Mistral Large 3, which includes native vision capabilities alongside its flagship text performance. New projects should use mistral-large-latest for both text and vision tasks. The pixtral-large model ID remains available but is considered deprecated.\n\nFree Tier Details\n\n✅ What's Included:\n$5 free credits for new users\nNo time limit on free credits\nAll models available on free tier\nNo credit card required for signup\n\n💡 Free Tier Estimate:\n~2.5M tokens with mistral-small\n~625K tokens with mistral-large\n~5M tokens with codestral\n\nModel Selection by Use Case\n\nGDPR Compliance & European Deployment\n\nWhy Mistral for EU Companies\n\nBuilt-in GDPR Compliance:\n✅ European company (France-based)\n✅ EU data centers\n✅ GDPR-compliant by design\n✅ No data sent to US servers\n✅ Data residency in Europe\n\nData Residency Configuration\n\nGDPR Compliance Checklist\n\nCompliance Features\n\n| Feature | Mistral AI | Other Providers |\n| -------------------- | ----------------- | --------------- |\n| EU Data Centers | ✅ Yes | ⚠️ Limited |\n| GDPR Compliance | ✅ Built-in | ⚠️ Varies |\n| Data Residency | ✅ EU-only option | ⚠️ Often US |\n| Privacy Controls | ✅ Granular | ⚠️ Limited |\n| Audit Logs | ✅ Available | ⚠️ Varies |\n\nSDK Integration\n\nBasic Usage\n\nWith Specific Model\n\nStreaming Responses\n\nMulti-Language Support\n\nCost Tracking\n\nCLI Usage\n\nBasic Commands\n\nAdvanced Usage\n\nCost-Effective Workflows\n\nConfiguration Options\n\nEnvironment Variables\n\nProgrammatic Configuration\n\nEnterprise Deployment\n\nProduction Setup\n\nMulti-Region Deployment\n\nCost Optimization\n\nTroubleshooting\n\nCommon Issues\n\"Invalid API Key\"\n\nProblem: API key is incorrect or expired.\n\nSolution:\n\"Rate Limit Exceeded\"\n\nProblem: Exceeded free tier or paid tier limits.\n\nSolution:\n\"Insufficient Credits\"\n\nProblem: Free tier exhausted.\n\nSolution:\nAdd payment method in Mistral console\nUse fallback provider\nMonitor usage:\nSlow Response Times\n\nProblem: Model or network latency.\n\nSolution:\n\nBest Practices\nGDPR-Compliant Usage\nCost Optimization\n","hierarchy":{"lvl0":"Getting Started","lvl1":"Mistral AI Provider Guide","lvl2":"","lvl3":""}},
6259
6327
  {"objectID":"0ce7b52929014d0ecaddc797a9d0dcdb7977f696c76a71ab2114290e61fd0ed7","title":"Mistral AI Provider Guide","url":"/docs/getting-started/providers/mistral#mistral-ai-provider-guide","content":"European AI excellence with GDPR compliance and competitive free tier","hierarchy":{"lvl0":"Getting Started","lvl1":"Mistral AI Provider Guide","lvl2":"Mistral AI Provider Guide","lvl3":""}},
6260
6328
  {"objectID":"065784e2ef6ad614a2508b05360fcd65d3501b5f4807a64becbf0a3c8a188475","title":"Overview","url":"/docs/getting-started/providers/mistral#overview","content":"Mistral AI is a European AI company offering powerful open-source and proprietary models with built-in GDPR compliance, European data residency, and competitive pricing. Perfect for EU-based companies and privacy-conscious applications.\n\nMistral AI is EU-based with European data residency by default. Ideal for GDPR-compliant applications without additional configuration required.","hierarchy":{"lvl0":"Getting Started","lvl1":"Mistral AI Provider Guide","lvl2":"Overview","lvl3":""}},
@@ -6302,6 +6370,17 @@
6302
6370
  {"objectID":"3b83698318a22fb8015c4fba394fcaa63da10ed1e961d12897dbf67f6410dccd","title":"Verification status","url":"/docs/getting-started/providers/moark#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for Moark — deliberately thinner than a\nlive-verified entry, since no key was created:\n\n| Probe | Result |\n| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET https://moark.com/v1/models, HTTP 200, 222 models, 2026-09-28 |\n| Docs cross-check | docs/openapi/v1, docs/products/apis, docs/products/apis/texts/text-generation, docs/products/apis/texts/function-calling, docs/billing/purchase — all fetched 2026-09-28, confirm OpenAI-compatible wire shape, Bearer auth, and prepaid billing |\n| Auth rejection | not probed — would require a POST request, out of scope for credential-free onboarding |\n| Live capability sweep | not run — no key was created or used |\n\nBecause no authenticated or POST request was made, capabilities.tools is\nrecorded as \"model","hierarchy":{"lvl0":"Getting Started","lvl1":"Moark Provider Guide","lvl2":"Verification status","lvl3":""}},
6303
6371
  {"objectID":"45340dcdd3f1c711d874178072b930664a8298ac66f0e7005cf30fdca7363fbf","title":"Troubleshooting","url":"/docs/getting-started/providers/moark#troubleshooting","content":"| Symptom | Cause | Fix |\n| ------------------------------------------ | ---------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |\n| Requests fail with an auth-shaped error | MOARK_API_KEY unset, wrong, or the account has no funded package | Check the token at https://moark.com/dashboard/tokens and confirm a prepaid package is active |\n| Model not found | The roster changed since 2026-09-28 | Pick a current id from the unauthenticated GET https://moark.com/v1/models roster |\n| Structured output not returned as expected | This entry doesn't send response_format — Moark only documents guided_json/guided_choice | Not currently wired through the generic OpenAI-compat client; treat structuredOutput as unsupported until a live probe proves otherwise |\n| Tool calls silently ignored | Function calling is documented as model-dependent, not universal | Confirm the chosen model is one of Moark's documented Function-Calling models before relying on tools |","hierarchy":{"lvl0":"Getting Started","lvl1":"Moark Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6304
6372
  {"objectID":"e716f0196dff4264a6cf90d4f76e00e364f8a9ad052afed344476189ee5c8e5d","title":"See also","url":"/docs/getting-started/providers/moark#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration, and the live-verification steps this entry still needs\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Moark Provider Guide","lvl2":"See also","lvl3":""}},
6373
+ {"objectID":"4edd22b292b861e3eb9d1984a7e4202708507d8241b41fa76af5909c78caf17a","title":"Moonshot AI (Kimi) Provider Guide","url":"/docs/getting-started/providers/moonshot-ai","content":"Moonshot AI (Kimi) Provider Guide\n\nMoonshot AI's Kimi API is a Tier-2 catalog provider: OpenAI-wire-compatible,\nso its integration is one JSON file (src/lib/providers/catalog/moonshot-ai.json)\nrather than hand-written code. That file is the source of truth for everything\non this page. The one behavioural setting it carries is the\nreplayReasoningContent quirk, explained under Key Facts.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. The vendor's GET /v1/models needs a key (an unauthenticated\nGET answers HTTP 401), so the model ids come from the vendor's public docs at\nhttps://platform.kimi.ai/docs/models and the roster has not been checked.\nevidence.liveMatrix is null until someone runs the live capability matrix\nwith a real key (see Verification status below). No\naccount was created and no API key was used to build this entry.\n\nKey Facts\nProvider id: moonshot-ai (aliases moonshot, kimi)\nProtocol: OpenAI-compatible (/chat/completions). The\n Quickstart says: \"Kimi API lets you\n interact with Kimi models and is compatible with both the OpenAI and Anthropic\n API formats.\"\nBase URL: https://api.moonshot.ai/v1. The docs and console live on\n platform.kimi.ai and call the product the Kimi API; the API host is\n api.moonshot.ai.\nDefault model: kimi-k3\nModels in catalog: 4 — the models the\n Model List names under \"Multi-modal\n Model\". The chat request schema in the vendor's\n OpenAPI file names the same four\n ids.\nStreaming: supported. The\n streaming guide\n documents stream responses as Content-Type: text/event-stream (SSE) ending\n with data: [DONE].\nTool calling: true — the\n tool-calls guide\n documents the tools parameter and tool_calls (including tool calls in\n streaming output), and the\n Kimi K3,\n Kimi K2.7 Code\n and Kimi K2.6\n pages describe tool calling for their models. The\n parameter reference says\n kimi-k3 supports tool_choice values auto / none / required, while\n kimi-k2.6 and kimi-k2.7-code \"return an error if it is passed\" for\n required.\nTools while streaming: true, per the tool-calls guide section \"Handle\n tool_calls in Streaming Output\"\nStructured output: supported — response_format accepts json_object and\n json_schema\n (response_format guide).\n For kimi-k2.6 the same guide states: \"kimi-k2.6 occasionally behaves\n unstably with complex schemas; for example, $ref may return a Markdown code\n block, oneOf may be ignored, and partial=true may output fields outside the\n schema.\"\nStructured output + tools together: not declared (false) — no combined\n probe was run without credentials\nEmbeddings: not declared\nThinking: not declared (false) on this entry. The vendor's\n Thinking Models\n page documents reasoning_content, reasoning_effort for kimi-k3 and the\n thinking parameter for kimi-k2.6; the generic catalog provider does not\n send reasoning_effort or thinking, so NeuroLink's thinkingLevel is not\n mapped to them.\nReasoning replay (quirks.replayReasoningContent: true): the Thinking\n Models page says \"For K3, this is required in multi-turn conversations and\n tool-call loops\", and that for kimi-k2.7-code \"you must therefore (not\n optionally) keep the reasoning_content of historical assistant messages in\n messages as-is\". The quirk sends the assistant turns' reasoning_content\n back on later requests. It has not been exercised against the live API.\nBilling: no-free-tier — see Billing below\nKey format: not declared\n\nQuick Start\nGet an API key\nVisit: https://platform.kimi.ai/console/api-keys and sign in, then create and copy an API key (https://platform.kimi.ai/docs/overview describes signing in to the Kimi API Platform and creating a key under API Keys)\nCreate the key on platform.kimi.ai: the errors page states that keys issued on platform.kimi.ai are independent from keys issued on other regional Kimi platforms, and that \"Mixing keys across platforms returns 401.\" (https://platform.kimi.ai/docs/api/errors)\nTop up before use: \"To prevent abuse, you need to recharge at least $1 to start using, and when your cumulative recharge reaches $5, you will receive a $5 voucher.\" (https://platform.kimi.ai/docs/pricing/limits); the Kimi K3 page states \"Kimi K3 is a flagship model: it is unlocked after a successful top-up (minimum $1).\" (https://platform.kimi.ai/docs/guide/kimi-k3-quickstart)\nSet MOONSHOT_AI_API_KEY in your .env file (MOONSHOT_API_KEY, the variable Kimi's own docs use, is also read)\nConfigure\nUse it\n\nPer-request credentials work as they do for the other catalog providers:\n\nBilling\n\nThe Recharge and Rate Limiting\npage says: \"To prevent abuse, you need to recharge at least $1 to start using,\nand when your cumulative recharge reaches $5, you will receive a $5 voucher.\" The\nCompare with Other Kimi Products\npage describes the Kimi API Open Platform as \"pay-as-you-go billing with no\nsubscription plan\"; the Troubleshooting page repeats \"pay-as-you-go with no\nsubscription plan\". The entry records no-free-tier.\n\nThe\nTroubleshooting page also\nanswers \"C","hierarchy":{"lvl0":"Getting Started","lvl1":"Moonshot AI (Kimi) Provider Guide","lvl2":"","lvl3":""}},
6374
+ {"objectID":"2733232385d5e17ab8c37f9cf9b20f4743c02e60a05ae0b99c5a52b9dc960a50","title":"Moonshot AI (Kimi) Provider Guide","url":"/docs/getting-started/providers/moonshot-ai#moonshot-ai-kimi-provider-guide","content":"Moonshot AI's Kimi API is a Tier-2 catalog provider: OpenAI-wire-compatible,\nso its integration is one JSON file (src/lib/providers/catalog/moonshot-ai.json)\nrather than hand-written code. That file is the source of truth for everything\non this page. The one behavioural setting it carries is the\nreplayReasoningContent quirk, explained under Key Facts.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. The vendor's GET /v1/models needs a key (an unauthenticated\nGET answers HTTP 401), so the model ids come from the vendor's public docs at\nhttps://platform.kimi.ai/docs/models and the roster has not been checked.\nevidence.liveMatrix is null until someone runs the live capability matrix\nwith a real key (see Verification status below). No\naccount was created and no API key was used to build this entry.","hierarchy":{"lvl0":"Getting Started","lvl1":"Moonshot AI (Kimi) Provider Guide","lvl2":"Moonshot AI (Kimi) Provider Guide","lvl3":""}},
6375
+ {"objectID":"6c9de492370c1b3bb61033e73d6c0bf044313d79545c326aa1c19ac8ab4fef49","title":"Key Facts","url":"/docs/getting-started/providers/moonshot-ai#key-facts","content":"Provider id: moonshot-ai (aliases moonshot, kimi)\nProtocol: OpenAI-compatible (/chat/completions). The\n Quickstart says: \"Kimi API lets you\n interact with Kimi models and is compatible with both the OpenAI and Anthropic\n API formats.\"\nBase URL: https://api.moonshot.ai/v1. The docs and console live on\n platform.kimi.ai and call the product the Kimi API; the API host is\n api.moonshot.ai.\nDefault model: kimi-k3\nModels in catalog: 4 — the models the\n Model List names under \"Multi-modal\n Model\". The chat request schema in the vendor's\n OpenAPI file names the same four\n ids.\nStreaming: supported. The\n streaming guide\n documents stream responses as Content-Type: text/event-stream (SSE) ending\n with data: [DONE].\nTool calling: true — the\n tool-calls guide\n documents the tools parameter and tool_calls (including tool calls in\n streaming output), and the\n Kimi K3,\n Kimi K2.7 Code\n and Kimi K2.6\n pages describe tool calling for their models. The\n parameter reference says\n kimi-k3 supports tool_choice values auto / none / required, while\n kimi-k2.6 and kimi-k2.7-code \"return an error if it is passed\" for\n required.\nTools while streaming: true, per the tool-calls guide section \"Handle\n tool_calls in Streaming Output\"\nStructured output: supported — response_format accepts json_object and\n json_schema\n (response_format guide).\n For kimi-k2.6 the same guide states: \"kimi-k2.6 occasionally behaves\n unstably with complex schemas; for example, $ref may return a Markdown code\n block, oneOf may be ignored, and partial=true may output fields outside the\n schema.\"\nStructured output + tools together: not declared (false) — no combined\n probe was run without credentials\nEmbeddings: not declared\nThinking: not declared (false) on this entry. The vendor's\n Thinking Models\n page documents reasoning_content, reasoning_effort for kimi-k3 and the\n thinking parameter for kimi-k2.6; the generic catalog provider does not\n send reasoning_effort or thinking, so NeuroL","hierarchy":{"lvl0":"Getting Started","lvl1":"Moonshot AI (Kimi) Provider Guide","lvl2":"Key Facts","lvl3":""}},
6376
+ {"objectID":"4a8731f78ed403bf9c3ba17c6f1a39aa3f1eb40b0803bd820834ff33a80ca191","title":"1. Get an API key","url":"/docs/getting-started/providers/moonshot-ai#1-get-an-api-key","content":"Visit: https://platform.kimi.ai/console/api-keys and sign in, then create and copy an API key (https://platform.kimi.ai/docs/overview describes signing in to the Kimi API Platform and creating a key under API Keys)\nCreate the key on platform.kimi.ai: the errors page states that keys issued on platform.kimi.ai are independent from keys issued on other regional Kimi platforms, and that \"Mixing keys across platforms returns 401.\" (https://platform.kimi.ai/docs/api/errors)\nTop up before use: \"To prevent abuse, you need to recharge at least $1 to start using, and when your cumulative recharge reaches $5, you will receive a $5 voucher.\" (https://platform.kimi.ai/docs/pricing/limits); the Kimi K3 page states \"Kimi K3 is a flagship model: it is unlocked after a successful top-up (minimum $1).\" (https://platform.kimi.ai/docs/guide/kimi-k3-quickstart)\nSet MOONSHOT_AI_API_KEY in your .env file (MOONSHOT_API_KEY, the variable Kimi's own docs use, is also read)","hierarchy":{"lvl0":"Getting Started","lvl1":"Moonshot AI (Kimi) Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
6377
+ {"objectID":"af30fbe6d53bcf9f4eac43820f8cf5dc1fb72a00c25019b17c90de907fcbd4c3","title":"3. Use it","url":"/docs/getting-started/providers/moonshot-ai#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Moonshot AI (Kimi) Provider Guide","lvl2":"3. Use it","lvl3":""}},
6378
+ {"objectID":"994faf0444fc1a5eb35affc628c6fb049e8689ddfe2f6301b7a41c897ecde985","title":"CLI","url":"/docs/getting-started/providers/moonshot-ai#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider moonshot-ai\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"moonshot-ai\",\n credentials: { moonshotAi: { apiKey: process.env.MOONSHOTAIAPI_KEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Moonshot AI (Kimi) Provider Guide","lvl2":"CLI","lvl3":""}},
6379
+ {"objectID":"40e7d4cb8f4c672680a61619778320d3cc9eef4e67b968c998d199febc3c51a7","title":"Billing","url":"/docs/getting-started/providers/moonshot-ai#billing","content":"The Recharge and Rate Limiting\npage says: \"To prevent abuse, you need to recharge at least $1 to start using,\nand when your cumulative recharge reaches $5, you will receive a $5 voucher.\" The\nCompare with Other Kimi Products\npage describes the Kimi API Open Platform as \"pay-as-you-go billing with no\nsubscription plan\"; the Troubleshooting page repeats \"pay-as-you-go with no\nsubscription plan\". The entry records no-free-tier.\n\nThe\nTroubleshooting page also\nanswers \"Can I try the models before topping up?\" with \"You can run a minimal\ntest in the Playground to confirm whether a model and prompt fit your scenario\".\n\nThe limits page lists rate limits by cumulative recharge amount. Tier0\n(cumulative recharge $1) is listed as concurrency 1, RPM 3, TPM 500,000 and TPD\n1,500,000.","hierarchy":{"lvl0":"Getting Started","lvl1":"Moonshot AI (Kimi) Provider Guide","lvl2":"Billing","lvl3":""}},
6380
+ {"objectID":"0eb8ea617af51facc39b20fb4df5a589f9c61ce7950fd9c155c0948dce72ab33","title":"Models","url":"/docs/getting-started/providers/moonshot-ai#models","content":"| Model | Context | Vision | $/M in · out (cached) | Notes |\n| -------------------------- | --------- | ------ | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| kimi-k3 ⭐ | 1,048,576 | yes | $3.00 / $15.00 (cached $0.30) | NeuroLink default. Model List: \"Kimi's most capable model to date\". Cache write $3.00 (TTL 5min) or $6.00 (TTL 1h). \"K3 always has thinking mode enabled\". |\n| kimi-k2.7-code | 262,144 | yes | $0.95 / $4.00 (cached $0.19) | Fallback. Model List: \"Kimi's dedicated coding model.\" \"Kimi K2.7 Code does not support non-thinking mode.\" |\n| kimi-k2.7-code-highspeed | 262,144 | yes | $1.90 / $8.00 (cached $0.38) | Fallback. Model List: \"High-Speed v","hierarchy":{"lvl0":"Getting Started","lvl1":"Moonshot AI (Kimi) Provider Guide","lvl2":"Models","lvl3":""}},
6381
+ {"objectID":"ad0c92c820f2a3ddfbd012d258d431b73be816bdc46baaeee576d72993a41569","title":"Verification status","url":"/docs/getting-started/providers/moonshot-ai#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the catalog\ncurrently records for Moonshot AI — docs-verified only, not live-verified:\n\n| Probe | Result |\n| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET https://api.moonshot.ai/v1/models answered HTTP 401 on 2026-09-29, so the roster was not read; the four model ids come from https://platform.kimi.ai/docs/models (retrieved 2026-09-29) and match the chat request schema in https://platform.kimi.ai/docs/openapi.json |\n| Auth-failure shape | the same unauthenticated GET returned HTTP 401 with body {\"error\":{\"message\":\"Incorrect API key provided\",\"type\":\"incorrect_api_key_error\"}} (no error.code field); the errors page lists incorrect_api_key_error — \"Incorrect API key provided\" under 401. No key was used |\n| Billing | the limits page says \"you need to recharge at least $1 to start using\" — see Billing, 2026-09-29 |\n| Tools / structured output | documented on the tool-calls and response_format guides linked above; the tool-calling and structured-output","hierarchy":{"lvl0":"Getting Started","lvl1":"Moonshot AI (Kimi) Provider Guide","lvl2":"Verification status","lvl3":""}},
6382
+ {"objectID":"9f6b4db025d6e1252bd3f7a94930d1aea9dc59cbf27c76377e19710c2beb74b1","title":"Troubleshooting","url":"/docs/getting-started/providers/moonshot-ai#troubleshooting","content":"The rows restate what the vendor's\nerrors page or\nTroubleshooting page says.\n\n| Symptom | Cause (vendor wording) | Fix (vendor wording) |\n| --------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |\n| HTTP 401 incorrect_api_key_error | \"The API key was not provided, or the key is incorrect.\" | \"Make sure the endpoint matches the platform where the key was created.\" |\n| HTTP 404 resource_not_found_error | \"Model not found, or this account does not have permission to access the model\" | \"Check the spelling of the model parameter and the account tier.\" |\n| HTTP 429 engine_overloaded_error | \"The service node is under high load (for example, peak-hour capacity pressure).\" | \"Wait as indicated by Retry-After, reduce concurrency, and retry with exponential backoff.\" |\n| HTTP 429 rate_limit_reached_error | \"an organization-level concurrency, RPM, TPM, or TPD limit was reached\" | \"Reduce request frequency, or see Top-up and Rate Limits to upgrade your tier\" |\n| HTTP 429 exceeded_current_quota_error | \"insufficient balance, an overdue account, or an expired voucher\" | \"Check available_balance with the balance API and top up.\" |\n| HTTP 504 on a long non-streaming request | \"No response from the server for 900 seconds; the gateway returns an HTML timeout page.\" ","hierarchy":{"lvl0":"Getting Started","lvl1":"Moonshot AI (Kimi) Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6383
+ {"objectID":"a7859bbb6d60081bf5583fd1414179b4fc56ee545bee393df69d9a55884eb591","title":"See also","url":"/docs/getting-started/providers/moonshot-ai#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Moonshot AI (Kimi) Provider Guide","lvl2":"See also","lvl3":""}},
6305
6384
  {"objectID":"2ab4fa325c367a5d32539b2362c5e11083701804fdec34015f682453e40c3f16","title":"Morph Provider Guide","url":"/docs/getting-started/providers/morph","content":"Morph Provider Guide\n\nMorph is a Tier-2 catalog provider: OpenAI-wire-compatible with one\ndocumented quirk, so its entire integration is one JSON file\n(src/lib/providers/catalog/morph.json) rather than hand-written code. That\nfile is the source of truth for everything on this page.\n\nKey Facts\nProvider id: morph (alias: morphllm)\nProtocol: OpenAI-compatible (/chat/completions)\nBase URL: https://api.morphllm.com/v1\nDefault model: morph-v3-large\nModels in catalog: 2\nStreaming: supported\nTool calling: not supported — Morph's catalog entry declares\n tools: false. morph-v3-large echoes a literal <tool_call>... block as\n plain text instead of a structured tool call, and morph-v3-fast ignores\n the tools parameter entirely.\nStructured output: supported (response_format: json_object/schema)\nEmbeddings: not supported\nQuirk — messageContentFormat: \"string\": Morph rejects the OpenAI\n content-parts array format (and the null content OpenAI sends on an\n assistant message with tool calls) with HTTP 500. NeuroLink's\n ConfiguredOpenAICompatProvider normalizes every message to a plain string\n before sending, so this should not surface as an error in normal use.\nBilling: free-with-card — a payment method must be on file; until one is\n added, calls are rate-limited to 5 requests/minute\nKey format: none declared\n\nQuick Start\nGet an API key\nVisit: https://morphllm.com/dashboard and sign in\nAdd a payment method (required to lift the 5 req/min limit)\nGenerate an API key from the dashboard\nSet MORPH_API_KEY in your .env file\nConfigure\nUse it\n\nPer-request credentials work as they do for every provider:\n\nModels\n\n| Model | Context | Vision | $/M in · out | Notes |\n| ------------------- | ------- | ------ | ------------ | ---------------------------------------------------------------------------------------------------------------------------- |\n| morph-v3-large ⭐ | 262K | no | $0.9 / $1.9 | Recommended default; a \"Fast Apply\" code-editing model. Emits tool-call syntax as literal text rather than a real tool call. |\n| morph-v3-fast | 262K | no | $0.8 / $1.2 | Faster/cheaper sibling; silently ignores the tools parameter if one is sent. |\n\nBoth models share a 262,144-token context window and a 131,072-token max\noutput, per the catalog default.\n\nFallback order when the default is unavailable: morph-v3-fast.\n\nVerification status\n\nTier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog records for Morph:\n\n| Probe | Result |\n| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | authenticated GET /v1/models, HTTP 200, 2026-09-05 |\n| Auth rejection | HTTP 401, 2026-09-05 |\n| Live capability sweep | 2026-09-05, probed against both models. Plain chat and streaming worked on each. Sending OpenAI's content-parts array format returned HTTP 500 (confirming the need for messageContentFormat: \"string\"). Tool-call requests did not produce a real tool call on either model","hierarchy":{"lvl0":"Getting Started","lvl1":"Morph Provider Guide","lvl2":"","lvl3":""}},
6306
6385
  {"objectID":"f68406102c7c069850141b967ce4866758e0c65095a1039e3985669272af7625","title":"Morph Provider Guide","url":"/docs/getting-started/providers/morph#morph-provider-guide","content":"Morph is a Tier-2 catalog provider: OpenAI-wire-compatible with one\ndocumented quirk, so its entire integration is one JSON file\n(src/lib/providers/catalog/morph.json) rather than hand-written code. That\nfile is the source of truth for everything on this page.","hierarchy":{"lvl0":"Getting Started","lvl1":"Morph Provider Guide","lvl2":"Morph Provider Guide","lvl3":""}},
6307
6386
  {"objectID":"a26649858683fee922e2e57d913ee768465b9570afcf662a56b8c76e6b5e7ad7","title":"Key Facts","url":"/docs/getting-started/providers/morph#key-facts","content":"Provider id: morph (alias: morphllm)\nProtocol: OpenAI-compatible (/chat/completions)\nBase URL: https://api.morphllm.com/v1\nDefault model: morph-v3-large\nModels in catalog: 2\nStreaming: supported\nTool calling: not supported — Morph's catalog entry declares\n tools: false. morph-v3-large echoes a literal <tool_call>... block as\n plain text instead of a structured tool call, and morph-v3-fast ignores\n the tools parameter entirely.\nStructured output: supported (response_format: json_object/schema)\nEmbeddings: not supported\nQuirk — messageContentFormat: \"string\": Morph rejects the OpenAI\n content-parts array format (and the null content OpenAI sends on an\n assistant message with tool calls) with HTTP 500. NeuroLink's\n ConfiguredOpenAICompatProvider normalizes every message to a plain string\n before sending, so this should not surface as an error in normal use.\nBilling: free-with-card — a payment method must be on file; until one is\n added, calls are rate-limited to 5 requests/minute\nKey format: none declared","hierarchy":{"lvl0":"Getting Started","lvl1":"Morph Provider Guide","lvl2":"Key Facts","lvl3":""}},
@@ -6319,6 +6398,16 @@
6319
6398
  {"objectID":"55f78bb7169dd54c105fe7d829e4af0ac82635046bebf48350dedf086711b09d","title":"1. Get a Replicate Token","url":"/docs/getting-started/providers/musetalk#1-get-a-replicate-token","content":"https://replicate.com/account/api-tokens","hierarchy":{"lvl0":"Getting Started","lvl1":"MuseTalk Provider Guide (avatar via Replicate)","lvl2":"1. Get a Replicate Token","lvl3":""}},
6320
6399
  {"objectID":"1a32a023806e0bc683c11be23cd003efd38edcb7da8ee2eb9dbf0632d7fdc93f","title":"Configuration Reference","url":"/docs/getting-started/providers/musetalk#configuration-reference","content":"| Environment Variable | Required | Description |\n| --------------------- | -------- | ------------------------ |\n| REPLICATE_API_TOKEN | Yes | Replicate token (shared) |","hierarchy":{"lvl0":"Getting Started","lvl1":"MuseTalk Provider Guide (avatar via Replicate)","lvl2":"Configuration Reference","lvl3":""}},
6321
6400
  {"objectID":"ec367313e5b5dd65b2c473ea1344e2aea7697fad04c59fb75468e1f4689bc75a","title":"See Also","url":"/docs/getting-started/providers/musetalk#see-also","content":"HeyGen Provider\nD-ID Provider\nReplicate Provider","hierarchy":{"lvl0":"Getting Started","lvl1":"MuseTalk Provider Guide (avatar via Replicate)","lvl2":"See Also","lvl3":""}},
6401
+ {"objectID":"47b465ea03d8d1b35468ff377c8124533a71cb1052b9746dbbe5db02a05f8c66","title":"Nebius Token Factory Provider Guide","url":"/docs/getting-started/providers/nebius","content":"Nebius Token Factory Provider Guide\n\nNebius Token Factory is a Tier-2 catalog provider: OpenAI-wire-compatible,\nwith no catalog quirks set, so its entire integration is one JSON file\n(src/lib/providers/catalog/nebius.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs-verified, not yet\nlive-verified. The vendor's GET /v1/models needs a key (an unauthenticated\nrequest answers HTTP 401), so the model ids come from the vendor's public model\ncatalog and the roster has not been checked against the API. No account was\ncreated and no API key was used to build it. evidence.liveMatrix is null\nuntil someone runs the live capability matrix with a real key (see\nVerification status below).\n\nKey Facts\nProvider id: nebius\nProtocol: OpenAI-compatible (/chat/completions) — the API introduction\n says \"Nebius Token Factory offers an OpenAI-compatible API for inference and\n fine-tuning.\" (docs)\nBase URL: https://api.tokenfactory.nebius.com/v1\nDefault model: Qwen/Qwen3-235B-A22B-Instruct-2507\nModels in catalog: 7, listed in the Models table below\nStreaming: supported — the chat completion reference documents stream,\n with data-only server-sent events and a stream \"terminated by a data: [DONE]\n message\" (reference)\nTool calling: model-dependent — the\n Function calling & Tools page\n documents tools and tool_choice, and the public model catalog lists\n function_calling in use_cases for 6 of the 7 models in this entry (not\n for openbmb/MiniCPM-V-4_5)\nTools while streaming: declared (true) — the reference's streaming\n delta schema has a tool_calls field described as \"The tool calls generated\n by the model, such as function calls.\"\nStructured output: declared (true) — the\n Structured output & JSON page\n documents response_format with json_schema and json_object, and says\n \"Use JSON mode tag in on a model card to find a model with structured output\n supported.\" The public catalog carries the JSON mode tag on 6 of the 7\n models here: the default, the four fallbacks and openbmb/MiniCPM-V-4_5\nStructured output + tools together: not declared (false) — no combined\n probe was possible without credentials\nVision: openbmb/MiniCPM-V-4_5 is vision: true (catalog type\n image2text with image in use_cases). The\n Vision capabilities example\n passes an image as image_url, either \"A URL to the image\" or \"A base64\n encoded image directly in the request.\"\nEmbeddings: not declared on this catalog entry. The public model catalog\n lists an embedding model type, but NeuroLink's generic\n ConfiguredOpenAICompatProvider (which Tier-2 catalog entries use) has\n no native embed()/embedMany() — BaseProvider's default throws — so this\n flag tracks that, not the vendor's own API surface\nThinking: not declared (false) — the reference lists a\n reasoning_effort request field (none, minimal, low, medium, high,\n xhigh, max) and reasoning_content / reasoning response fields; no\n request using them was sent\nBilling: free-with-card — the billing page says \"Setting up a billing\n account requires a bank card.\" and \"Upon first sign-up, you receive $1 in\n trial credit, valid for 30 days.\"\nKey format: none declared\n\nQuick Start\nGet an API key\nVisit: https://tokenfactory.nebius.com/ and create an account; the quickstart (https://docs.tokenfactory.nebius.com/quickstart) says: \"Log in using your Google or GitHub account\"\nCreate an API key (https://docs.tokenfactory.nebius.com/api-reference/introduction#authentication): go to the API keys section, click Create API key, enter the key name, click Create, and save the displayed key — \"Save the displayed API key. You cannot open it later in Nebius Token Factory.\"\nBilling (https://docs.tokenfactory.nebius.com/other-capabilities/billing-new): \"Billing setup is mandatory—you cannot complete onboarding without it.\" \"Setting up a billing account requires a bank card.\" \"Upon first sign-up, you receive $1 in trial credit, valid for 30 days.\"\nSet NEBIUS_API_KEY in your .env file (the vendor's docs read NEBIUSAPIKEY)\nConfigure\nUse it\n\nPer-request credentials:\n\nModels\n\n| Model | Context (max_model_len) | Vision | Price per M tokens, in / out | Notes |\n| --------------------------------------- | ------------------------- | ------ | ---------------------------- | ---------------------------------------------------------------------- |\n| Qwen/Qwen3-235B-A22B-Instruct-2507 ⭐ | 262,144 | no | 0.2 / 0.6 | NeuroLink default; JSON mode tag; function_calling in use_cases. |\n| deepseek-ai/DeepSeek-V4-Flash-0731 | 1,024,000 | no | 0.14 / 0.28 | Fallback; JSON mode tag; function_calling in use_cases. |\n| openai/gpt-oss-120b | 131,072 | no | 0.15 / 0.6 | Fallback; JSON mode tag; function_calling in use","hierarchy":{"lvl0":"Getting Started","lvl1":"Nebius Token Factory Provider Guide","lvl2":"","lvl3":""}},
6402
+ {"objectID":"2e910368f461f2d7d7a39679e66497f9f791f1367dec08155a31f428a81f7d03","title":"Nebius Token Factory Provider Guide","url":"/docs/getting-started/providers/nebius#nebius-token-factory-provider-guide","content":"Nebius Token Factory is a Tier-2 catalog provider: OpenAI-wire-compatible,\nwith no catalog quirks set, so its entire integration is one JSON file\n(src/lib/providers/catalog/nebius.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs-verified, not yet\nlive-verified. The vendor's GET /v1/models needs a key (an unauthenticated\nrequest answers HTTP 401), so the model ids come from the vendor's public model\ncatalog and the roster has not been checked against the API. No account was\ncreated and no API key was used to build it. evidence.liveMatrix is null\nuntil someone runs the live capability matrix with a real key (see\nVerification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"Nebius Token Factory Provider Guide","lvl2":"Nebius Token Factory Provider Guide","lvl3":""}},
6403
+ {"objectID":"46e9545fce99ca3a7049ea78b6859fd2851222d155a0cf578685e43e866ee67a","title":"Key Facts","url":"/docs/getting-started/providers/nebius#key-facts","content":"Provider id: nebius\nProtocol: OpenAI-compatible (/chat/completions) — the API introduction\n says \"Nebius Token Factory offers an OpenAI-compatible API for inference and\n fine-tuning.\" (docs)\nBase URL: https://api.tokenfactory.nebius.com/v1\nDefault model: Qwen/Qwen3-235B-A22B-Instruct-2507\nModels in catalog: 7, listed in the Models table below\nStreaming: supported — the chat completion reference documents stream,\n with data-only server-sent events and a stream \"terminated by a data: [DONE]\n message\" (reference)\nTool calling: model-dependent — the\n Function calling & Tools page\n documents tools and tool_choice, and the public model catalog lists\n function_calling in use_cases for 6 of the 7 models in this entry (not\n for openbmb/MiniCPM-V-4_5)\nTools while streaming: declared (true) — the reference's streaming\n delta schema has a tool_calls field described as \"The tool calls generated\n by the model, such as function calls.\"\nStructured output: declared (true) — the\n Structured output & JSON page\n documents response_format with json_schema and json_object, and says\n \"Use JSON mode tag in on a model card to find a model with structured output\n supported.\" The public catalog carries the JSON mode tag on 6 of the 7\n models here: the default, the four fallbacks and openbmb/MiniCPM-V-4_5\nStructured output + tools together: not declared (false) — no combined\n probe was possible without credentials\nVision: openbmb/MiniCPM-V-4_5 is vision: true (catalog type\n image2text with image in use_cases). The\n Vision capabilities example\n passes an image as image_url, either \"A URL to the image\" or \"A base64\n encoded image directly in the request.\"\nEmbeddings: not declared on this catalog entry. The public model catalog\n lists an embedding model type, but NeuroLink's generic\n ConfiguredOpenAICompatProvider (which Tier-2 catalog entries use) has\n no native embed()/embedMany() — BaseProvider's default throws — so this\n flag tracks that, not the vendor's own API surfa","hierarchy":{"lvl0":"Getting Started","lvl1":"Nebius Token Factory Provider Guide","lvl2":"Key Facts","lvl3":""}},
6404
+ {"objectID":"4318ec8c33491a70f292dba15ecaf3554cfd323626d5dbc1046c4f9516f378d4","title":"1. Get an API key","url":"/docs/getting-started/providers/nebius#1-get-an-api-key","content":"Visit: https://tokenfactory.nebius.com/ and create an account; the quickstart (https://docs.tokenfactory.nebius.com/quickstart) says: \"Log in using your Google or GitHub account\"\nCreate an API key (https://docs.tokenfactory.nebius.com/api-reference/introduction#authentication): go to the API keys section, click Create API key, enter the key name, click Create, and save the displayed key — \"Save the displayed API key. You cannot open it later in Nebius Token Factory.\"\nBilling (https://docs.tokenfactory.nebius.com/other-capabilities/billing-new): \"Billing setup is mandatory—you cannot complete onboarding without it.\" \"Setting up a billing account requires a bank card.\" \"Upon first sign-up, you receive $1 in trial credit, valid for 30 days.\"\nSet NEBIUS_API_KEY in your .env file (the vendor's docs read NEBIUSAPIKEY)","hierarchy":{"lvl0":"Getting Started","lvl1":"Nebius Token Factory Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
6405
+ {"objectID":"76465dee81eb27deb73ad640dba27889c76e9fb4d50f82524f6c528e41ffc6cf","title":"3. Use it","url":"/docs/getting-started/providers/nebius#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Nebius Token Factory Provider Guide","lvl2":"3. Use it","lvl3":""}},
6406
+ {"objectID":"6c6ce1fbe50c59577c5ab54ffc5f7e8ea699780ddc4bcf9cc669aa1e6e5cf04a","title":"CLI","url":"/docs/getting-started/providers/nebius#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider nebius\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"nebius\",\n credentials: { nebius: { apiKey: process.env.NEBIUSAPIKEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Nebius Token Factory Provider Guide","lvl2":"CLI","lvl3":""}},
6407
+ {"objectID":"2567be20c814e120e34968db69acd7d377034a74adbd6852ca50ebd234f535db","title":"Models","url":"/docs/getting-started/providers/nebius#models","content":"| Model | Context (max_model_len) | Vision | Price per M tokens, in / out | Notes |\n| --------------------------------------- | ------------------------- | ------ | ---------------------------- | ---------------------------------------------------------------------- |\n| Qwen/Qwen3-235B-A22B-Instruct-2507 ⭐ | 262,144 | no | 0.2 / 0.6 | NeuroLink default; JSON mode tag; function_calling in use_cases. |\n| deepseek-ai/DeepSeek-V4-Flash-0731 | 1,024,000 | no | 0.14 / 0.28 | Fallback; JSON mode tag; function_calling in use_cases. |\n| openai/gpt-oss-120b | 131,072 | no | 0.15 / 0.6 | Fallback; JSON mode tag; function_calling in use_cases. |\n| Qwen/Qwen3-30B-A3B-Instruct-2507 | 262,144 | no | 0.1 / 0.3 | Fallback; JSON mode tag; function_calling in use_cases. |\n| NousResearch/Hermes-4-405B | 131,072 | no | 1 / 3 | Fallback; JSON mode tag; function_calling in use_cases. |\n| nvidia/Nemotron-3_5-Lightning | 1,048,576 | no | 0.06 / 0.24 | function_calling in use_cases. |\n| openbmb/MiniCPM-V-4_5 | 32,000 | yes | 0.658 / 1.11 | JSON mode tag; catalog type image2text; models.visionModel. |\n\nModel ids, context lengths and prices come from the vendor's public model\ncatalog, retrieved 2026-09-29:\n/api/public/models_info\n(its Markdown view is at\n/model-catalog.md, which\nsays \"The JSON endpoint is the authoritative machine-readable source\"). Context\nis each model's max_model_len; the catalog also gives a rounded\ncontext_window_k. Prices are the catalog's input_price_per_million_t","hierarchy":{"lvl0":"Getting Started","lvl1":"Nebius Token Factory Provider Guide","lvl2":"Models","lvl3":""}},
6408
+ {"objectID":"293bc43f0d27bf3ecb432606006e0c815746d5c6eca27d37d440a8b371f4995e","title":"Verification status","url":"/docs/getting-started/providers/nebius#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for Nebius Token Factory — docs-verified, not\nlive-verified:\n\n| Probe | Result |\n| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET /v1/models answered HTTP 401 with {\"detail\":\"Couldn't authenticate. Reason: token is not present\"}, 2026-09-29 — no key used. Model ids are taken from the public model catalog (/api/public/models_info), so the roster is not verified against the API |\n| Chat endpoint |","hierarchy":{"lvl0":"Getting Started","lvl1":"Nebius Token Factory Provider Guide","lvl2":"Verification status","lvl3":""}},
6409
+ {"objectID":"1a18b4f2097f467b6e6dff988c8e71df673d51e80e00fbfe892fe95722a486e3","title":"Troubleshooting","url":"/docs/getting-started/providers/nebius#troubleshooting","content":"Each row uses a status and body the vendor's chat completion reference shows, or a\nstatement from a vendor page named in the row.\n\n| Symptom | Cause | Fix |\n| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |\n| HTTP 401 | The reference's 401 example body is Couldn't authenticate. Reason: token is not present | The API introduction says to include the key in the Authorization: Bearer header; NeuroLink sends NEBIUS_API_KEY that way |\n| HTTP 402 | The reference's 402 example body is Payment Required: You have exhausted your budget. Please add funds to continue using the API. | Add funds — see \"Topping up your balance\" on the billing page |\n| HTTP 404 | The reference's 404 example body is The model unknown-model does not exist. | Take the id from the public model catalog |\n| HTTP 429 | The rate-limits page says \"If you exceed the active limit you will receive HTTP 429.\" | The same page describes the Retry-After header as \"The time in seconds to wait before making ","hierarchy":{"lvl0":"Getting Started","lvl1":"Nebius Token Factory Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6410
+ {"objectID":"6271721d180f618e5dc4d9ecfb83a663179e4484d319e7dc1fefcdb61ee4c1a5","title":"See also","url":"/docs/getting-started/providers/nebius#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Nebius Token Factory Provider Guide","lvl2":"See also","lvl3":""}},
6322
6411
  {"objectID":"9ee84001880054dc120872451354ebb095f08f321c298722e4a9424b9041ee5b","title":"Neuralwatt Provider Guide","url":"/docs/getting-started/providers/neuralwatt","content":"Neuralwatt Provider Guide\n\nNeuralwatt is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/neuralwatt.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. It was onboarded credential-free — no API key was created,\nno signup was completed, and no authenticated or POST request was sent to\nNeuralwatt. Everything below comes from Neuralwatt's public documentation\n(docs.neuralwatt.com) and an unauthenticated GET /v1/models call. See\nLive verification for what a follow-up\npass with a real key still needs to confirm.\n\nKey Facts\nProvider id: neuralwatt\nProtocol: OpenAI-compatible (/chat/completions)\nBase URL: https://api.neuralwatt.com/v1\nDefault model: glm-5.3 — the model used in every code sample on\n Neuralwatt's own quickstart page (curl, Python and Node.js)\nModels in catalog: 8 (of 21 on the live roster; see\n Models)\nStreaming: supported (stream: true, SSE, terminal data: [DONE])\nTool calling: model-dependent. Neuralwatt's own tool-calling guide\n states plainly that \"not all models support tool calling\" and directs\n callers to check each model's capabilities before relying on it — every\n model in this catalog currently reports tools: true on the live roster,\n but that can change per model, so NeuroLink declares this\n \"model-dependent\" rather than a blanket true.\nStructured output: not documented. The /v1/models roster exposes\n a json_mode: true capability flag on every model, but the chat-completions\n API reference does not document a response_format parameter anywhere —\n neither json_object nor json_schema mode is described. Because the\n request-side contract isn't documented, capabilities.structuredOutput is\n left false here rather than trusted from the flag alone.\nTools + streaming together / tools + structured output together: not\n documented and not probed (credential-free onboarding), so both are false.\nEmbeddings: not supported (no embeddings endpoint in the docs)\nThinking / reasoning: supported — reasoning_effort\n (none/minimal/low/medium/high/xhigh/max) and\n thinking_token_budget are documented request parameters, and each\n model's roster entry declares its own reasoning defaults.\nBilling: free-with-card — new accounts start at a $0 balance; adding a\n payment method grants a $1.00 trial credit valid 30 days, then usage is\n pay-per-token\nKey format: starts with sk-; full character set not specified in the\n docs, so apiKeyFormat is left null rather than guessed\nNotable extras: per-request energy and cost reporting via SSE comment\n lines (: energy {...}, : cost {...}) and X-Request-Cost-USD headers —\n not modeled by NeuroLink's catalog schema and not required for the\n integration to work\n\nQuick Start\nGet an API key\nVisit: https://portal.neuralwatt.com and sign up\nAdd a payment method in Dashboard > Billing — new accounts start with\n a $0 balance, and adding a card grants $1.00 in free trial credit (no\n charge is made; the credit is valid for 30 days)\nNavigate to Dashboard > API Keys and create a new key — copy it\n immediately, it is shown in full only once and starts with sk-\nSet NEURALWATT_API_KEY in your .env file\nConfigure\nUse it\n\nPer-request credentials work as they do for every provider:\n\nModels\n\n| Model | Context | Max output | Vision | $/M in · out · cached | Notes |\n| --------------------- | ------- | ---------- | ------ | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| glm-5.3 ⭐ | 1M | — | no | $1.45 / $4.50 / $0.145 | ZhipuAI GLM 5.3 — used in every quickstart code sample; reasoning is mandatory on this model (default effort max). Max output tokens undocumented for this model on the roster. |\n| glm-5.3-flash | 1M | — | yes | $0.15 / $0.50 / $0.03 | Lighter/cheaper GLM 5.3 sibling; roster-listed only; fallback. |\n| qwen-3.8-27b | 262K | 131,072 | yes | $0.45 / $3.20 / $0.25 | Dense 27B VL model; first entry on the live roster; used as models.visionModel (documented image limits: 20 images/request, 200 total). |\n| qwen3.6-35b | 262K | — | yes | $0.29 / $1.15 / $0.029 | Roster-listed only; fallback. |\n| ki","hierarchy":{"lvl0":"Getting Started","lvl1":"Neuralwatt Provider Guide","lvl2":"","lvl3":""}},
6323
6412
  {"objectID":"ebb52ca21583bbf36bcbdc5612eb0138e0881b286b938ac8316f75c92efaa737","title":"Neuralwatt Provider Guide","url":"/docs/getting-started/providers/neuralwatt#neuralwatt-provider-guide","content":"Neuralwatt is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/neuralwatt.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. It was onboarded credential-free — no API key was created,\nno signup was completed, and no authenticated or POST request was sent to\nNeuralwatt. Everything below comes from Neuralwatt's public documentation\n(docs.neuralwatt.com) and an unauthenticated GET /v1/models call. See\nLive verification for what a follow-up\npass with a real key still needs to confirm.","hierarchy":{"lvl0":"Getting Started","lvl1":"Neuralwatt Provider Guide","lvl2":"Neuralwatt Provider Guide","lvl3":""}},
6324
6413
  {"objectID":"7effc4600445d624fd6571ae01886904fb112c791a8916e4fe8a2c768f0e0692","title":"Key Facts","url":"/docs/getting-started/providers/neuralwatt#key-facts","content":"Provider id: neuralwatt\nProtocol: OpenAI-compatible (/chat/completions)\nBase URL: https://api.neuralwatt.com/v1\nDefault model: glm-5.3 — the model used in every code sample on\n Neuralwatt's own quickstart page (curl, Python and Node.js)\nModels in catalog: 8 (of 21 on the live roster; see\n Models)\nStreaming: supported (stream: true, SSE, terminal data: [DONE])\nTool calling: model-dependent. Neuralwatt's own tool-calling guide\n states plainly that \"not all models support tool calling\" and directs\n callers to check each model's capabilities before relying on it — every\n model in this catalog currently reports tools: true on the live roster,\n but that can change per model, so NeuroLink declares this\n \"model-dependent\" rather than a blanket true.\nStructured output: not documented. The /v1/models roster exposes\n a json_mode: true capability flag on every model, but the chat-completions\n API reference does not document a response_format parameter anywhere —\n neither json_object nor json_schema mode is described. Because the\n request-side contract isn't documented, capabilities.structuredOutput is\n left false here rather than trusted from the flag alone.\nTools + streaming together / tools + structured output together: not\n documented and not probed (credential-free onboarding), so both are false.\nEmbeddings: not supported (no embeddings endpoint in the docs)\nThinking / reasoning: supported — reasoning_effort\n (none/minimal/low/medium/high/xhigh/max) and\n thinking_token_budget are documented request parameters, and each\n model's roster entry declares its own reasoning defaults.\nBilling: free-with-card — new accounts start at a $0 balance; adding a\n payment method grants a $1.00 trial credit valid 30 days, then usage is\n pay-per-token\nKey format: starts with sk-; full character set not specified in the\n docs, so apiKeyFormat is left null rather than guessed\nNotable extras: per-request energy and cost reporting via SSE comment\n lines (: energy {...}, : cost","hierarchy":{"lvl0":"Getting Started","lvl1":"Neuralwatt Provider Guide","lvl2":"Key Facts","lvl3":""}},
@@ -6647,6 +6736,16 @@
6647
6736
  {"objectID":"9c27a11c0ebcaad3730b5040169bf7e59b61e12c50477d166c250d91e57717c2","title":"Configuration Reference","url":"/docs/getting-started/providers/perplexity#configuration-reference","content":"| Environment Variable | Required | Default |\n| --------------------- | -------- | --------------------------- |\n| PERPLEXITY_API_KEY | Yes | — |\n| PERPLEXITY_MODEL | No | sonar |\n| PERPLEXITY_BASE_URL | No | https://api.perplexity.ai |","hierarchy":{"lvl0":"Getting Started","lvl1":"Perplexity Provider Guide","lvl2":"Configuration Reference","lvl3":""}},
6648
6737
  {"objectID":"b67f2a3fac01aa89f00439994b86dc4e53d345274ba20ce64db2f4f9d6577523","title":"Feature Support Matrix","url":"/docs/getting-started/providers/perplexity#feature-support-matrix","content":"| Feature | Support |\n| ----------------- | ------------ |\n| Text generation | Yes |\n| Streaming | Yes |\n| Tool calling | No |\n| Structured output | Limited |\n| Web search | Yes (native) |\n| Citations | Yes |","hierarchy":{"lvl0":"Getting Started","lvl1":"Perplexity Provider Guide","lvl2":"Feature Support Matrix","lvl3":""}},
6649
6738
  {"objectID":"863a4c9129e2042f2c209c6d79faf1a589d15399b222cef42341b701ce775a0c","title":"See Also","url":"/docs/getting-started/providers/perplexity#see-also","content":"Anthropic Provider — web-search via the web_search tool\nVertex Provider — Google search grounding","hierarchy":{"lvl0":"Getting Started","lvl1":"Perplexity Provider Guide","lvl2":"See Also","lvl3":""}},
6739
+ {"objectID":"0dc11e2e9b21ce8d74d7356335e489afbf48de63ab5bd1de93f8f20dc8ecf1a8","title":"Prime Intellect Provider Guide","url":"/docs/getting-started/providers/prime-intellect","content":"Prime Intellect Provider Guide\n\nPrime Intellect Inference is a Tier-2 catalog provider: OpenAI-wire-compatible\nwith no behavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/prime-intellect.json) rather than hand-written\ncode. That file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. Every field below comes from Prime Intellect's own public\ndocumentation, its public OpenAPI spec, and unauthenticated GET requests to\nhttps://api.pinference.ai — no API key was created or used to build it, and\nno POST was sent. evidence.liveMatrix is null until someone runs the live\ncapability matrix with a real key (see Verification status\nbelow).\n\nKey Facts\nProvider id: prime-intellect\nProtocol: OpenAI-compatible (/chat/completions) — Prime's inference\n overview calls it \"OpenAI-compatible API access\" and shows the official\n openai client pointed at a custom base_url\n (https://docs.primeintellect.ai/inference/overview)\nBase URL: https://api.pinference.ai/api/v1. The inference host\n (pinference.ai) is a different domain from the docs and dashboard host\n (primeintellect.ai); both are confirmed on the vendor's own pages\nDefault model: openai/gpt-4.1-mini\nModels in catalog: 12 (curated from a 125-model roster read on 2026-09-29;\n the discovery queue recorded 124, so the roster moves)\nWhat it is: a gateway. 119 of the 125 roster entries are serving:\n\"gateway\" (routed to upstream providers); the other 6 are serving:\n\"hosted\" (served on Prime infrastructure) and are third-party Qwen and GLM\n models. No Prime-trained model appears on the roster\nStreaming: supported — documented on the Advanced Usage and Chat\n Completions reference pages (stream: true)\nTool calling: model-dependent — the docs pages do not describe function\n calling, but the roster's own per-model supported_parameters field lists\n tools and tool_choice for 111 of 125 models and omits them for others\n (see Verification status for the basis)\nStructured output: declared true on the same basis — response_format\n is listed for 106 of 125 roster models, structured_outputs for 102. It is\n per-model, not universal\nStructured output + tools together: not declared (false) — no combined\n probe was possible without credentials\nEmbeddings / thinking: not declared. No inference page describes either\nBilling: no-free-tier — Prime states billing is \"automatic deduction\n from your Prime Intellect account balance\". No free tier or trial credit is\n documented on the pages read. The catalog schema has no \"unknown\" billing\n value, so no-free-tier here means none documented, not _vendor-confirmed\n none_\nKey format: none declared by Prime Intellect\n\nQuick Start\nGet an API key\nVisit: https://app.primeintellect.ai/dashboard/tokens (Settings -> API Keys) and sign in\nClick Generate New Key and enable the Inference permission — without it requests fail with authentication errors (https://docs.primeintellect.ai/inference/overview); the key is shown only once, so copy it straight away (https://docs.primeintellect.ai/api-reference/api-keys)\nBilling is automatic deduction from your Prime Intellect account balance (https://docs.primeintellect.ai/inference/overview); no free tier or trial credit is documented on the pages read, so add funds at https://app.primeintellect.ai/dashboard/billing and confirm current terms before the first call\nSet PRIME_INTELLECT_API_KEY in your .env file (PRIME_API_KEY, the variable Prime's own docs use, is also read)\nConfigure\nUse it\n\nPer-request credentials work as they do for every provider:\n\nModels\n\n| Model | Context | Vision | $/M in · out | Notes |\n| ------------------------------------ | --------- | ------ | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| openai/gpt-4.1-mini ⭐ | 1,047,576 | yes | $0.40 / $1.60 | Recommended — Prime's Evaluating Environments guide lists it as \"Fast, cost-effective (default)\" and uses it as the default model of its inference-backed eval flow. |\n| openai/gpt-4.1 | 1,047,576 | yes | $2 / $8 | Listed in the same guide as \"Higher quality\"; fallback. |\n| anthropic/claude-sonnet-4.5 | 1,000,000 | yes | $3 / $15 | Listed in the same guide as \"Strong reasoning\"; fallback. |\n| meta-llama/llama-3.3-70b-instruct | 131,072 | no | $1.","hierarchy":{"lvl0":"Getting Started","lvl1":"Prime Intellect Provider Guide","lvl2":"","lvl3":""}},
6740
+ {"objectID":"e849ee91aa4616cfc65077bd44442aa2342cb5aa2809da781abbf72e7ef44771","title":"Prime Intellect Provider Guide","url":"/docs/getting-started/providers/prime-intellect#prime-intellect-provider-guide","content":"Prime Intellect Inference is a Tier-2 catalog provider: OpenAI-wire-compatible\nwith no behavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/prime-intellect.json) rather than hand-written\ncode. That file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. Every field below comes from Prime Intellect's own public\ndocumentation, its public OpenAPI spec, and unauthenticated GET requests to\nhttps://api.pinference.ai — no API key was created or used to build it, and\nno POST was sent. evidence.liveMatrix is null until someone runs the live\ncapability matrix with a real key (see Verification status\nbelow).","hierarchy":{"lvl0":"Getting Started","lvl1":"Prime Intellect Provider Guide","lvl2":"Prime Intellect Provider Guide","lvl3":""}},
6741
+ {"objectID":"54313a0132807b7d460a6334f82ad9b6f2b0e833e61eeb34c228cf651328a56c","title":"Key Facts","url":"/docs/getting-started/providers/prime-intellect#key-facts","content":"Provider id: prime-intellect\nProtocol: OpenAI-compatible (/chat/completions) — Prime's inference\n overview calls it \"OpenAI-compatible API access\" and shows the official\n openai client pointed at a custom base_url\n (https://docs.primeintellect.ai/inference/overview)\nBase URL: https://api.pinference.ai/api/v1. The inference host\n (pinference.ai) is a different domain from the docs and dashboard host\n (primeintellect.ai); both are confirmed on the vendor's own pages\nDefault model: openai/gpt-4.1-mini\nModels in catalog: 12 (curated from a 125-model roster read on 2026-09-29;\n the discovery queue recorded 124, so the roster moves)\nWhat it is: a gateway. 119 of the 125 roster entries are serving:\n\"gateway\" (routed to upstream providers); the other 6 are serving:\n\"hosted\" (served on Prime infrastructure) and are third-party Qwen and GLM\n models. No Prime-trained model appears on the roster\nStreaming: supported — documented on the Advanced Usage and Chat\n Completions reference pages (stream: true)\nTool calling: model-dependent — the docs pages do not describe function\n calling, but the roster's own per-model supported_parameters field lists\n tools and tool_choice for 111 of 125 models and omits them for others\n (see Verification status for the basis)\nStructured output: declared true on the same basis — response_format\n is listed for 106 of 125 roster models, structured_outputs for 102. It is\n per-model, not universal\nStructured output + tools together: not declared (false) — no combined\n probe was possible without credentials\nEmbeddings / thinking: not declared. No inference page describes either\nBilling: no-free-tier — Prime states billing is \"automatic deduction\n from your Prime Intellect account balance\". No free tier or trial credit is\n documented on the pages read. The catalog schema has no \"unknown\" billing\n value, so no-free-tier here means none documented, not _vendor-confirmed\n none_\nKey format: none declared by Prime Intellect","hierarchy":{"lvl0":"Getting Started","lvl1":"Prime Intellect Provider Guide","lvl2":"Key Facts","lvl3":""}},
6742
+ {"objectID":"3427bd838a42362f062ed1d1ccae6740345561dbef60578c4e293e3cf102c31c","title":"1. Get an API key","url":"/docs/getting-started/providers/prime-intellect#1-get-an-api-key","content":"Visit: https://app.primeintellect.ai/dashboard/tokens (Settings -> API Keys) and sign in\nClick Generate New Key and enable the Inference permission — without it requests fail with authentication errors (https://docs.primeintellect.ai/inference/overview); the key is shown only once, so copy it straight away (https://docs.primeintellect.ai/api-reference/api-keys)\nBilling is automatic deduction from your Prime Intellect account balance (https://docs.primeintellect.ai/inference/overview); no free tier or trial credit is documented on the pages read, so add funds at https://app.primeintellect.ai/dashboard/billing and confirm current terms before the first call\nSet PRIME_INTELLECT_API_KEY in your .env file (PRIME_API_KEY, the variable Prime's own docs use, is also read)","hierarchy":{"lvl0":"Getting Started","lvl1":"Prime Intellect Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
6743
+ {"objectID":"320846f04e698c9ffef55ec101d2d005a05f37b62f910f7d418b8f951518e67b","title":"3. Use it","url":"/docs/getting-started/providers/prime-intellect#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Prime Intellect Provider Guide","lvl2":"3. Use it","lvl3":""}},
6744
+ {"objectID":"3a07ef44c372d4ac575c222e070e65ac945e0ff1e9e9d1795fe88152ccf9a26f","title":"CLI","url":"/docs/getting-started/providers/prime-intellect#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider prime-intellect\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"prime-intellect\",\n credentials: {\n primeIntellect: { apiKey: process.env.PRIMEINTELLECTAPI_KEY },\n },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Prime Intellect Provider Guide","lvl2":"CLI","lvl3":""}},
6745
+ {"objectID":"db5c73a4a3e5e5d3ca3cc91b62f00556a69f245d083481000f8e34d271388bf2","title":"Models","url":"/docs/getting-started/providers/prime-intellect#models","content":"| Model | Context | Vision | $/M in · out | Notes |\n| ------------------------------------ | --------- | ------ | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| openai/gpt-4.1-mini ⭐ | 1,047,576 | yes | $0.40 / $1.60 | Recommended — Prime's Evaluating Environments guide lists it as \"Fast, cost-effective (default)\" and uses it as the default model of its inference-backed eval flow. |\n| openai/gpt-4.1 | 1,047,576 | yes | $2 / $8 | Listed in the same guide as \"Higher quality\"; fallback. |\n| anthropic/claude-sonnet-4.5 | 1,000,000 | yes | $3 / $15 | Listed in the same guide as \"Strong reasoning\"; fallback. |\n| meta-llama/llama-3.3-70b-instruct | 131,072 | no | $1.04 / $2.253 | Listed in the same guide as \"Open-weight, balanced\"; fallback. |\n| google/gemini-2.5-flash | 1,048,576 | yes | $0.30 / $2.50 | Listed in the same guide as \"Fast multimodal\". |\n| Qwen/Qwen3-235B-A22B-Instruct-2507 | 262,144 | no | $0.25 / $1 | The guide lists a lowercase id that is not on today's roster; this id is the roster's differently ca","hierarchy":{"lvl0":"Getting Started","lvl1":"Prime Intellect Provider Guide","lvl2":"Models","lvl3":""}},
6746
+ {"objectID":"34dd0ec20e3d4fc5d8c3f6b03a088f1c1cba1fe7a4580061d3c2dc9310976f2a","title":"Verification status","url":"/docs/getting-started/providers/prime-intellect#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the catalog\ncurrently records for Prime Intellect — docs- and roster-verified, not\nlive-verified:\n\n| Probe | Result |\n| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| Roster | unauthenticated GET /api/v1/models, HTTP 200, 125 models, 2026-09-29 — no key used |\n| Auth-failure shape | unauthenticated GET /api/v1/models/openai/gpt-4.1-mini with no credentials returned HTTP 401 {\"detail\":\"Authorization header or x-api-key missing\", ...} on 2026-09-29. The docs' invalid-key shape (error.code: invalid_api_key, on the Models API reference page) was not probed. One errorRules entry maps HTTP 401 and both wordings to an authentication error |\n| Billing | overview page: \"Automatic deduction from your Prime Intellect account balance\"; troubleshooting page docu","hierarchy":{"lvl0":"Getting Started","lvl1":"Prime Intellect Provider Guide","lvl2":"Verification status","lvl3":""}},
6747
+ {"objectID":"a6b1377483d83c8447e3c199db28404f6d3fe63a0d15f317688446a82008d1a9","title":"Troubleshooting","url":"/docs/getting-started/providers/prime-intellect#troubleshooting","content":"| Symptom | Cause | Fix |\n| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |\n| HTTP 401 / authentication error | Missing key, or a key created without the Inference permission (the overview page says this fails with auth errors) | Create a new key at https://app.primeintellect.ai/dashboard/tokens with Inference enabled and set PRIME_INTELLECT_API_KEY |\n| insufficient_funds error | The billing account behind the key cannot pay for the call (https://docs.primeintellect.ai/inference/troubleshooting) | Add funds in the Billing Dashboard, and make sure the key belongs to the account that has funds |\n| Team credits are not used | Prime bills a team only when a request carries an X-Prime-Team-ID header, and this catalog entry sets no extra headers (the catalog schema has no field for one) | Without the header Prime bills the key owner's personal balance; fund that balance, or configure the header outside this entry |\n| Model not found | The roster changed since 2026-09-29, or the id differs in case (the roster has both qwen/... and Qwen/... ids) | Pick a current id, copied exactly, from the unauthenticated GET /api/v1/models ","hierarchy":{"lvl0":"Getting Started","lvl1":"Prime Intellect Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6748
+ {"objectID":"730c55df4f8709a10d32af04a7243242a837889a62315ba2a1443399ff681d40","title":"See also","url":"/docs/getting-started/providers/prime-intellect#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Prime Intellect Provider Guide","lvl2":"See also","lvl3":""}},
6650
6749
  {"objectID":"33b0ca5e9916ffc87204312dd2f42dc2092038d94de3113bd25f2694e4e02d07","title":"Recraft Provider Guide (image-gen)","url":"/docs/getting-started/providers/recraft","content":"Recraft Provider Guide\n\nRaster + native SVG image generation via Recraft V3\n\nOverview\n\nRecraft generates both raster (PNG/JPEG/WebP)\nand vector (SVG) images. The vector output is especially useful for\nicon sets, marketing assets, and brand-consistent illustrations.\n\nKey Facts\nEndpoint: POST https://external.api.recraft.ai/v1/images/generations\nDefault model: recraftv3 (raster); use recraftv3-svg for SVG\nOutput formats: PNG, JPEG, WebP, SVG\n\nQuick Start\nGet an API Key\n\nhttps://www.recraft.ai/profile/api\nConfigure\nGenerate an Image\n\nSupported Models\n\n| Model ID | Output | Notes |\n| --------------- | ------ | ------------------------- |\n| recraftv3 | Raster | Default; current flagship |\n| recraftv3-svg | SVG | Native vector output |\n| recraftv2 | Raster | Previous generation |\n\nCLI Usage\n\nConfiguration Reference\n\n| Environment Variable | Required | Default |\n| -------------------- | -------- | ----------- |\n| RECRAFT_API_KEY | Yes | — |\n| RECRAFT_MODEL | No | recraftv3 |\n\nSee Also\nStability AI Provider\nIdeogram Provider","hierarchy":{"lvl0":"Getting Started","lvl1":"Recraft Provider Guide (image-gen)","lvl2":"","lvl3":""}},
6651
6750
  {"objectID":"66ce8b699b4e5ddfd3918f27a417e7b3cab870323ddc444039933dee39728ebe","title":"Recraft Provider Guide","url":"/docs/getting-started/providers/recraft#recraft-provider-guide","content":"Raster + native SVG image generation via Recraft V3","hierarchy":{"lvl0":"Getting Started","lvl1":"Recraft Provider Guide (image-gen)","lvl2":"Recraft Provider Guide","lvl3":""}},
6652
6751
  {"objectID":"c6ebdce49d7833bd2185157d2fc9d31d86d6a1cd3845b2491280b20e9abbdc2b","title":"Overview","url":"/docs/getting-started/providers/recraft#overview","content":"Recraft generates both raster (PNG/JPEG/WebP)\nand vector (SVG) images. The vector output is especially useful for\nicon sets, marketing assets, and brand-consistent illustrations.","hierarchy":{"lvl0":"Getting Started","lvl1":"Recraft Provider Guide (image-gen)","lvl2":"Overview","lvl3":""}},
@@ -6770,6 +6869,29 @@
6770
6869
  {"objectID":"cd1de30168eb04f05817488311cca7b4f12bf8367f224d54df7d0b972af81d3e","title":"Verification status","url":"/docs/getting-started/providers/sarvam#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog records for Sarvam AI — and, unusually, all of it is credential-free:\n\n| Probe | Result |\n| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | Unauthenticated GET https://api.sarvam.ai/v1/models, HTTP 200, 2026-09-28 — returned exactly sarvam-105b and sarvam-105b-conversations, no API key used. |\n| Auth rejection | Not probed live (would require a POST request, out of scope for credential-free onboarding). The 403 shape below is transcribed from Sarvam's own authentication docs, not observed. |\n| Wire compatibility | Documentary only — Sarvam's API reference explicitly describes an OpenAI-shaped messages / choices / finish_reason / object: \"chat.completion\" schema, tools/tool_choice, response_format (json_schema, json_object), and stream: true (SSE) for this endpoint. |\n| Live capability sweep | Not run. evidence.liveMatrix is null. tools, structuredOutput, toolsWithStreaming and thinking in the catalog reflect vendor documentation, not a live probe; structuredOutputWithTools is false because no combined tools+schema request w","hierarchy":{"lvl0":"Getting Started","lvl1":"Sarvam AI Provider Guide","lvl2":"Verification status","lvl3":""}},
6771
6870
  {"objectID":"8e57df7483555e36212512809e787dc851cae1ddb71ca3758faab8f991880cad","title":"Troubleshooting","url":"/docs/getting-started/providers/sarvam#troubleshooting","content":"| Symptom | Cause | Fix |\n| ------------------------------------------ | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------- |\n| Invalid Sarvam AI API key | SARVAM_API_KEY unset or wrong | Check the key at https://dashboard.sarvam.ai |\n| HTTP 403 on every call | Sarvam returns 403 (not 401) for both bad and forbidden keys | Confirm the key is current and has access; see error.code in the response |\n| Model not found | Only sarvam-105b and sarvam-105b-conversations exist | Use one of those two ids — the endpoint serves no others |\n| Empty/short replies at a small maxTokens | reasoning_effort defaults to medium, and reasoning_content is billed as output | Give reasoning prompts a generous maxTokens budget or lower reasoning_effort |","hierarchy":{"lvl0":"Getting Started","lvl1":"Sarvam AI Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6772
6871
  {"objectID":"49895306150970c4315329ad7d39d3141c62342bd1ca0ad4643cc8c3b63b1799","title":"See also","url":"/docs/getting-started/providers/sarvam#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Sarvam AI Provider Guide","lvl2":"See also","lvl3":""}},
6872
+ {"objectID":"ba0463bfd09a65fed9ca1abc4022a8e8e54cbe54859a04dd2d4ae6b46eb7118e","title":"Scaleway Provider Guide","url":"/docs/getting-started/providers/scaleway","content":"Scaleway Provider Guide\n\nScaleway is a Tier-2 catalog provider: an OpenAI-compatible endpoint\ndescribed by one JSON file (src/lib/providers/catalog/scaleway.json) rather\nthan hand-written code. That file is the source of truth for everything on this\npage.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. Scaleway's GET /v1/models needs a key (an unauthenticated\nGET answers HTTP 401), so the model ids come from the vendor's public\nsupported-models page and the roster has not been checked against the API. No\naccount was created and no API key was used to build this entry.\nevidence.liveMatrix is null until someone runs the live capability matrix\nwith a real key (see Verification status below).\n\nKey Facts\nProvider id: scaleway\nProtocol: OpenAI-compatible (/chat/completions)\nBase URL: https://api.scaleway.ai/v1 (the\n Using Generative APIs page\n also shows a project-scoped form, https://api.scaleway.ai/<project_id>/v1)\nDefault model: mistral-small-3.2-24b-instruct-2506\nModels in catalog: 11 — the chat models whose \"Available in Serverless?\"\n cell on the\n supported-models page\n is Yes and that are not in that page's End of Life table. Left out: models\n whose cell is No or EOL, the audio transcription and embedding models, and\n six Serverless-Yes models that the End of Life table lists\n (qwen3-coder-30b-a3b-instruct, pixtral-12b-2409, gemma-3-27b-it,\n devstral-2-123b-instruct-2512, holo2-30b-a3b, voxtral-small-24b-2507)\nStreaming: supported — the\n Chat Completions reference\n documents stream with server-sent events and says the last chunk contains\n data: [DONE]\nTool calling: model-dependent — the\n function-calling page\n says \"All the chat models hosted by Scaleway support function calling.\", the\n supported-models page's attribute tables carry a \"Supports function calling\"\n row that reads Yes for each of the eleven catalog ids, and for\n gpt-oss-120b it says \"Currently, this model should be used through the\n Responses API, because the Chat Completions API does not yet support\n tool-calling for this model.\"\nTools while streaming: supported — the function-calling page has a \"Tool\n calling with stream mode\" section\nStructured output: supported — the\n structured-outputs page\n documents json_schema (schema mode) and json_object (JSON mode) and says\n \"All LLMs in the Scaleway library support Structured outputs and JSON mode.\"\nStructured output + tools together: not declared (false) — no combined\n probe was possible without credentials\nEmbeddings: not declared. Scaleway's compatibility page documents an\n Embeddings API and the supported-models page lists embedding models; this\n entry covers chat models\nThinking: not declared (false) — the supported-models page lists\n \"Supported reasoning efforts\" for eight of the catalog models (see the table\n below); the provider-level flag stays false\nBilling: free-with-card (NeuroLink's classification, not a Scaleway\n statement) — see Billing below\nKey format: none declared. The vendor's examples call the value\n SCW_SECRET_KEY\n\nQuick Start\nGet an API key\nVisit: https://account.scaleway.com/register?service=console and create a Scaleway account; the quickstart (https://www.scaleway.com/en/docs/generative-apis/quickstart/) lists \"A Scaleway account logged into the console\" and \"A valid API key\" as requirements\nCreate an API key (https://www.scaleway.com/en/docs/iam/credentials/create-api-keys/): click IAM & API keys on the top-right drop-down menu of the Scaleway console, open the API keys tab and click + Generate API key. The page says: \"A screen displays showing the access key and secret key for your new API key and reminding you that this is your only chance to securely save the secret key.\" The quickstart passes the secret key as the OpenAI client's api_key. Querying models requires one of the permission sets GenerativeApisModelAccess, GenerativeApisFullAccess or AllProductsFullAccess (https://www.scaleway.com/en/docs/generative-apis/api-cli/using-generative-apis/)\nBilling as the vendor states it: the pricing page (https://www.scaleway.com/en/pricing/model-as-a-service/) says \"Try out new models with our free tier: 1 million tokens and 60 minutes of audio transcription.\"; the FAQ (https://www.scaleway.com/en/docs/generative-apis/faq/) says \"After reaching this limit, you will be charged per million tokens processed and per minutes of audio processed.\"; the create-account page (https://www.scaleway.com/en/docs/account/how-to/create-an-account/) says \"Ordering Scaleway resources requires a valid credit card.\"; the payment-method page (https://www.scaleway.com/en/docs/billing/how-to/add-payment-method/) says \"Before you can order Scaleway resources, you must add a payment method to your account.\"; the rate-limits page (https://www.scaleway.com/en/docs/generative-apis/reference-content/rate-limits/) says \"Base limits apply if you registered a valid payment method, and they are increased automatically if you also verify your identit","hierarchy":{"lvl0":"Getting Started","lvl1":"Scaleway Provider Guide","lvl2":"","lvl3":""}},
6873
+ {"objectID":"080be05f3ab9716f18b156ceb2ac1cbc0522a29a2479d922c0e6c0033e977231","title":"Scaleway Provider Guide","url":"/docs/getting-started/providers/scaleway#scaleway-provider-guide","content":"Scaleway is a Tier-2 catalog provider: an OpenAI-compatible endpoint\ndescribed by one JSON file (src/lib/providers/catalog/scaleway.json) rather\nthan hand-written code. That file is the source of truth for everything on this\npage.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. Scaleway's GET /v1/models needs a key (an unauthenticated\nGET answers HTTP 401), so the model ids come from the vendor's public\nsupported-models page and the roster has not been checked against the API. No\naccount was created and no API key was used to build this entry.\nevidence.liveMatrix is null until someone runs the live capability matrix\nwith a real key (see Verification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"Scaleway Provider Guide","lvl2":"Scaleway Provider Guide","lvl3":""}},
6874
+ {"objectID":"cbfd9bee3a147c4e850d6008327e9708c8b1f6573a9a1de4069569df2638dc5e","title":"Key Facts","url":"/docs/getting-started/providers/scaleway#key-facts","content":"Provider id: scaleway\nProtocol: OpenAI-compatible (/chat/completions)\nBase URL: https://api.scaleway.ai/v1 (the\n Using Generative APIs page\n also shows a project-scoped form, https://api.scaleway.ai/<project_id>/v1)\nDefault model: mistral-small-3.2-24b-instruct-2506\nModels in catalog: 11 — the chat models whose \"Available in Serverless?\"\n cell on the\n supported-models page\n is Yes and that are not in that page's End of Life table. Left out: models\n whose cell is No or EOL, the audio transcription and embedding models, and\n six Serverless-Yes models that the End of Life table lists\n (qwen3-coder-30b-a3b-instruct, pixtral-12b-2409, gemma-3-27b-it,\n devstral-2-123b-instruct-2512, holo2-30b-a3b, voxtral-small-24b-2507)\nStreaming: supported — the\n Chat Completions reference\n documents stream with server-sent events and says the last chunk contains\n data: [DONE]\nTool calling: model-dependent — the\n function-calling page\n says \"All the chat models hosted by Scaleway support function calling.\", the\n supported-models page's attribute tables carry a \"Supports function calling\"\n row that reads Yes for each of the eleven catalog ids, and for\n gpt-oss-120b it says \"Currently, this model should be used through the\n Responses API, because the Chat Completions API does not yet support\n tool-calling for this model.\"\nTools while streaming: supported — the function-calling page has a \"Tool\n calling with stream mode\" section\nStructured output: supported — the\n structured-outputs page\n documents json_schema (schema mode) and json_object (JSON mode) and says\n \"All LLMs in the Scaleway library support Structured outputs and JSON mode.\"\nStructured output + tools together: not declared (false) — no combined\n probe was possible without credentials\nEmbeddings: not declared. Scaleway's compatibility page documents an\n Embeddings API and the supported-models page lists embedding models; this\n entry covers chat models\nThinking: not declared (false) — the supported-model","hierarchy":{"lvl0":"Getting Started","lvl1":"Scaleway Provider Guide","lvl2":"Key Facts","lvl3":""}},
6875
+ {"objectID":"2cc4804b4646068a3d15c50e0fca2f31368dc084ac43af42fe26b4cd7644de0e","title":"1. Get an API key","url":"/docs/getting-started/providers/scaleway#1-get-an-api-key","content":"Visit: https://account.scaleway.com/register?service=console and create a Scaleway account; the quickstart (https://www.scaleway.com/en/docs/generative-apis/quickstart/) lists \"A Scaleway account logged into the console\" and \"A valid API key\" as requirements\nCreate an API key (https://www.scaleway.com/en/docs/iam/credentials/create-api-keys/): click IAM & API keys on the top-right drop-down menu of the Scaleway console, open the API keys tab and click + Generate API key. The page says: \"A screen displays showing the access key and secret key for your new API key and reminding you that this is your only chance to securely save the secret key.\" The quickstart passes the secret key as the OpenAI client's api_key. Querying models requires one of the permission sets GenerativeApisModelAccess, GenerativeApisFullAccess or AllProductsFullAccess (https://www.scaleway.com/en/docs/generative-apis/api-cli/using-generative-apis/)\nBilling as the vendor states it: the pricing page (https://www.scaleway.com/en/pricing/model-as-a-service/) says \"Try out new models with our free tier: 1 million tokens and 60 minutes of audio transcription.\"; the FAQ (https://www.scaleway.com/en/docs/generative-apis/faq/) says \"After reaching this limit, you will be charged per million tokens processed and per minutes of audio processed.\"; the create-account page (https://www.scaleway.com/en/docs/account/how-to/create-an-account/) says \"Ordering Scaleway resources requires a valid credit card.\"; the payment-method page (https://www.scaleway.com/en/docs/billing/how-to/add-payment-method/) says \"Before you can order Scaleway resources, you must add a payment method to your account.\"; the rate-limits page (https://www.scaleway.com/en/docs/generative-apis/reference-content/rate-limits/) says \"Base limits apply if you registered a valid payment method, and they are increased automatically if you also verify your identity.\"\nSet SCALEWAY_API_KEY in your .env file (the vendor's examples read SCWSECRETKEY, whi","hierarchy":{"lvl0":"Getting Started","lvl1":"Scaleway Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
6876
+ {"objectID":"447361347d975d76f40767230c0592bc84c582d41886b1b7b041307f7a978d2f","title":"3. Use it","url":"/docs/getting-started/providers/scaleway#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Scaleway Provider Guide","lvl2":"3. Use it","lvl3":""}},
6877
+ {"objectID":"1b0b973640d78b71f7327db795b7a5c8e2194c283b10038d4624aa6c575020b6","title":"CLI","url":"/docs/getting-started/providers/scaleway#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider scaleway\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"scaleway\",\n credentials: { scaleway: { apiKey: process.env.SCALEWAYAPIKEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Scaleway Provider Guide","lvl2":"CLI","lvl3":""}},
6878
+ {"objectID":"3a0fc752d73f5ff405104851c2f34da04a0a0af4605dd823b958f8fb41b775fd","title":"Billing","url":"/docs/getting-started/providers/scaleway#billing","content":"Scaleway's pricing page (https://www.scaleway.com/en/pricing/model-as-a-service/)\nsays \"Try out new models with our free tier: 1 million tokens and 60 minutes of\naudio transcription.\" and, under the price table, \"You benefit from a free tier\non the first 1,000,000 tokens. You'll be charged from token number 1,000,001.\"\nThe FAQ (https://www.scaleway.com/en/docs/generative-apis/faq/) says \"There is a\nFree Tier available for Serverless.\" and lists \"1,000,000 tokens for models\nbilled by tokens\". Prices on the pricing page are in euros (\"Prices before\ntax.\"), which is why the catalog carries no pricingPerMTok values.\n\nThe create-account page (https://www.scaleway.com/en/docs/account/how-to/create-an-account/)\nsays \"Ordering Scaleway resources requires a valid credit card.\" The\npayment-method page (https://www.scaleway.com/en/docs/billing/how-to/add-payment-method/)\nsays \"Before you can order Scaleway resources, you must add a payment method to\nyour account.\", and the rate-limits page says \"Base limits apply if you\nregistered a valid payment method, and they are increased automatically if you\nalso verify your identity.\" The entry records free-with-card, which is\nNeuroLink's classification of the Free Tier plus those payment-method\nsentences, not a Scaleway statement.","hierarchy":{"lvl0":"Getting Started","lvl1":"Scaleway Provider Guide","lvl2":"Billing","lvl3":""}},
6879
+ {"objectID":"d5c9b1be05ee6024405a686be6bdd766fc769cf98586dd2611422385abca7734","title":"Models","url":"/docs/getting-started/providers/scaleway#models","content":"| Model | Context (as printed) | Max output (Serverless) | Vision | €/M in · out | Notes |\n| ---------------------------------------- | -------------------- | ----------------------- | ------ | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| mistral-small-3.2-24b-instruct-2506 ⭐ | 128k | 32k | yes | €0.15 / €0.35 | NeuroLink default; the id named in the Chat Completions reference's model field description and in the rate-limits page's /chat/completions example. |\n| llama-3.3-70b-instruct | 100k (Serverless) | 16k | no | €0.90 / €0.90 | Fallback; the id in the Chat Completions reference's example request. The vendor calls it \"text-only (text in/text out)\". |\n| qwen3-235b-a22b-instruct-2507 | 250k | 16k | no | €0.75 / €2.25 | Fallback. |\n| gemma-4-26b-a4b-it | 256k | 32k | yes | €0.25 / €0.50 | Fallback. Reasoning efforts: none, low, medium, high. |\n| qwen3.6-35b-a3b | 256k | 32k | yes | €0.25 / €1.50 | Fallback. Reasoning efforts: none, low, medium, high. |\n| qw","hierarchy":{"lvl0":"Getting Started","lvl1":"Scaleway Provider Guide","lvl2":"Models","lvl3":""}},
6880
+ {"objectID":"a87988580b1fd7ebd99a5d1045fb8ef54f8c906380312f1ae267401959b5dea8","title":"Verification status","url":"/docs/getting-started/providers/scaleway#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the catalog\ncurrently records for Scaleway — docs-verified only, not live-verified:\n\n| Probe | Result |\n| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET https://api.scaleway.ai/v1/models answered HTTP 401 on 2026-09-29, so the model ids are taken from the supported-models page (retrieved 2026-09-29); the roster has not been checked against the API |\n| Auth-failure shape | unauthenticated GET /v1/models and GET /v1/chat/completions both answered HTTP 401 with the body {\"status\":401,\"error\":\"UNAUTHORIZED\",\"message\":\"missing 'Authorization' header\"} (2026-09-29); errorRules carry 401 and the 403, 422 and 429 statuses listed on the Understanding common errors page |\n| Billing | the pricing page and FAQ state a Free Tier of 1,000,000 tokens; the create-account, payment-method and rate-limits pages state what the Quick Start quotes; 2026-09-29, no signup performed |\n| Tools / structured output | documented on the function-calling and structured-outputs pages; neither was exercised li","hierarchy":{"lvl0":"Getting Started","lvl1":"Scaleway Provider Guide","lvl2":"Verification status","lvl3":""}},
6881
+ {"objectID":"13126bc383024010bb42da62550b451f5a9e87db67ee7b53411005ad5f8eb97e","title":"Troubleshooting","url":"/docs/getting-started/providers/scaleway#troubleshooting","content":"| Symptom | Cause | Fix |\n| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| HTTP 401 | The vendor's Understanding common errors page lists 401 as \"Unauthorized: The authorization header is missing.\" | Set SCALEWAY_API_KEY; the vendor's examples use SCW_SECRET_KEY, which NeuroLink does not read |\n| HTTP 403 | The vendor's page lists 403 as \"Forbidden: Your API key does not exist or does not have the necessary permissions to access the requested resource.\" | The Using Generative APIs page lists the permission sets GenerativeApisModelAccess, GenerativeApisFullAccess and AllProductsFullAccess for querying models |\n| HTTP 422 | The vendor's page lists 422 as \"Model Not Found: The model key is present in the request payload, but the corresponding model is not found.\" | The Chat Completions reference says \"Refer to our supported models list or /models endpoint for available models.\" |\n| HTTP 429 | The vendo","hierarchy":{"lvl0":"Getting Started","lvl1":"Scaleway Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6882
+ {"objectID":"fdfac2c5e26aeb404a34023dbfed3a7790e4ba5cf37da0fc0cbe4354b6c5c3b7","title":"See also","url":"/docs/getting-started/providers/scaleway#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Scaleway Provider Guide","lvl2":"See also","lvl3":""}},
6883
+ {"objectID":"d2ae48eb764d90677787fe5c035e06431cdf08d76f10ba054f4325867b90cd0a","title":"SiliconFlow Provider Guide","url":"/docs/getting-started/providers/siliconflow","content":"SiliconFlow Provider Guide\n\nSiliconFlow is a Tier-2 catalog provider: its integration is one JSON file\n(src/lib/providers/catalog/siliconflow.json) rather than hand-written code.\nThat file is the source of truth for the values on this page.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. SiliconFlow's GET https://api.siliconflow.com/v1/models\nanswers HTTP 401 without a key, so the model ids come from SiliconFlow's\npublic docs and model pages and the roster has not been checked. No account\nwas created and no API key was used to build the entry.\nevidence.liveMatrix is null until someone runs the live capability matrix\nwith a real key (see Verification status below).\n\nKey Facts\nProvider id: siliconflow\nProtocol: POST /chat/completions with bearer auth — the\n chat-completions API reference\n lists the server https://api.siliconflow.com/v1 and POST /chat/completions\n with bearer auth. The\n Text Generation\n page says \"You can make end-to-end API requests using the OpenAI SDK\" and the\n Quick Start says \"The\n platform currently supports most OpenAI-related parameters.\"\nBase URL: https://api.siliconflow.com/v1\nDefault model: deepseek-ai/DeepSeek-V4-Pro\nModels in catalog: 12 — ids taken from the model enums of the\n chat-completions API reference and matching the ids shown on the model pages\n (linked under See also); roster not verified\nMessages array: the API reference's request schema for messages shows\n minItems: 1 and maxItems: 10\nStreaming: supported — the API reference documents stream: \"If set,\n tokens are returned as Server-Sent Events as they are made available.\" The\n Stream Mode page shows\n stream=True with the OpenAI library\nTool calling: model-dependent — the\n Function Calling\n page says \"The Function Calling feature allows the model to call external\n tools to enhance its capabilities.\" and the API reference documents tools\n (\"A max of 128 functions are supported.\"). The model pages show a Tools field\n as \"Supported\" or \"Not supported\" per model: \"Supported\" on the 12 catalog\n models and \"Not supported\" on\n openai/gpt-oss-120b. None of it\n was exercised\nTools while streaming: not declared (false)\nStructured output: not declared (false) — Structured Outputs reads \"Not\n supported\" on the 12 catalog model pages. The\n JSON Mode page\n documents response_format={\"type\": \"json_object\"} and says \"Currently,\n online models, except for the DeepSeek R1 series and V3 models, support the\n above parameter.\" JSON Mode reads \"Supported\" on 10 of the 12 catalog model\n pages, among them deepseek-ai/DeepSeek-V3.2, deepseek-ai/DeepSeek-V4-Pro\n and deepseek-ai/DeepSeek-V4-Flash, and \"Not supported\" on zai-org/GLM-5.1\n and zai-org/GLM-5. The entry sets no responseFormatDowngrade quirk\nStructured output + tools together: not declared (false) — no combined\n probe was run without credentials\nEmbeddings: not declared (false) — SiliconFlow documents a\n POST /embeddings route\n (Create embeddings).\n src/lib/providers/configuredOpenAICompat.ts, which the catalog entries use,\n contains no embed()/embedMany() implementation, so this flag tracks that,\n not the vendor's API surface\nThinking: not declared (false) — the API reference documents\n enable_thinking (\"Switches between thinking and non-thinking modes. Default\n is True.\") with the models it supports, thinking_budget, and a\n reasoning_content response field. This entry sends none of them\nVision: true for six catalog models whose model page shows Support image\n input \"Supported\": moonshotai/Kimi-K2.6, moonshotai/Kimi-K2.5,\n Qwen/Qwen3.6-27B, Qwen/Qwen3.6-35B-A3B, Qwen/Qwen3-VL-32B-Instruct and\n google/gemma-4-31B-it. models.visionModel is\n Qwen/Qwen3-VL-32B-Instruct, the default of the API reference's VLM request\n schema, which lists it in its model enum. For moonshotai/Kimi-K2.6,\n moonshotai/Kimi-K2.5, Qwen/Qwen3.6-27B, Qwen/Qwen3.6-35B-A3B and\n google/gemma-4-31B-it the flag rests on the model page value; image input\n was not exercised\nBilling: free-tier — see Billing below\nKey format: not validated by NeuroLink (apiKeyFormat: null)\n\nQuick Start\nGet an API key\nVisit: https://cloud.siliconflow.com/ and create a SiliconFlow account (https://docs.siliconflow.com/en/userguide/quickstart)\nOpen the API Keys page at https://cloud.siliconflow.com/account/ak, click Create API Key and copy the key (https://docs.siliconflow.com/en/userguide/quickstart)\nBilling as the vendor words it on https://www.siliconflow.com/pricing: \"Flexible token pricing, high usage limits, and postpaid billing—plus $1 in free credits to get you started!\"\nSet SILICONFLOW_API_KEY in your .env file\nConfigure\nUse it\n\nPer-request credentials work as they do for every provider:\n\nBilling\n\nSiliconFlow's pricing page says:\n\"Flexible token pricing, high usage limits, and postpaid billing—plus $1 in free\ncredits to get you started!\" Its FAQ answers \"Are there any minimum\ncommitments?\" with \"No, there are no minimum commitments. You only pay for what\nyou ","hierarchy":{"lvl0":"Getting Started","lvl1":"SiliconFlow Provider Guide","lvl2":"","lvl3":""}},
6884
+ {"objectID":"91353cbcb2ebe522463098075fc18cc2f81a9f1eb7824a7fa09cbc8344f3abe7","title":"SiliconFlow Provider Guide","url":"/docs/getting-started/providers/siliconflow#siliconflow-provider-guide","content":"SiliconFlow is a Tier-2 catalog provider: its integration is one JSON file\n(src/lib/providers/catalog/siliconflow.json) rather than hand-written code.\nThat file is the source of truth for the values on this page.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. SiliconFlow's GET https://api.siliconflow.com/v1/models\nanswers HTTP 401 without a key, so the model ids come from SiliconFlow's\npublic docs and model pages and the roster has not been checked. No account\nwas created and no API key was used to build the entry.\nevidence.liveMatrix is null until someone runs the live capability matrix\nwith a real key (see Verification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"SiliconFlow Provider Guide","lvl2":"SiliconFlow Provider Guide","lvl3":""}},
6885
+ {"objectID":"4f516f125bc022d7fff447844f26b52a299218f598192d94a74fccf2f7c933d5","title":"Key Facts","url":"/docs/getting-started/providers/siliconflow#key-facts","content":"Provider id: siliconflow\nProtocol: POST /chat/completions with bearer auth — the\n chat-completions API reference\n lists the server https://api.siliconflow.com/v1 and POST /chat/completions\n with bearer auth. The\n Text Generation\n page says \"You can make end-to-end API requests using the OpenAI SDK\" and the\n Quick Start says \"The\n platform currently supports most OpenAI-related parameters.\"\nBase URL: https://api.siliconflow.com/v1\nDefault model: deepseek-ai/DeepSeek-V4-Pro\nModels in catalog: 12 — ids taken from the model enums of the\n chat-completions API reference and matching the ids shown on the model pages\n (linked under See also); roster not verified\nMessages array: the API reference's request schema for messages shows\n minItems: 1 and maxItems: 10\nStreaming: supported — the API reference documents stream: \"If set,\n tokens are returned as Server-Sent Events as they are made available.\" The\n Stream Mode page shows\n stream=True with the OpenAI library\nTool calling: model-dependent — the\n Function Calling\n page says \"The Function Calling feature allows the model to call external\n tools to enhance its capabilities.\" and the API reference documents tools\n (\"A max of 128 functions are supported.\"). The model pages show a Tools field\n as \"Supported\" or \"Not supported\" per model: \"Supported\" on the 12 catalog\n models and \"Not supported\" on\n openai/gpt-oss-120b. None of it\n was exercised\nTools while streaming: not declared (false)\nStructured output: not declared (false) — Structured Outputs reads \"Not\n supported\" on the 12 catalog model pages. The\n JSON Mode page\n documents response_format={\"type\": \"json_object\"} and says \"Currently,\n online models, except for the DeepSeek R1 series and V3 models, support the\n above parameter.\" JSON Mode reads \"Supported\" on 10 of the 12 catalog model\n pages, among them deepseek-ai/DeepSeek-V3.2, deepseek-ai/DeepSeek-V4-Pro\n and deepseek-ai/DeepSeek-V4-Flash, and \"Not supported\" on zai-org/GLM-5.1\n and zai-or","hierarchy":{"lvl0":"Getting Started","lvl1":"SiliconFlow Provider Guide","lvl2":"Key Facts","lvl3":""}},
6886
+ {"objectID":"4508c78173c2810dea3859cd9575390d1c50124f947b8b58126970e9912a3e0e","title":"1. Get an API key","url":"/docs/getting-started/providers/siliconflow#1-get-an-api-key","content":"Visit: https://cloud.siliconflow.com/ and create a SiliconFlow account (https://docs.siliconflow.com/en/userguide/quickstart)\nOpen the API Keys page at https://cloud.siliconflow.com/account/ak, click Create API Key and copy the key (https://docs.siliconflow.com/en/userguide/quickstart)\nBilling as the vendor words it on https://www.siliconflow.com/pricing: \"Flexible token pricing, high usage limits, and postpaid billing—plus $1 in free credits to get you started!\"\nSet SILICONFLOW_API_KEY in your .env file","hierarchy":{"lvl0":"Getting Started","lvl1":"SiliconFlow Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
6887
+ {"objectID":"4dea5f8ccb2f129385ef251d24d3d6233eb5b33a9a9a0f82ffdcc82d32044e6a","title":"3. Use it","url":"/docs/getting-started/providers/siliconflow#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"SiliconFlow Provider Guide","lvl2":"3. Use it","lvl3":""}},
6888
+ {"objectID":"b80943e3b1e97147876bd8772a1f8815962c67bd472873a2c49f847217bbadfa","title":"CLI","url":"/docs/getting-started/providers/siliconflow#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider siliconflow\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"siliconflow\",\n credentials: { siliconflow: { apiKey: process.env.SILICONFLOWAPIKEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"SiliconFlow Provider Guide","lvl2":"CLI","lvl3":""}},
6889
+ {"objectID":"ed53e53c5e46db430dae555370d3c03d94abdde22f5b7593c692cdf9d58d65a6","title":"Billing","url":"/docs/getting-started/providers/siliconflow#billing","content":"SiliconFlow's pricing page says:\n\"Flexible token pricing, high usage limits, and postpaid billing—plus $1 in free\ncredits to get you started!\" Its FAQ answers \"Are there any minimum\ncommitments?\" with \"No, there are no minimum commitments. You only pay for what\nyou use, and you can start with $1 in free credits.\" The entry records\nfree-tier.\n\nThe Error Handling page\nsays of HTTP 403: \"The most common reason is that the model requires real-name\nauthentication.\"","hierarchy":{"lvl0":"Getting Started","lvl1":"SiliconFlow Provider Guide","lvl2":"Billing","lvl3":""}},
6890
+ {"objectID":"fe0f45f120f684ee3485da90470a2157252d3170837d570801d179bfe14050e7","title":"Models","url":"/docs/getting-started/providers/siliconflow#models","content":"| Model | Context | Max tokens | Vision | Tools | JSON Mode | $/M in · out (cache read) | Notes |\n| -------------------------------- | ------- | ---------- | ------ | --------- | ------------- | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |\n| deepseek-ai/DeepSeek-V4-Pro ⭐ | 1049K | 393K | no | Supported | Supported | $1.50162 / $3.135 ($0.135) | NeuroLink default. About text begins \"DeepSeek-V4-Pro is DeepSeek's flagship open-source MoE model\". |\n| deepseek-ai/DeepSeek-V4-Flash | 1049K | 393K | no | Supported | Supported | $0.13 / $0.28 ($0.028) | About text begins \"DeepSeek-V4-Flash is DeepSeek's latest open-source MoE model\". |\n| deepseek-ai/DeepSeek-V3.2 | 164K | 164K | no | Supported | Supported | $0.27 / $0.42 ($0.135) | About text begins \"DeepSeek-V3.2 is a model that harmonizes high computational efficiency with superior reasoning and agent performance\". |\n| zai-org/GLM-5.1 | 205K | 131K | no | Supported | Not supported | $1.19 / $3.74 ($0.6) | About text begins \"GLM-5.1 is Z.ai's next-generation flagship model built for agentic engineering\". |\n| zai-org/GLM-5 | 205K | 131K | no | Supported | Not supported | $0.95 / $2.55 ($0.2) | About text begins \"GLM-5 is a next-generation open-source model for complex systems engineering and long-horizon agentic tasks\". |\n| moonshotai/Kimi-K2.6 | 262K | 262K | yes | Supported | Supported | $0.77 / $3.4 ($0.14) | About text begins \"Kimi K","hierarchy":{"lvl0":"Getting Started","lvl1":"SiliconFlow Provider Guide","lvl2":"Models","lvl3":""}},
6891
+ {"objectID":"d59ba8f56df3b27ea5943ad61b36abb2e9496189d164337443db2a067f4c39d6","title":"Reasoning fields","url":"/docs/getting-started/providers/siliconflow#reasoning-fields","content":"The API reference documents enable_thinking (\"Switches between thinking and\nnon-thinking modes. Default is True.\") for a list of models that includes\ndeepseek-ai/DeepSeek-V3.2, thinking_budget (\"Maximum number of tokens for\nchain-of-thought output.\") and a reasoning_content field on the response\nmessage. The Reasoning\npage says: \"reasoning_content: Reasoning chain content, at the same level as\ncontent.\" This catalog entry does not send enable_thinking or\nthinking_budget.","hierarchy":{"lvl0":"Getting Started","lvl1":"SiliconFlow Provider Guide","lvl2":"Reasoning fields","lvl3":""}},
6892
+ {"objectID":"d3fa9fe0cd14116640be135371818f894b920afecd0e0eeb8d456b691dcb032f","title":"Verification status","url":"/docs/getting-started/providers/siliconflow#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the catalog\ncurrently records for SiliconFlow — docs-verified only, not live-verified:\n\n| Probe | Result |\n| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET https://api.siliconflow.com/v1/models answers HTTP 401 without a key (2026-09-29), so model ids are taken from the API reference and the model pages (retrieved 2026-09-29); roster not verified ","hierarchy":{"lvl0":"Getting Started","lvl1":"SiliconFlow Provider Guide","lvl2":"Verification status","lvl3":""}},
6893
+ {"objectID":"fc0490611c80ade458aea34aed72e5384701e9113ac0a35d9ce58472c2f8d4ad","title":"Troubleshooting","url":"/docs/getting-started/providers/siliconflow#troubleshooting","content":"Causes and fixes in quotation marks are SiliconFlow's wording, with the page\nnamed.\n\n| Symptom | Cause | Fix |\n| -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| HTTP 401 | \"API Key is not properly set.\" (Error Handling) | \"Verify the API Key\" (Text Generation, error code table) |\n| HTTP 403 | \"The most common reason is that the model re","hierarchy":{"lvl0":"Getting Started","lvl1":"SiliconFlow Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6894
+ {"objectID":"542760473bdb0052ffd4d8de58a6bb5c713decbb147b33cd821a72dee67af37f","title":"See also","url":"/docs/getting-started/providers/siliconflow#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility\nSiliconFlow pages this entry was built from:\n Quick Start,\n Text Generation,\n Chat completions API reference,\n List models,\n Create embeddings,\n Function Calling,\n JSON Mode,\n Reasoning,\n Stream Mode,\n Error Handling,\n Documentation index,\n Pricing,\n Models,\n SiliconFlow console,\n API Keys\nSiliconFlow model pages (retrieved 2026-09-29):\n DeepSeek-V4-Pro,\n DeepSeek-V4-Flash,\n DeepSeek-V3.2,\n GLM-5.1,\n GLM-5,\n Kimi-K2.6,\n Kimi-K2.5,\n Qwen3.6-27B,\n Qwen3.6-35B-A3B,\n Qwen3-32B,\n Qwen3-VL-32B-Instruct,\n gemma-4-31B-it,\n openai/gpt-oss-120b","hierarchy":{"lvl0":"Getting Started","lvl1":"SiliconFlow Provider Guide","lvl2":"See also","lvl3":""}},
6773
6895
  {"objectID":"adff568ca72c577a263a48494421247c42ae820733451b03d9bbfa8e898f42c1","title":"Stability AI Provider Guide","url":"/docs/getting-started/providers/stability","content":"Stability AI Provider Guide\n\nDirect image generation — image-only provider with no chat / streaming\n(use the imageOutput.base64 field on the result)\n\nOverview\n\nStability AI hosts the Stable Diffusion family + Stable Image Ultra /\nCore. NeuroLink wraps api.stability.ai/v2beta/stable-image/generate/{model}\nso image generation works through the same nl.generate() flow as the\nLLM-routed image-gen providers (DALL-E on OpenAI, Imagen on Vertex).\nstable-image-ultra — flagship quality (default)\nstable-image-core — fast tier\nsd3.5-large, sd3.5-large-turbo, sd3.5-medium — open-weight Stable Diffusion 3.5\n\nKey Facts\nProtocol: REST /v2beta/stable-image/generate/{model} — multipart/form-data submit, base64 PNG response\nDefault base URL: https://api.stability.ai\nDefault model: stable-image-ultra\nOutput: PNG (always — output_format=png is hard-coded)\nStreaming / chat / tool calling: NOT supported (image-only; executeStream throws a friendly error)\nReference images: Not supported via this provider (use Replicate-hosted SDXL or Vertex Imagen for img-to-img)\nPricing: Per image — Stable Image Ultra is the most expensive tier\n\nQuick Start\nGet an API Key\n\nSign up at https://platform.stability.ai/\nand create an API key at\nhttps://platform.stability.ai/account/keys.\nConfigure Environment\nGenerate Your First Image\n\nSDK Usage\n\nBasic Generation (Stable Image Ultra)\n\nStable Image Core (Fast Tier)\n\nSD 3.5 Large\n\nAspect Ratio + Negative Prompt\n\nThe handler reads aspectRatio and negativePrompt from the options:\n\n(NeuroLink threads aspectRatio and negativePrompt through to the\nprovider when present; canonical typing for image-gen extras is a\nfollow-up improvement.)\n\nPer-Call Credentials\n\nCLI Usage\n\nProvider Aliases\n\n| Alias | Example |\n| -------------- | ------------------------- |\n| stability | --provider stability |\n| stability-ai | --provider stability-ai |\n| sd | --provider sd |\n\nConfiguration Reference\n\n| Environment Variable | Required | Default | Description |\n| -------------------- | -------- | -------------------------- | -------------------- |\n| STABILITY_API_KEY | Yes | — | Stability AI API key |\n| STABILITY_MODEL | No | stable-image-ultra | Default model |\n| STABILITY_BASE_URL | No | https://api.stability.ai | Base URL |\n\nFeature Support Matrix\n\n| Feature | stable-image-ultra | stable-image-core | sd3.5-large |\n| ---------------- | ------------------- | ----------------- | ----------- |\n| Image generation | Yes | Yes | Yes |\n| Text-to-image | Yes | Yes | Yes |\n| Image-to-image | No (this provider)¹ | No | No |\n| Aspect ratio | Yes | Yes | Yes |\n| Negative prompt | Yes | Yes | Yes |\n| Seed control | Yes | Yes | Yes |\n| Streaming | No | No | No |\n| Chat / tools | No | No | No |\n\n¹ For image-to-image with Stable Diffusion, use Replicate-hosted SDXL\nvariants via the Replicate provider.\n\nTroubleshooting\n\n\"Invalid Stability AI API key\"\n\nGet / rotate at\nhttps://platform.stability.ai/account/keys.\n\n\"Stability AI rate limit exceeded\"\n\nStability has per-second rate limits per tier. Implement exponential\nbackoff or upgrade your tier at\nhttps://platform.stability.ai/account/credits.\n\n\"Stability AI declined the request due to content policy\"\n\nThe prompt triggered Stability's content filter (finish_reason:\nCONTENT_FILTERED). Adjust the prompt and retry. Use a different model\nif you need looser filtering — but note that ALL Stable Image / SD 3.5\nmodels on the hosted API enforce the same policy.\n\n\"Stability AI returned no image\"\n\nThe upstream returned finish_reason: ERROR without an image. Check\nthe prompt for malformed Unicode or excessive length (>2000 chars).\n\n\"Model not found\"\n\nUse one of the documented model IDs: stable-image-ultra,\nstable-image-core, sd3.5-large, sd3.5-large-turbo, sd3.5-medium.\nNote: some older Stability models (SDXL 1.0, Stable Diffusion 1.5) are\ndeprecated on the hosted API — use Replicate to access them.\n\nSee Also\nIdeogram — sibling image-gen with strong typography (no setup doc yet; see src/lib/providers/ideogram.ts)\nRecraft — sibling image-gen with vector / illustration focus (no setup doc yet; see src/lib/providers/recraft.ts)\nReplicate Provider — image-gen via FLUX, SDXL variants, etc.\nAdding an image-gen provider — internal reference\n\nNeed Help? Open a GitHub Discussion or issue.","hierarchy":{"lvl0":"Getting Started","lvl1":"Stability AI Provider Guide","lvl2":"","lvl3":""}},
6774
6896
  {"objectID":"158fb3f19b9c5a8afc9caf5497ad88e808c29b5d5f54fc55a94b0d7ddec885b5","title":"Stability AI Provider Guide","url":"/docs/getting-started/providers/stability#stability-ai-provider-guide","content":"Direct image generation — image-only provider with no chat / streaming\n(use the imageOutput.base64 field on the result)","hierarchy":{"lvl0":"Getting Started","lvl1":"Stability AI Provider Guide","lvl2":"Stability AI Provider Guide","lvl3":""}},
6775
6897
  {"objectID":"9be4095a72a8e90fffc492dda791996e54456c0fdbb189805bf453ad83e05629","title":"Overview","url":"/docs/getting-started/providers/stability#overview","content":"Stability AI hosts the Stable Diffusion family + Stable Image Ultra /\nCore. NeuroLink wraps api.stability.ai/v2beta/stable-image/generate/{model}\nso image generation works through the same nl.generate() flow as the\nLLM-routed image-gen providers (DALL-E on OpenAI, Imagen on Vertex).\nstable-image-ultra — flagship quality (default)\nstable-image-core — fast tier\nsd3.5-large, sd3.5-large-turbo, sd3.5-medium — open-weight Stable Diffusion 3.5","hierarchy":{"lvl0":"Getting Started","lvl1":"Stability AI Provider Guide","lvl2":"Overview","lvl3":""}},
@@ -6792,6 +6914,27 @@
6792
6914
  {"objectID":"bd256729471a6ae227bef035d51cf425ded61c9a4145c59e13d3b719f852331d","title":"\"Stability AI returned no image\"","url":"/docs/getting-started/providers/stability#stability-ai-returned-no-image","content":"The upstream returned finish_reason: ERROR without an image. Check\nthe prompt for malformed Unicode or excessive length (>2000 chars).","hierarchy":{"lvl0":"Getting Started","lvl1":"Stability AI Provider Guide","lvl2":"\"Stability AI returned no image\"","lvl3":""}},
6793
6915
  {"objectID":"1fd8be6678a7d6a015a5f79c9c42456826928baa9cd68a5ce04aa90b23377005","title":"\"Model not found\"","url":"/docs/getting-started/providers/stability#model-not-found","content":"Use one of the documented model IDs: stable-image-ultra,\nstable-image-core, sd3.5-large, sd3.5-large-turbo, sd3.5-medium.\nNote: some older Stability models (SDXL 1.0, Stable Diffusion 1.5) are\ndeprecated on the hosted API — use Replicate to access them.","hierarchy":{"lvl0":"Getting Started","lvl1":"Stability AI Provider Guide","lvl2":"\"Model not found\"","lvl3":""}},
6794
6916
  {"objectID":"5b8749a23300892944984a006ceeaf7f3749c9cc330e70ec111e4dfa2303e9d2","title":"See Also","url":"/docs/getting-started/providers/stability#see-also","content":"Ideogram — sibling image-gen with strong typography (no setup doc yet; see src/lib/providers/ideogram.ts)\nRecraft — sibling image-gen with vector / illustration focus (no setup doc yet; see src/lib/providers/recraft.ts)\nReplicate Provider — image-gen via FLUX, SDXL variants, etc.\nAdding an image-gen provider — internal reference\n\nNeed Help? Open a GitHub Discussion or issue.","hierarchy":{"lvl0":"Getting Started","lvl1":"Stability AI Provider Guide","lvl2":"See Also","lvl3":""}},
6917
+ {"objectID":"53668dcbe102b05c8715cd40f4160a0ba947cd979c7bcf7f49b67d7284a71448","title":"StepFun Provider Guide","url":"/docs/getting-started/providers/stepfun","content":"StepFun Provider Guide\n\nStepFun is a Tier-2 catalog provider: its integration is one JSON file\n(src/lib/providers/catalog/stepfun.json) rather than hand-written code.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. StepFun's GET https://api.stepfun.ai/v1/models needs a key\n(it answers HTTP 401 without one), so the five model ids come from the\nvendor's public\npricing page\nand the roster has not been checked. No account was created and no API key\nwas used to build this entry. evidence.liveMatrix is null until someone\nruns the live capability matrix with a real key (see\nVerification status below).\n\nKey Facts\nProvider id: stepfun\nProtocol: OpenAI-compatible (/chat/completions) — the vendor's\n migration page\n says \"Stepfun models are compatible with the OpenAI API spec.\"\nBase URL: https://api.stepfun.ai/v1\nStep Plan: the vendor's\n Step Plan overview\n lists a separate OpenAI SDK base URL, https://api.stepfun.ai/step_plan/v1;\n this entry's default is the standard endpoint above\nDefault model: step-5-preview\nModels in catalog: 5 (ids taken from the vendor's pricing page; roster\n not checked)\nStreaming: supported — the\n Chat Completions page\n documents stream and chat.completion.chunk events ending in\n data: [DONE]\nTool calling: model-dependent — the\n Tool Call page\n lists step-5-preview, step-3.7-flash, step-3.5-flash and\n step-3.5-flash-2603 among the models that support Toolcall requests\nTools while streaming: supported — the streaming chunk format on the\n Chat Completions page includes a tool_calls field in delta\nStructured output: supported — the Chat Completions page documents\n response_format { \"type\": \"json_object\" }, and the\n JSON Mode page\n says the json_schema approach applies to step-5-preview,\n step-3.7-flash, step-3.5-flash and step-3.5-flash-2603\nStructured output + tools together: not declared (false) — no\n combined probe was possible without credentials\nEmbeddings: not declared\nThinking: declared (true) — the Chat Completions page documents a\n reasoning_effort request parameter and a reasoning response field\nBilling: recorded as no-free-tier because the catalog schema has no\n unknown value; that is not a vendor statement. The vendor's own billing\n wording is quoted under Billing below\nKey format: none declared\n\nQuick Start\nGet an API key\nVisit: 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.\"\nBilling 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.\"\nSet STEPFUN_API_KEY in your .env file\nConfigure\nUse it\n\nPer-request credentials are passed the same way as for the other catalog providers:\n\nBilling\n\nThe pricing overview\n(pricing/intro)\nsays fees are deducted \"drawing from free credit first, then paid balance\". The\nError Codes page\nlists HTTP 402 as \"Insufficient balance\" with the resolution \"Add funds to\nyour account.\" The\npricing details page\nsays pay-as-you-go calls to the standard Open Platform API \"are rate limited by\ntier according to the cumulative top-up amount on your account\", and for\nindividual accounts states \"Individual accounts must complete identity\nverification first.\" Its individual-account tiers:\n\n| User tier | Cumulative top-up amount | Concurrency | RPM | TPM |\n| --------- | ------------------------ | ----------- | ----- | ---------- |\n| V0 | Under $15 | 5 | 100 | 500,000 |\n| V1 | $15 to $69 | 20 | 400 | 2,000,000 |\n| V2 | $70 to $299 | 30 | 600 | 3,000,000 |\n| V3 | $300 to $1,499 | 40 | 800 | 4,000,000 |\n| V4 | $1,500 and above | 130 | 2,600 | 13,000,000 |\n\nThe entry records no-free-tier because the catalog schema requires one of\nfree-tier, free-with-card or no-free-tier; the vendor pages quoted above\nare the billing statement.\n\nModels\n\n| Model | Context | Max output | Vision | $/M in · out (cache hit) | Notes |\n| ---------------------- | ------- | ---------- | ------ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| step-5-preview ⭐ | 1M | 64k | yes | $1.00 / $2.70 ($0.05) | NeuroLink default. \"Step 5 Preview is StepFun's flagship m","hierarchy":{"lvl0":"Getting Started","lvl1":"StepFun Provider Guide","lvl2":"","lvl3":""}},
6918
+ {"objectID":"135256f907a216712790b8be064fbc1bf8bb510aca75e4c14864712caf117469","title":"StepFun Provider Guide","url":"/docs/getting-started/providers/stepfun#stepfun-provider-guide","content":"StepFun is a Tier-2 catalog provider: its integration is one JSON file\n(src/lib/providers/catalog/stepfun.json) rather than hand-written code.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. StepFun's GET https://api.stepfun.ai/v1/models needs a key\n(it answers HTTP 401 without one), so the five model ids come from the\nvendor's public\npricing page\nand the roster has not been checked. No account was created and no API key\nwas used to build this entry. evidence.liveMatrix is null until someone\nruns the live capability matrix with a real key (see\nVerification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"StepFun Provider Guide","lvl2":"StepFun Provider Guide","lvl3":""}},
6919
+ {"objectID":"3f99c4222df11da103cc22dc9c667f2db8637699e6de2e525a23c5d6500e0a03","title":"Key Facts","url":"/docs/getting-started/providers/stepfun#key-facts","content":"Provider id: stepfun\nProtocol: OpenAI-compatible (/chat/completions) — the vendor's\n migration page\n says \"Stepfun models are compatible with the OpenAI API spec.\"\nBase URL: https://api.stepfun.ai/v1\nStep Plan: the vendor's\n Step Plan overview\n lists a separate OpenAI SDK base URL, https://api.stepfun.ai/step_plan/v1;\n this entry's default is the standard endpoint above\nDefault model: step-5-preview\nModels in catalog: 5 (ids taken from the vendor's pricing page; roster\n not checked)\nStreaming: supported — the\n Chat Completions page\n documents stream and chat.completion.chunk events ending in\n data: [DONE]\nTool calling: model-dependent — the\n Tool Call page\n lists step-5-preview, step-3.7-flash, step-3.5-flash and\n step-3.5-flash-2603 among the models that support Toolcall requests\nTools while streaming: supported — the streaming chunk format on the\n Chat Completions page includes a tool_calls field in delta\nStructured output: supported — the Chat Completions page documents\n response_format { \"type\": \"json_object\" }, and the\n JSON Mode page\n says the json_schema approach applies to step-5-preview,\n step-3.7-flash, step-3.5-flash and step-3.5-flash-2603\nStructured output + tools together: not declared (false) — no\n combined probe was possible without credentials\nEmbeddings: not declared\nThinking: declared (true) — the Chat Completions page documents a\n reasoning_effort request parameter and a reasoning response field\nBilling: recorded as no-free-tier because the catalog schema has no\n unknown value; that is not a vendor statement. The vendor's own billing\n wording is quoted under Billing below\nKey format: none declared","hierarchy":{"lvl0":"Getting Started","lvl1":"StepFun Provider Guide","lvl2":"Key Facts","lvl3":""}},
6920
+ {"objectID":"6e4b524b555042ede80eb0f428e4a255c922caa1c32d75dfc5141a749aa9513d","title":"1. Get an API key","url":"/docs/getting-started/providers/stepfun#1-get-an-api-key","content":"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.\"\nBilling 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.\"\nSet STEPFUN_API_KEY in your .env file","hierarchy":{"lvl0":"Getting Started","lvl1":"StepFun Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
6921
+ {"objectID":"e2440eeb3a2629aa5a62e1f14ff253f21856c6603e73cf08187a7a4058cbeff2","title":"3. Use it","url":"/docs/getting-started/providers/stepfun#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"StepFun Provider Guide","lvl2":"3. Use it","lvl3":""}},
6922
+ {"objectID":"5ba39efbf4ab5311a01036df7fca117c76fd496e06f24ff2427f0b57801687bd","title":"CLI","url":"/docs/getting-started/providers/stepfun#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider stepfun\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"stepfun\",\n credentials: { stepfun: { apiKey: process.env.STEPFUNAPIKEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"StepFun Provider Guide","lvl2":"CLI","lvl3":""}},
6923
+ {"objectID":"de4cc56aecc386970c21e2efe8700d9c6fa96e3f5993f51fcd71093f5c644b12","title":"Billing","url":"/docs/getting-started/providers/stepfun#billing","content":"The pricing overview\n(pricing/intro)\nsays fees are deducted \"drawing from free credit first, then paid balance\". The\nError Codes page\nlists HTTP 402 as \"Insufficient balance\" with the resolution \"Add funds to\nyour account.\" The\npricing details page\nsays pay-as-you-go calls to the standard Open Platform API \"are rate limited by\ntier according to the cumulative top-up amount on your account\", and for\nindividual accounts states \"Individual accounts must complete identity\nverification first.\" Its individual-account tiers:\n\n| User tier | Cumulative top-up amount | Concurrency | RPM | TPM |\n| --------- | ------------------------ | ----------- | ----- | ---------- |\n| V0 | Under $15 | 5 | 100 | 500,000 |\n| V1 | $15 to $69 | 20 | 400 | 2,000,000 |\n| V2 | $70 to $299 | 30 | 600 | 3,000,000 |\n| V3 | $300 to $1,499 | 40 | 800 | 4,000,000 |\n| V4 | $1,500 and above | 130 | 2,600 | 13,000,000 |\n\nThe entry records no-free-tier because the catalog schema requires one of\nfree-tier, free-with-card or no-free-tier; the vendor pages quoted above\nare the billing statement.","hierarchy":{"lvl0":"Getting Started","lvl1":"StepFun Provider Guide","lvl2":"Billing","lvl3":""}},
6924
+ {"objectID":"8f724a50d3f64588b7f31cc52abc861ce5311bfbd34276bac2e8bf1485563b47","title":"Models","url":"/docs/getting-started/providers/stepfun#models","content":"| Model | Context | Max output | Vision | $/M in · out (cache hit) | Notes |\n| ---------------------- | ------- | ---------- | ------ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| step-5-preview ⭐ | 1M | 64k | yes | $1.00 / $2.70 ($0.05) | NeuroLink default. \"Step 5 Preview is StepFun's flagship model for agentic work.\" The Chat Completions page states \"The examples below use step-5-preview by default.\" |\n| step-3.7-flash | 256K | — | yes | $0.20 / $1.15 ($0.04) | Fallback. \"StepFun's flagship multimodal reasoning model.\" |\n| step-3.5-flash | 256K | — | no | $0.10 / $0.30 ($0.02) | Fallback. \"StepFun's flagship language reasoning model\"; the Quickstart table lists Input capabilities \"Text only\". |\n| step-3.5-flash-2603 | 256K | — | no | $0.10 / $0.30 ($0.02) | Fallback. \"Agent-optimized version: tuned from step-3.5-flash for high-frequency agent scenarios.\" |\n| step-1o-turbo-vision | 32K | — | yes | $0.36 / $1.15 ($0.07) | Fallback. Listed under \"Pricing for Vision Models\"; the welcome-page card says \"Designed for social content creation, AI assistants, and image and video understanding.\" |\n\nContext, max output and prices are the vendor's figures from these pages\n(retrieved 2026-09-29):\nstep-5-preview: the\n model page\n gives Context window \"1M tokens\", Input types \"Text, images, and video\" and\n M","hierarchy":{"lvl0":"Getting Started","lvl1":"StepFun Provider Guide","lvl2":"Models","lvl3":""}},
6925
+ {"objectID":"c2693ad7b6bdbec9270cc2bde780fba523e72a62d5cabfc5467c4a77f3476fb6","title":"Verification status","url":"/docs/getting-started/providers/stepfun#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for StepFun — docs-verified only, not\nlive-verified:\n\n| Probe | Result |\n| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET /v1/models answers HTTP 401 without a key (2026-09-29), so the roster has not been checked; model ids come from the vendor's pricing page (retrieved 2026-09-29) |\n| Billing | vendor wording quoted under Billing: \"drawing from free credit first, then paid balance\"; HTTP 402 \"Insufficient balance\"; tiered rate limits by cumulative top-up amount, 2026-09-29 |\n| Auth-failure shape | unauthenticated GET /v1/models and GET /v1/chat/completions each answered HTTP 401 with the body {\"error\":{\"message\":\"Incorrect API key provided\",\"type\":\"invalid_api_key\"}} on 2026-09-29 (the body has no error.code field; authPr","hierarchy":{"lvl0":"Getting Started","lvl1":"StepFun Provider Guide","lvl2":"Verification status","lvl3":""}},
6926
+ {"objectID":"feea25daa5f0b3c0f4cd6120cab49657a68b6f5e3ca3f5f0ea4c2ffa0ade5e35","title":"Troubleshooting","url":"/docs/getting-started/providers/stepfun#troubleshooting","content":"These rows restate the vendor's\nError Codes page\n(retrieved 2026-09-29).\n\n| Symptom | Cause (vendor wording) | Fix (vendor wording) |\n| -------- | ---------------------------------------------------------------------------- | --------------------------------------------------- |\n| HTTP 400 | \"Request parameters are invalid.\" | \"Check the docs and pass the parameters correctly.\" |\n| HTTP 401 | \"Invalid authentication\" | \"Make sure you are using the correct API key.\" |\n| HTTP 402 | \"Insufficient balance\" | \"Add funds to your account.\" |\n| HTTP 404 | \"Incorrect request path\" | \"Update the request path per the docs.\" |\n| HTTP 429 | \"Resource or rate limit exceeded, usually because requests are too frequent\" | \"Retry after a short delay.\" |\n| HTTP 451 | \"The request or response content failed review\" | \"Modify the request and try again.\" |\n| HTTP 500 | \"Server-side issue on our end\" | \"Retry shortly; contact us if it persists.\" |\n| HTTP 503 | \"Server is currently overloaded\" | \"Retry after a short delay.\" |","hierarchy":{"lvl0":"Getting Started","lvl1":"StepFun Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6927
+ {"objectID":"aa16fc4f10ee5eb1fb852ccb6933dcd02fa6f5194c183189a804b2ed1f935f3b","title":"See also","url":"/docs/getting-started/providers/stepfun#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"StepFun Provider Guide","lvl2":"See also","lvl3":""}},
6928
+ {"objectID":"c8f3013b810809808bac69e7a27516bea4cff6765a70b0c690c137232c6c093c","title":"Subconscious Provider Guide","url":"/docs/getting-started/providers/subconscious","content":"Subconscious Provider Guide\n\nSubconscious is a Tier-2 catalog provider: its integration is one JSON file\n(src/lib/providers/catalog/subconscious.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. It is built from Subconscious's public documentation and\npricing pages and unauthenticated GET requests to /v1/models and\n/v1/chat/completions. No API key was created or used, and no POST request\nwas sent. evidence.liveMatrix is null until someone runs the live\ncapability matrix with a real key (see\nVerification status below).\n\nKey Facts\nProvider id: subconscious\nProtocol: OpenAI-compatible (/chat/completions). The vendor overview\n says \"Our API is compatible with both the OpenAI Completions and Anthropic\n Messages APIs\" (overview); this\n entry uses the OpenAI format\nBase URL: https://api.subconscious.dev/v1\nDefault model: subconscious/glm-5.3-marathon\nModels in catalog: 3 (the roster lists 4)\nStreaming: supported. The API reference says \"Each event is a\n ChatCompletionChunk object\" and describes the stream as ending with\n data: [DONE]\n (API reference)\nTool calling: declared false; not probed with a key. The pricing page's\n plan card says \"Drop-in for Claude Code, Codex, OpenCode, or any\n OpenAI-compatible harness\" (pricing)\nStructured output: declared false. The API reference says of\n response_format: \"Currently unsupported. The request may accept this field,\n but it is ignored and does not constrain the model output to JSON or a\n schema.\"\nStructured output + tools together: declared false; not probed with a\n key\nThinking: declared false. The API reference lists\n chat_template_kwargs with enable_thinking as a \"Subconscious extension\"\n (API reference)\nEmbeddings: declared false\nBilling: no-free-tier is the catalog schema's required field value\n here, not a vendor statement. The cloud-API page says \"Usage is billed per\n token.\" and \"Credits are added from your dashboard\"\n (cloud API). The\n vendor's\n GLM-5.2 launch post\n (June 22, 2026) says \"You also get $50 credits to test the model\n performance\"; no account was created, so that offer was not tried\nKey format: not recorded (apiKeyFormat is null)\n\nQuick Start\nGet an API key\nVisit https://subconscious.dev/platform and sign up or sign in (the quickstart describes signing up on the platform and generating an API key from the dashboard)\nCreate an API key at https://subconscious.dev/platform/api-keys and copy it (cloud API says API keys are created and managed from the dashboard)\nPricing is at https://www.subconscious.dev/pricing (monthly token plans and usage-based per-token pricing)\nSet SUBCONSCIOUS_API_KEY in your .env file\nConfigure\nUse it\n\nPer-request credentials:\n\nModels\n\n| Model | Vision (placeholder) | $/M in · out | Notes |\n| ------------------------------------------- | -------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| subconscious/glm-5.3-marathon | no | $1.40 / $4.40 (cached $0.26) | NeuroLink default. The pricing page lists it under the name \"GLM-5.3 Marathon\", with the description \"Open-source frontier coding model\". |\n| subconscious/deepseek-v4.1-flash-marathon | no | not attached (see below) | NeuroLink fallback. The homepage FAQ says \"On our managed inference service, we serve GLM 5.3 Marathon and DeepSeek V4.1 Flash Marathon.\" The pricing page lists a different id, subconscious/deepseek-v4-flash-marathon, with the description \"Multimodal & high-throughput DeepSeek V4\". Not probed with a key. |\n| subconscious/tim-qwen3.6-27b | no | not attached | NeuroLink fallback. The vendor's May 21, 2026 blog post \"Introducing TIM-Qwen3.6-27B\" says the model is \"available via the OpenAI chat completions and Anthropic messages API formats\". Not probed with a key. |\n\nThe three ids above are on the unauthenticated GET /v1/models roster\n(2026-09-29). The vision value (false, shown as no in the table) of the\nthree listed models is a schema-required placeholder t","hierarchy":{"lvl0":"Getting Started","lvl1":"Subconscious Provider Guide","lvl2":"","lvl3":""}},
6929
+ {"objectID":"0b97b836648fcfe844e2c84c88b24da79fc036192feddcd881ad64352bce9e0b","title":"Subconscious Provider Guide","url":"/docs/getting-started/providers/subconscious#subconscious-provider-guide","content":"Subconscious is a Tier-2 catalog provider: its integration is one JSON file\n(src/lib/providers/catalog/subconscious.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. It is built from Subconscious's public documentation and\npricing pages and unauthenticated GET requests to /v1/models and\n/v1/chat/completions. No API key was created or used, and no POST request\nwas sent. evidence.liveMatrix is null until someone runs the live\ncapability matrix with a real key (see\nVerification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"Subconscious Provider Guide","lvl2":"Subconscious Provider Guide","lvl3":""}},
6930
+ {"objectID":"f831db7552cf4ab4b85ece76bd5a25452bbfde433f82b1cc61b5ccfbf6a15600","title":"Key Facts","url":"/docs/getting-started/providers/subconscious#key-facts","content":"Provider id: subconscious\nProtocol: OpenAI-compatible (/chat/completions). The vendor overview\n says \"Our API is compatible with both the OpenAI Completions and Anthropic\n Messages APIs\" (overview); this\n entry uses the OpenAI format\nBase URL: https://api.subconscious.dev/v1\nDefault model: subconscious/glm-5.3-marathon\nModels in catalog: 3 (the roster lists 4)\nStreaming: supported. The API reference says \"Each event is a\n ChatCompletionChunk object\" and describes the stream as ending with\n data: [DONE]\n (API reference)\nTool calling: declared false; not probed with a key. The pricing page's\n plan card says \"Drop-in for Claude Code, Codex, OpenCode, or any\n OpenAI-compatible harness\" (pricing)\nStructured output: declared false. The API reference says of\n response_format: \"Currently unsupported. The request may accept this field,\n but it is ignored and does not constrain the model output to JSON or a\n schema.\"\nStructured output + tools together: declared false; not probed with a\n key\nThinking: declared false. The API reference lists\n chat_template_kwargs with enable_thinking as a \"Subconscious extension\"\n (API reference)\nEmbeddings: declared false\nBilling: no-free-tier is the catalog schema's required field value\n here, not a vendor statement. The cloud-API page says \"Usage is billed per\n token.\" and \"Credits are added from your dashboard\"\n (cloud API). The\n vendor's\n GLM-5.2 launch post\n (June 22, 2026) says \"You also get $50 credits to test the model\n performance\"; no account was created, so that offer was not tried\nKey format: not recorded (apiKeyFormat is null)","hierarchy":{"lvl0":"Getting Started","lvl1":"Subconscious Provider Guide","lvl2":"Key Facts","lvl3":""}},
6931
+ {"objectID":"ea9fea325f1034a0e347109b0c050fd319aad28df3bd38b1fb707e439000c00f","title":"1. Get an API key","url":"/docs/getting-started/providers/subconscious#1-get-an-api-key","content":"Visit https://subconscious.dev/platform and sign up or sign in (the quickstart describes signing up on the platform and generating an API key from the dashboard)\nCreate an API key at https://subconscious.dev/platform/api-keys and copy it (cloud API says API keys are created and managed from the dashboard)\nPricing is at https://www.subconscious.dev/pricing (monthly token plans and usage-based per-token pricing)\nSet SUBCONSCIOUS_API_KEY in your .env file","hierarchy":{"lvl0":"Getting Started","lvl1":"Subconscious Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
6932
+ {"objectID":"d57f70ce545c040b667065ebeff8dfadb8d58c039b908b163137b7942e3f7360","title":"3. Use it","url":"/docs/getting-started/providers/subconscious#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Subconscious Provider Guide","lvl2":"3. Use it","lvl3":""}},
6933
+ {"objectID":"ca8f8fd647a87e8027a8ca80b5478d65f24e5dd732c786e943f46cc25dff1d14","title":"CLI","url":"/docs/getting-started/providers/subconscious#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider subconscious\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"subconscious\",\n credentials: { subconscious: { apiKey: process.env.SUBCONSCIOUSAPIKEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Subconscious Provider Guide","lvl2":"CLI","lvl3":""}},
6934
+ {"objectID":"fc78b64c73a63c4219e8a64579f1ef733cec4ea620c9fbdd48037ef37807cca6","title":"Models","url":"/docs/getting-started/providers/subconscious#models","content":"| Model | Vision (placeholder) | $/M in · out | Notes |\n| ------------------------------------------- | -------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| subconscious/glm-5.3-marathon | no | $1.40 / $4.40 (cached $0.26) | NeuroLink default. The pricing page lists it under the name \"GLM-5.3 Marathon\", with the description \"Open-source frontier coding model\". |\n| subconscious/deepseek-v4.1-flash-marathon | no | not attached (see below) | NeuroLink fallback. The homepage FAQ says \"On our managed inference service, we serve GLM 5.3 Marathon and DeepSeek V4.1 Flash Marathon.\" The pricing page lists a different id, subconscious/deepseek-v4-flash-marathon, with the description \"Multimodal & high-throughput DeepSeek V4\". Not probed with a key. |\n| subconscious/tim-qwen3.6-27b | no | not attached | NeuroLink fallback. The vendor's May 21, 2026 blog post \"Introducing TIM-Qwen3.6-27B\" says the model is \"available via the OpenAI chat completions and Anthropic messages API formats\". Not probed with a key. |\n\nThe three id","hierarchy":{"lvl0":"Getting Started","lvl1":"Subconscious Provider Guide","lvl2":"Models","lvl3":""}},
6935
+ {"objectID":"96e991d6ea0464b1707e71a219f12f335400ad2b5401eaa86b74abb223adb7b3","title":"Verification status","url":"/docs/getting-started/providers/subconscious#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for Subconscious — docs- and roster-verified, not\nlive-verified:\n\n| Probe | Result |\n| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET https://api.subconscious.dev/v1/models, HTTP 200, 4 models, 2026-09-29 — no key used |\n| Route check | unauthenticated GET https://api.subconscious.dev/v1/chat/completions answered HTTP 405 with allow: POST, 2026-09-29; no POST was sent |\n| Billing | public pages read without an account: the cloud API page and the pricing page. The GLM-5.2 launch post (June 22, 2026) says \"You also get $50 credits to test the model performance\"; no account was created, so that offer was not tried, 2026-09-29 |\n| Erro","hierarchy":{"lvl0":"Getting Started","lvl1":"Subconscious Provider Guide","lvl2":"Verification status","lvl3":""}},
6936
+ {"objectID":"8c3a0849c95eedb67f4cc7f557d8e1be167e442bfbc369468d98442b1312777e","title":"Error statuses","url":"/docs/getting-started/providers/subconscious#error-statuses","content":"The OpenAPI spec (https://docs.subconscious.dev/api-reference/openapi.json)\nlists these responses for /chat/completions:\n\n| Status | Vendor description | NeuroLink class |\n| ------ | ------------------------------------------------------------ | ----------------- |\n| 400 | Bad request due to invalid parameters or unsupported options | not in errorRules |\n| 401 | Unauthorized because of a missing or invalid API key | authentication |\n| 429 | Rate limited due to too many requests or tokens per minute | rate-limit |\n| 500 | Internal server error | not in errorRules |","hierarchy":{"lvl0":"Getting Started","lvl1":"Subconscious Provider Guide","lvl2":"Error statuses","lvl3":""}},
6937
+ {"objectID":"0fca22eccff731488298cebb313d9ddfc374ef3c7fccdc469899e5119d9f1ad3","title":"See also","url":"/docs/getting-started/providers/subconscious#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Subconscious Provider Guide","lvl2":"See also","lvl3":""}},
6795
6938
  {"objectID":"5d6fb26e3e893c2534b09e38ae652750f963771afe087027bb853555b13eb8a4","title":"Synthetic Provider Guide","url":"/docs/getting-started/providers/synthetic","content":"Synthetic Provider Guide\n\nSynthetic is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks declared, so its entire integration is one JSON file\n(src/lib/providers/catalog/synthetic.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. Every model id, context window, output ceiling and price\nbelow comes from an unauthenticated GET /openai/v1/models call plus the\nvendor's own pricing page and LiteLLM's third-party provider page — no API\nkey was used or is required to onboard this entry. Nobody has yet run a\nlive capability sweep (chat, streaming, tool calls, structured output)\nagainst Synthetic with a real key; evidence.liveMatrix is null until\nthat happens. Treat capabilities.tools, .structuredOutput and\n.thinking as \"documented by the vendor,\" not \"wire-proven.\"\n\nKey Facts\nProvider id: synthetic\nProtocol: OpenAI-compatible (/chat/completions — the only operation\n LiteLLM's provider page lists for Synthetic)\nBase URL: https://api.synthetic.new/openai/v1\nDefault model: syn:large:text (deepseek-ai/DeepSeek-V4.1-Flash)\nModels in catalog: 11 ids covering 7 unique always-on models (short\n syn:* aliases and full Hugging Face weight ids both resolve)\nStreaming: documented (vendor docs show a streaming SDK example)\nTool calling: documented — every model on the live roster lists tools\n in supported_features\nStructured output: documented — every model lists json_mode and\n structured_outputs in supported_features. Tools + structured output\n together has not been probed, so structuredOutputWithTools is false\n until a live combined request confirms it.\nReasoning / thinking: documented — every model lists reasoning in\n supported_features with an explicit reasoning_parameters.efforts list\n (e.g. none/low/high/xhigh/max)\nEmbeddings: not exposed through this catalog entry. Synthetic's\n pricing page separately lists an included embedding model\n (hf:nomic-ai/nomic-embed-text-v1.5), but NeuroLink's embed() /\n embedMany() surface is currently wired only for OpenAI, Google AI\n Studio, Google Vertex and Amazon Bedrock — not generic Tier-2 catalog\n providers — so capabilities.embeddings is false here regardless.\nBilling: no free tier — flat-fee subscription ($1/day or $30/month,\n 500 requests/5hr) or enterprise usage-based pricing\nKey format: none documented\n\nQuick Start\nGet an API key\nVisit: https://synthetic.new and choose Sign up (or Log in if you already have an account)\nSubscribe to a Pack ($1/day or $30/month, 500 requests/5hr per the pricing page) or set up enterprise usage-based billing — Synthetic has no free tier or keyless trial\nGenerate an API key from your account dashboard\nSet SYNTHETIC_API_KEY in your .env file\nConfigure\nUse it\n\nPer-request credentials work as they do for every provider:\n\nModels\n\n| Model | Context | Max out | Vision | $/M in · out · cached-in | Notes |\n| --------------------------------------------------- | ------- | ------- | ------ | ------------------------ | --------------------------------------------------------------------------------------------------------------- |\n| syn:large:text ⭐ | 512K | 64K | yes | $0.60 / $1.20 / $0.03 | Recommended — alias for deepseek-ai/DeepSeek-V4.1-Flash. Vendor: \"an efficient near-Fable model with vision.\" |\n| syn:small:text | 192K | 64K | no | $0.10 / $0.50 / $0.02 | Alias for zai-org/GLM-4.7-Flash — smaller/faster, ~30B class; text-only input. |\n| syn:large:vision | 512K | 64K | yes | $3.00 / $15.00 / $0.45 | Alias for moonshotai/Kimi-K3 — 2.8T-parameter flagship; the most expensive model in the roster. |\n| syn:small:vision | 256K | 64K | yes | $0.45 / $2.20 / $0.09 | Alias for Qwen/Qwen3.8-27B — small coding + vision model. |\n| hf:zai-org/GLM-5.3-Flash | 512K | 64K | yes | $0.15 / $0.50 / $0.04 | No syn: short alias. Vendor: \"an extremely efficient, Opus-4.8-equivalent model with vision.\" |\n| hf:openai/gpt-oss-120b | 128K | 64K | no | $0.10 / $0.10 / $0.02 | OpenAI's open-weight gpt-oss-120b; strong reasoning + agentic use. |\n| hf:nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4 | 256K | 64K | no | $0.30 / $1.00 / $0.06 | Fast 120B model, good for coding agents. |\n| hf:deepseek-ai/DeepSeek-V4.1-Flash | 512K | 64K | yes | $0","hierarchy":{"lvl0":"Getting Started","lvl1":"Synthetic Provider Guide","lvl2":"","lvl3":""}},
6796
6939
  {"objectID":"eef94ef22cf845eb2e5117a994e6483af7f0a9b385fffa0c0b1155e6a836c314","title":"Synthetic Provider Guide","url":"/docs/getting-started/providers/synthetic#synthetic-provider-guide","content":"Synthetic is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks declared, so its entire integration is one JSON file\n(src/lib/providers/catalog/synthetic.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. Every model id, context window, output ceiling and price\nbelow comes from an unauthenticated GET /openai/v1/models call plus the\nvendor's own pricing page and LiteLLM's third-party provider page — no API\nkey was used or is required to onboard this entry. Nobody has yet run a\nlive capability sweep (chat, streaming, tool calls, structured output)\nagainst Synthetic with a real key; evidence.liveMatrix is null until\nthat happens. Treat capabilities.tools, .structuredOutput and\n.thinking as \"documented by the vendor,\" not \"wire-proven.\"","hierarchy":{"lvl0":"Getting Started","lvl1":"Synthetic Provider Guide","lvl2":"Synthetic Provider Guide","lvl3":""}},
6797
6940
  {"objectID":"c2baa496ddd36ed9f0523b9d3466fa858e3fe791889c16953111aa282b9ccbb5","title":"Key Facts","url":"/docs/getting-started/providers/synthetic#key-facts","content":"Provider id: synthetic\nProtocol: OpenAI-compatible (/chat/completions — the only operation\n LiteLLM's provider page lists for Synthetic)\nBase URL: https://api.synthetic.new/openai/v1\nDefault model: syn:large:text (deepseek-ai/DeepSeek-V4.1-Flash)\nModels in catalog: 11 ids covering 7 unique always-on models (short\n syn:* aliases and full Hugging Face weight ids both resolve)\nStreaming: documented (vendor docs show a streaming SDK example)\nTool calling: documented — every model on the live roster lists tools\n in supported_features\nStructured output: documented — every model lists json_mode and\n structured_outputs in supported_features. Tools + structured output\n together has not been probed, so structuredOutputWithTools is false\n until a live combined request confirms it.\nReasoning / thinking: documented — every model lists reasoning in\n supported_features with an explicit reasoning_parameters.efforts list\n (e.g. none/low/high/xhigh/max)\nEmbeddings: not exposed through this catalog entry. Synthetic's\n pricing page separately lists an included embedding model\n (hf:nomic-ai/nomic-embed-text-v1.5), but NeuroLink's embed() /\n embedMany() surface is currently wired only for OpenAI, Google AI\n Studio, Google Vertex and Amazon Bedrock — not generic Tier-2 catalog\n providers — so capabilities.embeddings is false here regardless.\nBilling: no free tier — flat-fee subscription ($1/day or $30/month,\n 500 requests/5hr) or enterprise usage-based pricing\nKey format: none documented","hierarchy":{"lvl0":"Getting Started","lvl1":"Synthetic Provider Guide","lvl2":"Key Facts","lvl3":""}},
@@ -6802,6 +6945,19 @@
6802
6945
  {"objectID":"1b321e95b49cf8c2e2e15b3e5b1292363d492fd984294d3c5a329e11a33765f2","title":"Verification status","url":"/docs/getting-started/providers/synthetic#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog records for Synthetic — all credential-free:\n\n| Probe | Result |\n| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET /openai/v1/models, HTTP 200, 11 models, 2026-09-28. No API key used or required for this endpoint. |\n| Billing | unauthenticated GET https://synthetic.new/pricing, HTTP 200, 2026-09-28 — no free tier; $1/day or $30/month subscription pack (500 req/5hr), or enterprise usage-based pricing. |\n| Third-party wire check | LiteLLM's Synthetic provider page confirms base URL https://api.synthetic.new/openai/v1, env var SYNTHETIC_API_KEY, and /chat/completions as the only supported operation. |\n| Live capability sweep | Not yet run. evidence.liveMatrix is null. Tool calling, structured output, streaming and the tools+schema combination are documented by the vendor's own supported_features roster field, not wire-proven against a real key. |\n\nBecause no live key was used, capabilities.structuredOutputWithTools is\nfalse per Tier-2 policy — a documented individual capability is not\nevidence for the combined one. A future pass with a real\nSYNTHETIC_API_KEY should run the live matrix\n(npx tsx test/con","hierarchy":{"lvl0":"Getting Started","lvl1":"Synthetic Provider Guide","lvl2":"Verification status","lvl3":""}},
6803
6946
  {"objectID":"4db386b896f3e19c66e5564b8719cb8bddca88d0d596ccdea459ee60cf27f825","title":"Troubleshooting","url":"/docs/getting-started/providers/synthetic#troubleshooting","content":"| Symptom | Cause | Fix |\n| ---------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |\n| Auth error on first request | No documented auth-error shape yet (no live probe) | Check SYNTHETIC_API_KEY is set and valid; see https://synthetic.new for key management |\n| Model not found | The roster changed since 2026-09-28 | Pick a current id from the unauthenticated GET /openai/v1/models roster |\n| No free tier | Synthetic requires a paid Pack or usage-based billing | Subscribe at https://synthetic.new before making live calls |\n| Structured output + tools together fails | Not yet probed combined; declared unsupported (structuredOutputWithTools: false) until proven live | Send tools and response_format in separate requests until this is live-verified |","hierarchy":{"lvl0":"Getting Started","lvl1":"Synthetic Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6804
6947
  {"objectID":"452f3970d27c44897602d26d618f2d1f808aae1c21ceba07acf57e2c84c34a02","title":"See also","url":"/docs/getting-started/providers/synthetic#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Synthetic Provider Guide","lvl2":"See also","lvl3":""}},
6948
+ {"objectID":"823f5e16f43c75de89ea1f12d99dd4ca0e84299fe2372730cbc3d17169a00417","title":"Tinfoil Provider Guide","url":"/docs/getting-started/providers/tinfoil","content":"Tinfoil Provider Guide\n\nTinfoil is a Tier-2 catalog provider: its integration is one JSON file\n(src/lib/providers/catalog/tinfoil.json) rather than hand-written code.\nThat file is the source of truth for this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. The fields below come from Tinfoil's own public pages and\ntwo unauthenticated GET requests (/v1/models and /v1/chat/completions) —\nno account was created and no API key was used to build it.\nevidence.liveMatrix is null until someone runs the live capability matrix\nwith a real key (see Verification status below).\n\nKey Facts\nProvider id: tinfoil (no alias)\nProtocol: OpenAI-compatible (/chat/completions). The homepage says\n \"Our API is OpenAI-compatible, open-source, and fully verifiable.\"\n (tinfoil.sh) and the chat models page says \"Chat models\n use the OpenAI chat completions API.\"\n (docs)\nBase URL: https://inference.tinfoil.sh/v1\nDefault model: kimi-k3\nModels in catalog: 7 (the seven entries whose roster type is chat,\n taken from a 17-entry roster)\nStreaming: supported — the structured outputs guide shows a request with\n stream=True that reads chunk.choices[0].delta.content, under the heading\n \"Enable Streaming for Large Responses\"\n (docs)\nTool calling: supported (true) — the tool-calling guide documents\n function calling (docs), and\n the roster's tool_calling field is true on the seven catalog models\nTools while streaming: not declared (false) — no combined\n tools-and-streaming request was sent (no credentials were used)\nStructured output: supported — the structured outputs guide documents a\n response_format of type json_schema\n (docs), and the seven\n chat model cards carry a \"Structured Outputs\" line\n (docs)\nStructured output + tools together: not declared (false) — no\n combined probe was run without credentials\nEmbeddings: not declared (false) on this catalog entry. The roster lists\n nomic-embed-text with type embedding\n (docs); it is not one of the seven\n catalog models\nThinking: declared (true) — the reasoning guide documents a\n reasoning_effort request parameter and says the model's thinking is returned\n in the reasoning field of the response message\n (docs); the accepted values differ\n by model (see Reasoning effort)\nVision: four catalog models (kimi-k3, gemma4-31b, glm-5-3-flash,\n deepseek-v4-1-flash) — see Models\nBilling: free-with-card — see Billing below\nKey format: none validated (apiKeyFormat is null)\nConnection security: NeuroLink calls the endpoint directly over HTTPS —\n see Direct HTTPS access\n\nQuick Start\nGet an API key\nVisit: 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.\"\nOn 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.\"\nThe 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\nSet TINFOIL_API_KEY in your .env file (the examples on https://docs.tinfoil.sh/quickstart read TINFOILAPIKEY)\nNeuroLink 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)\nConfigure\nUse it\n\nPer-request credentials work as they do for the other catalog providers:\n\nDirect HTTPS access\n\nThe catalog's base URL, https://inference.tinfoil.sh/v1, is the endpoint the\nTinfoil docs call \"direct\" access. The docs page for it\n(Direct API Access) says \"but\nthis is not recommended in production\" and \"Direct access skips the automatic\nattestation verification our SDKs perform, so you have no cryptographic proof\nyour data is processed in a secure enclave and no protection against\nman-in-the-middle attacks.\" It also says \"We maintain direct HTTPS\ncompatibility for debugging and simple testing (e.g., inference requests via\ncURL).\"\n\nThe coding-agents tutorial says \"OpenAI-compatible clients don’t perform\nconnection-time attestation themselves.\"\n(docs) and the\nTinfoil Proxy CLI page describes a\nlocal proxy that listens on http://127.0.0.1:3301, verifies the enclave's\nattestation, and takes that address as the base URL for any OpenAI-compatible\nclient. Pointing TINFOIL_BASE_URL at it follows those docs; NeuroLink through\nthat proxy was not exercised.\n\nBilling\n\nTinfoil's key guide (docs) describes the\nflow: sign up, click Activate on the Private Inference card, enter card details\nat checkout when no pa","hierarchy":{"lvl0":"Getting Started","lvl1":"Tinfoil Provider Guide","lvl2":"","lvl3":""}},
6949
+ {"objectID":"553cdc414eaa87c755098d10deaaadad4af926e106a7330741e0c44d7352308d","title":"Tinfoil Provider Guide","url":"/docs/getting-started/providers/tinfoil#tinfoil-provider-guide","content":"Tinfoil is a Tier-2 catalog provider: its integration is one JSON file\n(src/lib/providers/catalog/tinfoil.json) rather than hand-written code.\nThat file is the source of truth for this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. The fields below come from Tinfoil's own public pages and\ntwo unauthenticated GET requests (/v1/models and /v1/chat/completions) —\nno account was created and no API key was used to build it.\nevidence.liveMatrix is null until someone runs the live capability matrix\nwith a real key (see Verification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"Tinfoil Provider Guide","lvl2":"Tinfoil Provider Guide","lvl3":""}},
6950
+ {"objectID":"59d2d8b0523c0312969cc9fd6bae755b259f60fdfdad2912f120e07be9818836","title":"Key Facts","url":"/docs/getting-started/providers/tinfoil#key-facts","content":"Provider id: tinfoil (no alias)\nProtocol: OpenAI-compatible (/chat/completions). The homepage says\n \"Our API is OpenAI-compatible, open-source, and fully verifiable.\"\n (tinfoil.sh) and the chat models page says \"Chat models\n use the OpenAI chat completions API.\"\n (docs)\nBase URL: https://inference.tinfoil.sh/v1\nDefault model: kimi-k3\nModels in catalog: 7 (the seven entries whose roster type is chat,\n taken from a 17-entry roster)\nStreaming: supported — the structured outputs guide shows a request with\n stream=True that reads chunk.choices[0].delta.content, under the heading\n \"Enable Streaming for Large Responses\"\n (docs)\nTool calling: supported (true) — the tool-calling guide documents\n function calling (docs), and\n the roster's tool_calling field is true on the seven catalog models\nTools while streaming: not declared (false) — no combined\n tools-and-streaming request was sent (no credentials were used)\nStructured output: supported — the structured outputs guide documents a\n response_format of type json_schema\n (docs), and the seven\n chat model cards carry a \"Structured Outputs\" line\n (docs)\nStructured output + tools together: not declared (false) — no\n combined probe was run without credentials\nEmbeddings: not declared (false) on this catalog entry. The roster lists\n nomic-embed-text with type embedding\n (docs); it is not one of the seven\n catalog models\nThinking: declared (true) — the reasoning guide documents a\n reasoning_effort request parameter and says the model's thinking is returned\n in the reasoning field of the response message\n (docs); the accepted values differ\n by model (see Reasoning effort)\nVision: four catalog models (kimi-k3, gemma4-31b, glm-5-3-flash,\n deepseek-v4-1-flash) — see Models\nBilling: free-with-card — see Billing below\nKey format: none validated (apiKeyFormat is null)\nConnection security: NeuroLink calls the endpoint directly over HTTPS —\n see Direct HTTPS access","hierarchy":{"lvl0":"Getting Started","lvl1":"Tinfoil Provider Guide","lvl2":"Key Facts","lvl3":""}},
6951
+ {"objectID":"64eeac36b5ae35215cc28ff72e49b7b092d03750bf91d76bac0c923b60ec5be1","title":"1. Get an API key","url":"/docs/getting-started/providers/tinfoil#1-get-an-api-key","content":"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.\"\nOn 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.\"\nThe 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\nSet TINFOIL_API_KEY in your .env file (the examples on https://docs.tinfoil.sh/quickstart read TINFOILAPIKEY)\nNeuroLink 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)","hierarchy":{"lvl0":"Getting Started","lvl1":"Tinfoil Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
6952
+ {"objectID":"e77ccbe5289fedd27b75acc8d00d8a41f635687137d6f843b39239419a3879d3","title":"3. Use it","url":"/docs/getting-started/providers/tinfoil#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Tinfoil Provider Guide","lvl2":"3. Use it","lvl3":""}},
6953
+ {"objectID":"65a368a9e032eabc8aed73851bb2adc7222ef77309a2b7fb6cb82d6bbf574f6f","title":"CLI","url":"/docs/getting-started/providers/tinfoil#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider tinfoil\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"tinfoil\",\n credentials: { tinfoil: { apiKey: process.env.TINFOILAPIKEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Tinfoil Provider Guide","lvl2":"CLI","lvl3":""}},
6954
+ {"objectID":"34cea170933e2d95eb131d757c636b548cde978ed07e255ed9860eb749127880","title":"Direct HTTPS access","url":"/docs/getting-started/providers/tinfoil#direct-https-access","content":"The catalog's base URL, https://inference.tinfoil.sh/v1, is the endpoint the\nTinfoil docs call \"direct\" access. The docs page for it\n(Direct API Access) says \"but\nthis is not recommended in production\" and \"Direct access skips the automatic\nattestation verification our SDKs perform, so you have no cryptographic proof\nyour data is processed in a secure enclave and no protection against\nman-in-the-middle attacks.\" It also says \"We maintain direct HTTPS\ncompatibility for debugging and simple testing (e.g., inference requests via\ncURL).\"\n\nThe coding-agents tutorial says \"OpenAI-compatible clients don’t perform\nconnection-time attestation themselves.\"\n(docs) and the\nTinfoil Proxy CLI page describes a\nlocal proxy that listens on http://127.0.0.1:3301, verifies the enclave's\nattestation, and takes that address as the base URL for any OpenAI-compatible\nclient. Pointing TINFOIL_BASE_URL at it follows those docs; NeuroLink through\nthat proxy was not exercised.","hierarchy":{"lvl0":"Getting Started","lvl1":"Tinfoil Provider Guide","lvl2":"Direct HTTPS access","lvl3":""}},
6955
+ {"objectID":"f5078e376ef6fb5ff7fbc9999cd88d1b03074a94243e10e43592488c80f494e8","title":"Billing","url":"/docs/getting-started/providers/tinfoil#billing","content":"Tinfoil's key guide (docs) describes the\nflow: sign up, click Activate on the Private Inference card, enter card details\nat checkout when no payment method is on file (\"You’re only charged based on\nusage.\"), and receive a \"Default API key\" from a dialog that \"adds $1 in API\ncredits to your account\". The homepage labels the API \"Usage-based pricing\"\n(tinfoil.sh). The pricing page's Private Chat card lists\n$20 per month (pricing); Private Chat and Private\nInference are separate entries in the site's Products menu.\n\nThe entry records free-with-card, the value among the schema's three\n(free-tier, free-with-card, no-free-tier) that matches a card at checkout\nplus a stated credit. Per-token prices are in the Models table.","hierarchy":{"lvl0":"Getting Started","lvl1":"Tinfoil Provider Guide","lvl2":"Billing","lvl3":""}},
6956
+ {"objectID":"41d145fdb26539f12904742485d7fea24a56d8a1fb3cde312bf5c4dbecb48dbc","title":"Models","url":"/docs/getting-started/providers/tinfoil#models","content":"| Model | Context | Vision | Price per 1M tokens in / out (cached in) | Notes |\n| --------------------- | --------- | ------ | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| kimi-k3 (default) | 262,144 | yes | 4 / 20 (0.8) | NeuroLink default. Roster description: \"Moonshot's flagship multimodal MoE model with hybrid attention for long-context reasoning, coding, and agentic workflows\". |\n| gpt-oss-120b | 131,072 | no | 0.15 / 0.6 | Fallback. The first inference example on the quickstart uses this model ID. |\n| gemma4-31b | 262,144 | yes | 0.4 / 1 | Fallback. Strengths value on the chat models page: \"Built-in thinking mode, image understanding, native function calling, multilingual support for 35+ languages\". |\n| llama3-3-70b | 131,072 | no | 1.75 / 2.75 | Fallback. Roster description: \"High-performance multilingual language model optimized for dialogue\". |\n| glm-5-3 | 1,048,576 | no | 1.8 / 5.75 (0.45) | Roster description: \"Z.ai's latest flagship for agentic coding and long-horizon tasks, with a 1M-token context windo","hierarchy":{"lvl0":"Getting Started","lvl1":"Tinfoil Provider Guide","lvl2":"Models","lvl3":""}},
6957
+ {"objectID":"a1da203e9cde509fcddb92e862cadc0e46307e8cc43d4e7932a3c18d390cf3fa","title":"Reasoning effort","url":"/docs/getting-started/providers/tinfoil#reasoning-effort","content":"Accepted reasoning_effort values per model, from the\nreasoning guide:\n\n| Model | Supported values |\n| --------------------- | ---------------------------------------------------------- |\n| kimi-k3 | low, high, max |\n| deepseek-v4-1-flash | none, low, high, xhigh, max |\n| glm-5-3 | low, high, max |\n| glm-5-3-flash | low, high, max |\n| gemma4-31b | none, minimal, low, medium, high, xhigh, max |\n| gpt-oss-120b | low, medium, high |\n\nThe same page says Kimi K3, GLM-5.3 and GLM-5.3 Flash always use reasoning and\ndefault to max, and that sending an unsupported value returns a 400 error.\nThe chat models page states that for\nGLM-5.3 and GLM-5.3 Flash reasoning tokens count toward max_tokens, so\nstructured outputs and strict tool calls at the default effort need a generous\nmax_tokens (around 20K) or a lower effort.","hierarchy":{"lvl0":"Getting Started","lvl1":"Tinfoil Provider Guide","lvl2":"Reasoning effort","lvl3":""}},
6958
+ {"objectID":"2fb8246b19d7ae2cc5510f2a1df908e38fcbb2bd1e577c0fffada427c055c948","title":"Verification status","url":"/docs/getting-started/providers/tinfoil#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for Tinfoil — docs- and roster-verified, not\nlive-verified:\n\n| Probe | Result |\n| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| Roster | unauthenticated GET https://inference.tinfoil.sh/v1/models, HTTP 200, 17 entries (7 with type chat), 2026-09-29 — a second GET the same day returned an identical body; no key used |\n| Billing | public page https://docs.tinfoil.sh/get-api-key, 2026-09-29: card details 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\" |\n| Auth-failure shape | unauthenti","hierarchy":{"lvl0":"Getting Started","lvl1":"Tinfoil Provider Guide","lvl2":"Verification status","lvl3":""}},
6959
+ {"objectID":"4ff61920850b0c701850f97d1aa81ceefa9b9f2dcd0b4c21222d7d168dbacb87","title":"Troubleshooting","url":"/docs/getting-started/providers/tinfoil#troubleshooting","content":"| Symptom | Cause | Fix |\n| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| HTTP 402 (insufficient_quota) | The docs list message \"You exceeded your current quota, please check your plan and billing details.\" and cause \"The account or organization has no remaining balance or an inactive subscription\" | Billing in the Tinfoil dashboard sidebar (docs) |\n| HTTP 429 (insufficient_quota) | A per-key cap. The docs list the messages \"Spend limit reached for this API key.\", \"Input token limit reached for this API key.\" and \"Output token limit reached for this API key.\" | The docs describe a 429 from a per-key cap as not transient, so retrying will not help, and say to raise or clear the cap with Update API Key or use a different key (docs) |\n| HTTP 400 when a reasoning_effort is sent | The reasoning guide says accepted values differ by model and an unsupported value returns a 400 error ","hierarchy":{"lvl0":"Getting Started","lvl1":"Tinfoil Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6960
+ {"objectID":"a1185c108acc0eb1ab5947fffe92d91725a0da846baaa13f9397237b64981e86","title":"See also","url":"/docs/getting-started/providers/tinfoil#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Tinfoil Provider Guide","lvl2":"See also","lvl3":""}},
6805
6961
  {"objectID":"243a3989bebe21f5752f34a81850bae030e123b48226808615b901677a8f5fb3","title":"Together AI Provider Guide","url":"/docs/getting-started/providers/together-ai","content":"Together AI Provider Guide\n\nOpen-source LLMs at production scale via the Together gateway\n\nOverview\n\nTogether AI hosts a large catalog of open-weight\nmodels — Llama 3.x, Qwen, DeepSeek, Mixtral, Gemma — behind an\nOpenAI-compatible chat-completions endpoint. NeuroLink wraps it with no\ntranslation cost.\n\nKey Facts\nProtocol: OpenAI-compatible (/v1/chat/completions)\nDefault base URL: https://api.together.xyz/v1\nDefault model: meta-llama/Llama-3.3-70B-Instruct-Turbo\nVision: Yes — Llama 3.2 Vision variants\nStreaming: Supported\nTool calling: Supported on Llama 3.1+ and DeepSeek\n\nQuick Start\nGet an API Key\n\nhttps://api.together.xyz/settings/api-keys\nConfigure Environment\nGenerate\n\nSupported Models (sample)\n\n| Model ID | Notes |\n| ----------------------------------------------- | --------------------------- |\n| meta-llama/Llama-3.3-70B-Instruct-Turbo | Default; production quality |\n| meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo | Flagship size |\n| meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo | Mid-tier |\n| deepseek-ai/DeepSeek-R1 | Reasoning model |\n| Qwen/Qwen2.5-72B-Instruct-Turbo | Qwen 2.5 flagship |\n\nBrowse the full catalog: https://docs.together.ai/docs/serverless-models\n\nCLI Usage\n\nProvider Aliases\n\n| Alias | Example |\n| ------------- | ------------------------ |\n| together | --provider together |\n| together_ai | --provider together_ai |\n\nConfiguration Reference\n\n| Environment Variable | Required | Default |\n| -------------------- | -------- | ----------------------------------------- |\n| TOGETHER_API_KEY | Yes | — |\n| TOGETHER_MODEL | No | meta-llama/Llama-3.3-70B-Instruct-Turbo |\n| TOGETHER_BASE_URL | No | https://api.together.xyz/v1 |\n\nFeature Support Matrix\n\n| Feature | Support |\n| ----------------- | ----------------- |\n| Text generation | Yes |\n| Streaming | Yes |\n| Tool calling | Yes (model-dep.) |\n| Structured output | Yes (model-dep.) |\n| Vision | Yes (Llama 3.2 V) |\n| Embeddings | Limited |\n\nSee Also\nFireworks Provider\nGroq Provider","hierarchy":{"lvl0":"Getting Started","lvl1":"Together AI Provider Guide","lvl2":"","lvl3":""}},
6806
6962
  {"objectID":"752a4aba251eeae8b5547126737d9d3fc2130765d4b38d10d3a6b940d48f401c","title":"Together AI Provider Guide","url":"/docs/getting-started/providers/together-ai#together-ai-provider-guide","content":"Open-source LLMs at production scale via the Together gateway","hierarchy":{"lvl0":"Getting Started","lvl1":"Together AI Provider Guide","lvl2":"Together AI Provider Guide","lvl3":""}},
6807
6963
  {"objectID":"131af5e2bfd6d4376f40ec921f71815fc6763ad947f0d5c18f942019d2728050","title":"Overview","url":"/docs/getting-started/providers/together-ai#overview","content":"Together AI hosts a large catalog of open-weight\nmodels — Llama 3.x, Qwen, DeepSeek, Mixtral, Gemma — behind an\nOpenAI-compatible chat-completions endpoint. NeuroLink wraps it with no\ntranslation cost.","hierarchy":{"lvl0":"Getting Started","lvl1":"Together AI Provider Guide","lvl2":"Overview","lvl3":""}},
@@ -6825,6 +6981,17 @@
6825
6981
  {"objectID":"04bf675bad2aeefe749c5229a396a476273c9b463d3b81a6767b9ca9357aa36d","title":"Limits and gotchas","url":"/docs/getting-started/providers/typesafe#limits-and-gotchas","content":"Two input ceilings, both enforced by the service: state plus the longest\n single question ≈ 33,000 tokens, and state plus all questions ≈\n 64,000. Exceeding either returns max_tokens_exceeded with no message\n at all — the provider supplies a real sentence in its place.\nBatch, never fan out. Latency is flat in question count but concurrent\n requests queue, so a second round trip costs far more than a hundred extra\n questions.\nA boolean carries no confidence of its own. Use\n decisionBooleanConfidence(p) — distance from a coin flip, so 0.5 → 0 and\n 0/1 → 1.\n403 vs 401 are inverted on the direct API, and from TypeSafe's own docs: a\n missing Authorization header returns 403, an invalid key returns\nThe gateway does not share this quirk.","hierarchy":{"lvl0":"Getting Started","lvl1":"TypeSafe (Jev) Provider Guide","lvl2":"Limits and gotchas","lvl3":""}},
6826
6982
  {"objectID":"7d7786b2749554b22a763088bb2c011be0b62bdeb53ee881e9331cf8616dffa7","title":"Troubleshooting","url":"/docs/getting-started/providers/typesafe#troubleshooting","content":"| Symptom | Cause | Fix |\n| ------------------------------------ | --------------------------------------------------------------------- | ----------------------------------------------------------------------------- |\n| tryDecide() always returns null | No key, or the key was rejected once and the instance disabled itself | Check TYPESAFE_API_KEY; construct a new instance after fixing it |\n| max_tokens_exceeded | One of the two input ceilings | Shorten state, or split questions across calls — but prefer shrinking state |\n| 403 customer_verification_required | Gateway transport, no card on the Vercel team | Add a payment method, or use the direct transport |\n| Routing never changes | A modelPool is configured, which owns selection outright | See Provider Orchestration |","hierarchy":{"lvl0":"Getting Started","lvl1":"TypeSafe (Jev) Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6827
6983
  {"objectID":"6116c23ca86f351b03ac4844a1d76d9de849fb522ab4a03eb37f9e75017e567c","title":"See also","url":"/docs/getting-started/providers/typesafe#see-also","content":"The decide inference type — the full reference\nModel routing with a decision model\nXOR Provider Guide\nProvider setup overview","hierarchy":{"lvl0":"Getting Started","lvl1":"TypeSafe (Jev) Provider Guide","lvl2":"See also","lvl3":""}},
6984
+ {"objectID":"0db36dc931d978469a7ad4e6468f4b52f77cc7c0db36272c6cfe8ac11e411f42","title":"Umans AI Provider Guide","url":"/docs/getting-started/providers/umans-ai","content":"Umans AI Provider Guide\n\nUmans AI is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/umans-ai.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. Every field below comes from Umans AI's own public pages and\nunauthenticated GET requests — no account was created and no API key was\nused to build it. evidence.liveMatrix is null until someone runs the live\ncapability matrix with a real key (see\nVerification status below).\n\nKey Facts\nProvider id: umans-ai (alias umans)\nProtocol: OpenAI-compatible (/chat/completions) — the docs say \"Umans\n Code also implements the OpenAI Chat Completions API\"\n (docs). The same gateway also\n documents an Anthropic Messages route (POST /v1/messages) and a Responses\n route (POST /v1/responses); this entry uses only /chat/completions\nBase URL: https://api.code.umans.ai/v1\nDefault model: umans-coder — a routing alias, not a fixed model, see\n Models\nModels in catalog: 7 (curated from a 10-model live roster; three ids are\n left out on purpose — umans-deepseek-v4.1-flash-lab and\n umans-mimo-v2.6-pro-lab, which /v1/models/info describes as Labs\n experiments, \"temporary, not a permanent id\", with access \"seat-gated through\n the Labs page\", and umans-qwen3.6-35b-a3b, which it describes as a\n \"Technical alias for umans-flash\")\nStreaming: supported — the docs' OpenAI example sends \"stream\": true to\n POST /v1/chat/completions, and the reasoning section says reasoning \"streams\n live, token by token, alongside the answer\"\nTool calling: true — GET /v1/models/info reports supports_tools: true\n for every roster model. The docs show no tools request example for\n /v1/chat/completions, so this rests on that field alone and has not been\n exercised\nTools while streaming: not declared (false) — the docs show no\n tool-call request or response on this route, streaming or otherwise\nStructured output: not declared (false) — no page opened mentions\n response_format, json_schema or json_object\nStructured output + tools together: not declared (false) — no combined\n probe was run without credentials\nEmbeddings: not declared — the docs describe no embeddings route\nThinking: true — the docs' \"Reasoning & Extended Thinking\" section\n documents reasoning_effort on /v1/chat/completions and returns reasoning\n in a reasoning_content field, separate from content. Which levels a model\n accepts varies, see Models\nBilling: no-free-tier — a prepaid wallet billed per token, see\n Billing below\nKey format: the Umans pages conflict, so apiKeyFormat is null and\n NeuroLink does not validate a prefix. The docs' \"Any BYOK Tool\" section says\n the key \"starts with sk-\" and their examples write it as\n sk-your-umans-api-key, while the docs' wallet-summary example shows a key\n prefix of umans_7fKq and the homepage .env example shows umans_\n\nQuick Start\nGet an API key\nVisit: 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)\nOpen 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\nPrepaid 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)\nSet UMANS_AI_API_KEY in your .env file\nConfigure\nUse it\n\nPer-request credentials work as they do for every provider:\n\nBilling\n\nUmans AI's pricing page (https://app.umans.ai/pricing) says \"Pay per token. Top\nup, create a key, and go.\" and \"every request debits exactly what the model\nused\". The docs (https://app.umans.ai/offers/code/docs) say a wallet with no\ncredit at all — no paid top-up and no active promo grant — \"does not serve until\nit has some\"; promo credit \"serves while it lasts\" and then the wallet suspends\nuntil a paid top-up. A funded wallet that drains to its tier's floor (a small\nnegative allowance, $5 at Tiers 0-1) also suspends, and the docs call that \"a\nstop, not a 429\". No page states a free tier or standing free credits, so the\nentry records no-free-tier. The login page's \"Sign up for free\" link is about\ncreating an account; it is not a stated free allowance. The docs document\nGET /v1/usage and a wallet-summary route on app.umans.ai for checking\nbalance and spend. Both need a key; /v1/usage was called only without one,\nfor the 401 probe under Verification status.\n\nRequest limits sit on top of the balance. The docs give each wallet tier a\nrolling five-hour request window and a concurrency cap: Tier 0 (first top-up)\n2,000 requests and 4 in flight","hierarchy":{"lvl0":"Getting Started","lvl1":"Umans AI Provider Guide","lvl2":"","lvl3":""}},
6985
+ {"objectID":"ff607cfd31ffc8da0d09dd8b747b2825462342a8683ab3c6cd35251b2538b0ef","title":"Umans AI Provider Guide","url":"/docs/getting-started/providers/umans-ai#umans-ai-provider-guide","content":"Umans AI is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/umans-ai.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. Every field below comes from Umans AI's own public pages and\nunauthenticated GET requests — no account was created and no API key was\nused to build it. evidence.liveMatrix is null until someone runs the live\ncapability matrix with a real key (see\nVerification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"Umans AI Provider Guide","lvl2":"Umans AI Provider Guide","lvl3":""}},
6986
+ {"objectID":"b71e70c479a72c1b2c02508e7f57c9dc8f5bd366f7dab23c56b323d7dbb8e3ca","title":"Key Facts","url":"/docs/getting-started/providers/umans-ai#key-facts","content":"Provider id: umans-ai (alias umans)\nProtocol: OpenAI-compatible (/chat/completions) — the docs say \"Umans\n Code also implements the OpenAI Chat Completions API\"\n (docs). The same gateway also\n documents an Anthropic Messages route (POST /v1/messages) and a Responses\n route (POST /v1/responses); this entry uses only /chat/completions\nBase URL: https://api.code.umans.ai/v1\nDefault model: umans-coder — a routing alias, not a fixed model, see\n Models\nModels in catalog: 7 (curated from a 10-model live roster; three ids are\n left out on purpose — umans-deepseek-v4.1-flash-lab and\n umans-mimo-v2.6-pro-lab, which /v1/models/info describes as Labs\n experiments, \"temporary, not a permanent id\", with access \"seat-gated through\n the Labs page\", and umans-qwen3.6-35b-a3b, which it describes as a\n \"Technical alias for umans-flash\")\nStreaming: supported — the docs' OpenAI example sends \"stream\": true to\n POST /v1/chat/completions, and the reasoning section says reasoning \"streams\n live, token by token, alongside the answer\"\nTool calling: true — GET /v1/models/info reports supports_tools: true\n for every roster model. The docs show no tools request example for\n /v1/chat/completions, so this rests on that field alone and has not been\n exercised\nTools while streaming: not declared (false) — the docs show no\n tool-call request or response on this route, streaming or otherwise\nStructured output: not declared (false) — no page opened mentions\n response_format, json_schema or json_object\nStructured output + tools together: not declared (false) — no combined\n probe was run without credentials\nEmbeddings: not declared — the docs describe no embeddings route\nThinking: true — the docs' \"Reasoning & Extended Thinking\" section\n documents reasoning_effort on /v1/chat/completions and returns reasoning\n in a reasoning_content field, separate from content. Which levels a model\n accepts varies, see Models\nBilling: no-free-tier — a prepaid wallet billed per token, see\n Billing ","hierarchy":{"lvl0":"Getting Started","lvl1":"Umans AI Provider Guide","lvl2":"Key Facts","lvl3":""}},
6987
+ {"objectID":"b1908960554fcc337629f45335081d8401483e577a703147b768780ff3e6dce9","title":"1. Get an API key","url":"/docs/getting-started/providers/umans-ai#1-get-an-api-key","content":"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)\nOpen 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\nPrepaid 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)\nSet UMANS_AI_API_KEY in your .env file","hierarchy":{"lvl0":"Getting Started","lvl1":"Umans AI Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
6988
+ {"objectID":"9ccc5508e7fdb0b7cecb862a622faced1e40ecb4df26e2664aecd0585429e75d","title":"3. Use it","url":"/docs/getting-started/providers/umans-ai#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Umans AI Provider Guide","lvl2":"3. Use it","lvl3":""}},
6989
+ {"objectID":"556d2ee7a6622acf1c637b4f7e361ee59e46269483fd8a8c3777af3b7edc500e","title":"CLI","url":"/docs/getting-started/providers/umans-ai#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider umans-ai\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"umans-ai\",\n credentials: { umansAi: { apiKey: process.env.UMANSAIAPI_KEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Umans AI Provider Guide","lvl2":"CLI","lvl3":""}},
6990
+ {"objectID":"efffe990b258976ecb95639c99ebec78e432872495bb5df887961ec94a93edca","title":"Billing","url":"/docs/getting-started/providers/umans-ai#billing","content":"Umans AI's pricing page (https://app.umans.ai/pricing) says \"Pay per token. Top\nup, create a key, and go.\" and \"every request debits exactly what the model\nused\". The docs (https://app.umans.ai/offers/code/docs) say a wallet with no\ncredit at all — no paid top-up and no active promo grant — \"does not serve until\nit has some\"; promo credit \"serves while it lasts\" and then the wallet suspends\nuntil a paid top-up. A funded wallet that drains to its tier's floor (a small\nnegative allowance, $5 at Tiers 0-1) also suspends, and the docs call that \"a\nstop, not a 429\". No page states a free tier or standing free credits, so the\nentry records no-free-tier. The login page's \"Sign up for free\" link is about\ncreating an account; it is not a stated free allowance. The docs document\nGET /v1/usage and a wallet-summary route on app.umans.ai for checking\nbalance and spend. Both need a key; /v1/usage was called only without one,\nfor the 401 probe under Verification status.\n\nRequest limits sit on top of the balance. The docs give each wallet tier a\nrolling five-hour request window and a concurrency cap: Tier 0 (first top-up)\n2,000 requests and 4 in flight, Tier 1 ($50 lifetime top-up) 4,000 and 8, Tier 2\n($250) 8,000 and 12, Tier 3 ($1,000) 16,000 and 16. They say hard enforcement\nstarts \"around twice the stated number\" and that each 429 lowers the account's\npriority for about 30 minutes.","hierarchy":{"lvl0":"Getting Started","lvl1":"Umans AI Provider Guide","lvl2":"Billing","lvl3":""}},
6991
+ {"objectID":"44a1acf0cbb7feee5fb4abca517559f68c8a9fa5bf8922e79d408f096bc60286","title":"Models","url":"/docs/getting-started/providers/umans-ai#models","content":"| Model | Context | Max output | Vision | $/M in · out (cache read) | Notes |\n| ------------------------------ | --------- | ---------- | ------ | ------------------------- | --------------------------------------------------------------------------------------------------------------------------- |\n| umans-coder ⭐ | 1,048,576 | 131,072 | yes | $0.15 / $0.50 ($0.03) | Default — the vendor's own default; routing alias that today points at GLM-5.3-Flash and can change without a new id. |\n| umans-glm-5.3 | 1,048,576 | 131,072 | no | $1.40 / $4.40 ($0.26) | Fallback; Z.ai GLM 5.3, always thinks (reasoning cannot be turned off, dial low or high). |\n| umans-deepseek-v4-flash-0731 | 1,048,576 | 393,216 | no | $0.14 / $0.28 ($0.028) | Fallback; the docs call it \"The cheapest production model in the lineup\". Thinks at low effort by default. |\n| umans-kimi-k3 | 1,048,576 | 131,072 | yes | $3.00 / $15.00 ($0.30) | Fallback; Moonshot Kimi K3, native vision, reasoning at max by default, none turns it off. |\n| umans-glm-5.3-flash | 1,048,576 | 131,072 | yes | $0.15 / $0.50 ($0.03) | Z.ai GLM-5.3-Flash, native image and video understanding; the model umans-coder routes to today; models.visionModel. |\n| umans-deepseek-v4.1-flash | 1,048,576 | 393,216 | yes | $0.15 / $0.60 ($0.028) | DeepSeek V4.1 Flash, native image understanding; four reasoning modes, high by default; listed in the docs' Models table. |\n| umans-flash | 262,144 | 262,144 | yes | $0.15 / $1.00 ($0.05) | Qwen3.6-35B-A3B-FP8; the docs say to use it \"not as a standalone coder\"; counts as half a request against the tier window. |\n\nContext and per","hierarchy":{"lvl0":"Getting Started","lvl1":"Umans AI Provider Guide","lvl2":"Models","lvl3":""}},
6992
+ {"objectID":"1a36bba1c886ae6c9d543ddbd04e92da2db3fbf9befd9587b9d9ee22ddaf396a","title":"Verification status","url":"/docs/getting-started/providers/umans-ai#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for Umans AI — docs- and roster-verified, not\nlive-verified:\n\n| Probe | Result |\n| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET /v1/models, HTTP 200, 10 models, 2026-09-29 — no key used |\n| Billing | public docs and pricing pages describe a prepaid per-token wallet that \"does not serve\" without credit, and state no free tier, 2026-09-29 |\n| Auth-failure shape | unauthenticated GET /v1/usage returned HTTP 401 with {\"error\":{\"type\":\"authentication_error\",\"message\":\"Missing API key\"}}. GET /v1/chat/completions answered 405 Method Not Allowed, an","hierarchy":{"lvl0":"Getting Started","lvl1":"Umans AI Provider Guide","lvl2":"Verification status","lvl3":""}},
6993
+ {"objectID":"fa8af820db1445d2806a9be5b67eaabf11e7b85de673246590fa1135b59d8811","title":"Troubleshooting","url":"/docs/getting-started/providers/umans-ai#troubleshooting","content":"| Symptom | Cause | Fix |\n| ---------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Requests fail on every call, with no 429 | The wallet has no credit, or drained to its tier's floor; the docs call this \"a stop, not a 429\" | Top up at https://app.umans.ai/billing. The docs give no status code for it, so NeuroLink has no rule for it |\n| HTTP 401 | Key missing, expired or revoked, or set under the wrong variable name | Set UMANS_AI_API_KEY; generate a new key under Dashboard -> API Keys |\n| HTTP 400 Unknown model | The id does not exist; since September 2, 2026 an unknown id no longer runs on the default model | Use an id exactly as listed by GET /v1/models. Ids start with umans-; names like gpt-4o or deepseek-v4-flash are not valid |\n| HTTP 429 | The wallet tier's request window or concurrency limit was exceeded | Back off and retry — the docs ","hierarchy":{"lvl0":"Getting Started","lvl1":"Umans AI Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6994
+ {"objectID":"34800dc8c72f4aac55b28e14ef274bac5ff047654adcc2cb39b9fb458ef55d03","title":"See also","url":"/docs/getting-started/providers/umans-ai#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Umans AI Provider Guide","lvl2":"See also","lvl3":""}},
6828
6995
  {"objectID":"2443fcfebd061a88c8cd49c76a763457814c5b8c111cc5e59bbecc601f7a48e4","title":"Upstage Provider Guide","url":"/docs/getting-started/providers/upstage","content":"Upstage Provider Guide\n\nUpstage is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/upstage.json) rather than hand-written code. That\nfile is the source of truth for everything on this page.\n\nKey Facts\nProvider id: upstage (aliases: solar)\nProtocol: OpenAI-compatible (/chat/completions)\nBase URL: https://api.upstage.ai/v1\nDefault model: solar-pro4\nModels in catalog: 10\nStreaming: supported\nTool calling: supported (native)\nStructured output: supported\nEmbeddings: not supported\nBilling: free-tier\nKey format: ^up_[A-Za-z0-9]+$\n\nQuick Start\nGet an API key\nVisit: https://console.upstage.ai (Google OAuth works)\nNew accounts get a $10 sign-up credit — no payment method required\nCreate an API key under API Keys\nSet UPSTAGE_API_KEY in your .env file\nConfigure\nUse it\n\nPer-request credentials work as they do for every provider:\n\nModels\n\n| Model | Context | Vision | $/M in · out | Notes |\n| ------------------- | ------- | ------ | ------------- | ---------------------------------------------------------------------------------------------------------------------------------- |\n| solar-pro4 ⭐ | 512K | no | $0.3 / $1.2 | Solar Pro 4; 512K context, up to 128K output tokens; agentic flagship for tool calling, terminal tasks and long-document reasoning |\n| solar-pro4-260806 | 512K | no | $0.3 / $1.2 | Pinned dated snapshot of Solar Pro 4 (2026-08-06 build) — the id the solar-pro4 alias currently resolves to |\n| solar-pro3 | 512K | no | $0.15 / $0.6 | Solar Pro 3; drop-in replacement for Solar Pro 2 with the same API interface, throughput and latency |\n| solar-pro3-260323 | 512K | no | $0.15 / $0.6 | Pinned dated snapshot of Solar Pro 3 (2026-03-23 build) |\n| solar-pro2 | 512K | no | $0.15 / $0.6 | Solar Pro 2; 31B-parameter model with an optional Reasoning Mode |\n| solar-pro2-251215 | 512K | no | $0.15 / $0.6 | Pinned dated snapshot of Solar Pro 2 (2025-12-15 build) |\n| solar-mini | 512K | no | $0.15 / $0.15 | Solar Mini; small, fast model for lightweight reasoning and cost-efficient tasks |\n| solar-mini-250422 | 512K | no | $0.15 / $0.15 | Pinned dated snapshot of Solar Mini (2025-04-22 build) |\n| syn-pro | 512K | no | — | Syn Pro; Upstage's Japan-focused LLM |\n| syn-pro-251021 | 512K | no | — | Pinned dated snapshot of Syn Pro (2025-10-21 build) |\n\nFallback order when the default is unavailable: solar-pro3 → solar-mini.\n\nVerification status\n\nTier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog records for Upstage:\n\n| Probe | Result |\n| --------------------- | -------------------------------------------------- |\n| Roster | authenticated GET /v1/models, HTTP 200, 2026-09-03 |\n| Auth rejection | HTTP 401 invalid_api_key, 2026-09-03 |\n| Live capability sweep | not run |\n\n⚠️ No live capability sweep is recorded for Upstage. The roster and auth\nbehaviour were verified against the real API on the date above, but the\ncapability flags come from the catalog declaration rather than from a\nmeasured end-to-end run. Treat them as the provider's stated behaviour.\n\nTroubleshooting\n\n| Symptom | Cause | Fix |\n| ------------------------- | ----------------------------------- | ----------------------------------------------------------------- |\n| Invalid Upstage API key | UPSTAGE_API_KEY unset or wrong | Check the key at https://console.upstage.ai/api-keys |\n| Model not found | The roster changed since 2026-09-03 | Pick a current id; catalog providers retire models without notice |\n\nSee also\nProvider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Upstage Provider Guide","lvl2":"","lvl3":""}},
6829
6996
  {"objectID":"03b6cdcebbf2c863f6151797d7668071da64e9297473a90b067f5c51c41106af","title":"Upstage Provider Guide","url":"/docs/getting-started/providers/upstage#upstage-provider-guide","content":"Upstage is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/upstage.json) rather than hand-written code. That\nfile is the source of truth for everything on this page.","hierarchy":{"lvl0":"Getting Started","lvl1":"Upstage Provider Guide","lvl2":"Upstage Provider Guide","lvl3":""}},
6830
6997
  {"objectID":"c3c82295fc441c294c98d109c3542f6a41d32d7576fd531fddc6983a93b0f452","title":"Key Facts","url":"/docs/getting-started/providers/upstage#key-facts","content":"Provider id: upstage (aliases: solar)\nProtocol: OpenAI-compatible (/chat/completions)\nBase URL: https://api.upstage.ai/v1\nDefault model: solar-pro4\nModels in catalog: 10\nStreaming: supported\nTool calling: supported (native)\nStructured output: supported\nEmbeddings: not supported\nBilling: free-tier\nKey format: ^up_[A-Za-z0-9]+$","hierarchy":{"lvl0":"Getting Started","lvl1":"Upstage Provider Guide","lvl2":"Key Facts","lvl3":""}},
@@ -6835,6 +7002,17 @@
6835
7002
  {"objectID":"265aa7c2b637784ce5f41281eb2722eba47ad69e34cb7d1e0dae84001bbdb311","title":"Verification status","url":"/docs/getting-started/providers/upstage#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog records for Upstage:\n\n| Probe | Result |\n| --------------------- | -------------------------------------------------- |\n| Roster | authenticated GET /v1/models, HTTP 200, 2026-09-03 |\n| Auth rejection | HTTP 401 invalid_api_key, 2026-09-03 |\n| Live capability sweep | not run |\n\n⚠️ No live capability sweep is recorded for Upstage. The roster and auth\nbehaviour were verified against the real API on the date above, but the\ncapability flags come from the catalog declaration rather than from a\nmeasured end-to-end run. Treat them as the provider's stated behaviour.","hierarchy":{"lvl0":"Getting Started","lvl1":"Upstage Provider Guide","lvl2":"Verification status","lvl3":""}},
6836
7003
  {"objectID":"5afd1579083c6815ad76bf7e81bffa1ecf55c035c581074fc15639829011ccea","title":"Troubleshooting","url":"/docs/getting-started/providers/upstage#troubleshooting","content":"| Symptom | Cause | Fix |\n| ------------------------- | ----------------------------------- | ----------------------------------------------------------------- |\n| Invalid Upstage API key | UPSTAGE_API_KEY unset or wrong | Check the key at https://console.upstage.ai/api-keys |\n| Model not found | The roster changed since 2026-09-03 | Pick a current id; catalog providers retire models without notice |","hierarchy":{"lvl0":"Getting Started","lvl1":"Upstage Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6837
7004
  {"objectID":"e0ad5535a3205cb65674e5d16560f2013f10c14074a8e974022a1b7a1e074330","title":"See also","url":"/docs/getting-started/providers/upstage#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Upstage Provider Guide","lvl2":"See also","lvl3":""}},
7005
+ {"objectID":"aec295443237d26c0e4380147c6facec9348e2151d45b9399a817c374b40f4d5","title":"Venice AI Provider Guide","url":"/docs/getting-started/providers/venice-ai","content":"Venice AI Provider Guide\n\nVenice AI is a Tier-2 catalog provider: its integration is one JSON file\n(src/lib/providers/catalog/venice-ai.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. The catalog fields below were taken from Venice's own public pages and\nunauthenticated GET requests to /models, /models/traits and\n/chat/completions — no account was created and no API key was used to\nbuild it. evidence.liveMatrix is\nnull until someone runs the live capability matrix with a real key (see\nVerification status below).\n\nKey Facts\nProvider id: venice-ai (alias venice)\nProtocol: OpenAI-compatible (/chat/completions) — the\n chat-completions reference\n says \"This endpoint is OpenAI-compatible\"\nBase URL: https://api.venice.ai/api/v1\nDefault model: zai-org-glm-5-2\nModels in catalog: 10 (curated from a 126-model live roster)\nStreaming: supported — the chat-completions reference documents a\n stream parameter: \"Whether to stream back partial progress. Defaults to\n false.\"\nTool calling: model-dependent — the\n function-calling guide\n says \"Function calling support is model-specific.\" and points to the\n supportsFunctionCalling field of the models API\nTools while streaming: not declared (false) — no streamed tool-call\n request was made\nStructured output: supported — the\n structured-responses guide\n documents response_format with json_schema; it says \"This functionality is\n not natively available for all models.\" and points to the\n supportsResponseSchema field of the models API\nStructured output + tools together: not declared (false) — the\n structured-responses guide says \"Structured Outputs via response_format are\n not compatible with parallel function calls\", and no combined request was\n made\nEmbeddings: not declared on this catalog entry. Venice's\n API index (https://docs.venice.ai/llms.txt) lists an Embeddings endpoint, but\n NeuroLink's generic ConfiguredOpenAICompatProvider (the class Tier-2\n catalog entries use) does not implement embed()/embedMany(), so this flag\n tracks that, not the vendor's own API surface\nThinking: declared (true) — the\n reasoning-models guide\n documents a reasoning_content output field and a reasoning_effort\n parameter, and the roster carries a supportsReasoning flag per model\nBilling: no-free-tier — see Billing below\nKey format: none declared by Venice\n\nQuick Start\nGet an API key\nVisit: https://venice.ai/settings/api and select Generate New API Key; the API key guide lists \"Sign in to your Venice account.\" under Before you start (https://docs.venice.ai/guides/getting-started/generating-api-key)\nCopy the key when it is shown — the API key guide states \"Venice will show the full API key one time.\" (https://docs.venice.ai/guides/getting-started/generating-api-key) — and paste it without a Bearer prefix or quotes (https://docs.venice.ai/getting-started/quick-start)\nFund the account before calling models: the docs state \"model requests will not succeed until the account can consume DIEM, bundled credits, or USD\" (https://docs.venice.ai/guides/getting-started/generating-api-key); payment options are listed at https://docs.venice.ai/overview/pricing\nSet VENICE_AI_API_KEY in your .env file (VENICE_API_KEY, the variable Venice's own docs use, is also read)\nConfigure\nUse it\n\nPer-request credentials work the same way as on the other catalog providers:\n\nBilling\n\nWhat the pages opened on 2026-09-29 say:\nThe API key guide\n says \"You can create a key before funding the account, but model requests will\n not succeed until the account can consume DIEM, bundled credits, or USD.\"\nThe pricing page lists three\n payment options. The USD card says \"Buy Venice credits with credit card.\n Credits never expire.\" The Stake DIEM card says \"Each Diem = $1/day of credits that\n refresh daily.\"\nVenice's plan page lists \"API Access (pay with\n credits)\" under the Free plan.\nVenice's API page shows the tag \"Free tier,\n no card\" in its hero section, and a Pay as you go card that lists \"Add funds only\n when needed\".\n\nThe entry records no-free-tier, following the documented balance requirement\nin the first bullet.\n\nModels\n\n| Model | Context | Max output | Vision | $/M in · out (cache read) | Notes |\n| ----------------------- | --------- | ---------- | ------ | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| zai-org-glm-5-2 ⭐ | 1,000,000 | 131,072 | no | $1.4 / $4.4 ($0.26) | NeuroLink default. Roster traits \"default\" and \"functioncallingdefault\"; the /models/traits GET returned \"default\":\"zai-org-glm-5-2\". ","hierarchy":{"lvl0":"Getting Started","lvl1":"Venice AI Provider Guide","lvl2":"","lvl3":""}},
7006
+ {"objectID":"2ae56d41e58960c80a562da94412be2435078a7cf7a58995e958b077f2bf1617","title":"Venice AI Provider Guide","url":"/docs/getting-started/providers/venice-ai#venice-ai-provider-guide","content":"Venice AI is a Tier-2 catalog provider: its integration is one JSON file\n(src/lib/providers/catalog/venice-ai.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. The catalog fields below were taken from Venice's own public pages and\nunauthenticated GET requests to /models, /models/traits and\n/chat/completions — no account was created and no API key was used to\nbuild it. evidence.liveMatrix is\nnull until someone runs the live capability matrix with a real key (see\nVerification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"Venice AI Provider Guide","lvl2":"Venice AI Provider Guide","lvl3":""}},
7007
+ {"objectID":"50d023694e05f3d8f9e15e9824c246a872c5e4e7feb23b123c80ac0e17e84a10","title":"Key Facts","url":"/docs/getting-started/providers/venice-ai#key-facts","content":"Provider id: venice-ai (alias venice)\nProtocol: OpenAI-compatible (/chat/completions) — the\n chat-completions reference\n says \"This endpoint is OpenAI-compatible\"\nBase URL: https://api.venice.ai/api/v1\nDefault model: zai-org-glm-5-2\nModels in catalog: 10 (curated from a 126-model live roster)\nStreaming: supported — the chat-completions reference documents a\n stream parameter: \"Whether to stream back partial progress. Defaults to\n false.\"\nTool calling: model-dependent — the\n function-calling guide\n says \"Function calling support is model-specific.\" and points to the\n supportsFunctionCalling field of the models API\nTools while streaming: not declared (false) — no streamed tool-call\n request was made\nStructured output: supported — the\n structured-responses guide\n documents response_format with json_schema; it says \"This functionality is\n not natively available for all models.\" and points to the\n supportsResponseSchema field of the models API\nStructured output + tools together: not declared (false) — the\n structured-responses guide says \"Structured Outputs via response_format are\n not compatible with parallel function calls\", and no combined request was\n made\nEmbeddings: not declared on this catalog entry. Venice's\n API index (https://docs.venice.ai/llms.txt) lists an Embeddings endpoint, but\n NeuroLink's generic ConfiguredOpenAICompatProvider (the class Tier-2\n catalog entries use) does not implement embed()/embedMany(), so this flag\n tracks that, not the vendor's own API surface\nThinking: declared (true) — the\n reasoning-models guide\n documents a reasoning_content output field and a reasoning_effort\n parameter, and the roster carries a supportsReasoning flag per model\nBilling: no-free-tier — see Billing below\nKey format: none declared by Venice","hierarchy":{"lvl0":"Getting Started","lvl1":"Venice AI Provider Guide","lvl2":"Key Facts","lvl3":""}},
7008
+ {"objectID":"43964765d378148aba31938dd123bd78285ed9a3f1b65e7c9deb1f087b5373a2","title":"1. Get an API key","url":"/docs/getting-started/providers/venice-ai#1-get-an-api-key","content":"Visit: https://venice.ai/settings/api and select Generate New API Key; the API key guide lists \"Sign in to your Venice account.\" under Before you start (https://docs.venice.ai/guides/getting-started/generating-api-key)\nCopy the key when it is shown — the API key guide states \"Venice will show the full API key one time.\" (https://docs.venice.ai/guides/getting-started/generating-api-key) — and paste it without a Bearer prefix or quotes (https://docs.venice.ai/getting-started/quick-start)\nFund the account before calling models: the docs state \"model requests will not succeed until the account can consume DIEM, bundled credits, or USD\" (https://docs.venice.ai/guides/getting-started/generating-api-key); payment options are listed at https://docs.venice.ai/overview/pricing\nSet VENICE_AI_API_KEY in your .env file (VENICE_API_KEY, the variable Venice's own docs use, is also read)","hierarchy":{"lvl0":"Getting Started","lvl1":"Venice AI Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
7009
+ {"objectID":"52d0c4cc72d2478a3f0b474336ad99ae1933a39b587df66f82b9fdd459dac09d","title":"3. Use it","url":"/docs/getting-started/providers/venice-ai#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Venice AI Provider Guide","lvl2":"3. Use it","lvl3":""}},
7010
+ {"objectID":"6ad4025d1f92fc2da6a84c2e70eb0faf82a03996f5f565fac8ce66e6e899514a","title":"CLI","url":"/docs/getting-started/providers/venice-ai#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider venice-ai\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"venice-ai\",\n credentials: { veniceAi: { apiKey: process.env.VENICEAIAPI_KEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Venice AI Provider Guide","lvl2":"CLI","lvl3":""}},
7011
+ {"objectID":"0156f225c798d22af4b312990863ab98b2f05abd35a71097f9de2027b1799253","title":"Billing","url":"/docs/getting-started/providers/venice-ai#billing","content":"What the pages opened on 2026-09-29 say:\nThe API key guide\n says \"You can create a key before funding the account, but model requests will\n not succeed until the account can consume DIEM, bundled credits, or USD.\"\nThe pricing page lists three\n payment options. The USD card says \"Buy Venice credits with credit card.\n Credits never expire.\" The Stake DIEM card says \"Each Diem = $1/day of credits that\n refresh daily.\"\nVenice's plan page lists \"API Access (pay with\n credits)\" under the Free plan.\nVenice's API page shows the tag \"Free tier,\n no card\" in its hero section, and a Pay as you go card that lists \"Add funds only\n when needed\".\n\nThe entry records no-free-tier, following the documented balance requirement\nin the first bullet.","hierarchy":{"lvl0":"Getting Started","lvl1":"Venice AI Provider Guide","lvl2":"Billing","lvl3":""}},
7012
+ {"objectID":"5fee506a5c4d2aac4c680b58823a81ea036798d91f7c64e9db233584f9419f67","title":"Models","url":"/docs/getting-started/providers/venice-ai#models","content":"| Model | Context | Max output | Vision | $/M in · out (cache read) | Notes |\n| ----------------------- | --------- | ---------- | ------ | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| zai-org-glm-5-2 ⭐ | 1,000,000 | 131,072 | no | $1.4 / $4.4 ($0.26) | NeuroLink default. Roster traits \"default\" and \"functioncallingdefault\"; the /models/traits GET returned \"default\":\"zai-org-glm-5-2\". |\n| zai-org-glm-5 | 198,000 | 32,000 | no | $1 / $3.2 ($0.2) | Fallback. The quick-start page lists it with the text \"Default model for most use cases\". |\n| zai-org-glm-5-1 | 200,000 | 80,000 | no | $1.54 / $4.84 ($0.286) | Fallback. The model in the reasoning-models examples. |\n| deepseek-v4-pro-0813 | 1,000,000 | 32,768 | no | $1.65 / $4.95 ($0.165) | Fallback. Roster trait \"default_code\". |\n| kimi-k3 | 1,000,000 | 131,072 | yes | $3.75 / $18.75 ($0.375) | Roster trait \"default_reasoning\". |\n| kimi-k2-6 | 256,000 | 65,536 | yes | $0.75 / $3.5 ($0.16) | The quick-start page lists it with the text \"Strong reasoning for more complex tasks\". ","hierarchy":{"lvl0":"Getting Started","lvl1":"Venice AI Provider Guide","lvl2":"Models","lvl3":""}},
7013
+ {"objectID":"5e9e6668f1675d4256502fb8630f9bf1df48b4047dd465f774ea0590ea22e90d","title":"Verification status","url":"/docs/getting-started/providers/venice-ai#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for Venice AI — docs- and roster-verified, not\nlive-verified:\n\n| Probe | Result |\n| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET /models, HTTP 200, 126 text models, 2026-09-29 — no key used |\n| Default model | unauthenticated GET /models/traits, HTTP 200, 2026-09-29 — returned \"default\":\"zai-org-glm-5-2\" |\n| Billing | public pages quoted in Billing above, 2026-09-29 — recorded as ","hierarchy":{"lvl0":"Getting Started","lvl1":"Venice AI Provider Guide","lvl2":"Verification status","lvl3":""}},
7014
+ {"objectID":"f22e358b5c6033ae66d4fe4f1e34d99f0ee243e821d695933209d5ca584f9830","title":"Troubleshooting","url":"/docs/getting-started/providers/venice-ai#troubleshooting","content":"Each row is what a Venice page states; none was reproduced live.\n\n| Symptom | Cause | Fix |\n| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| HTTP 401 | The API key guide says a 401 with AUTHENTICATION_FAILED means the key itself was rejected, and lists a partial copy, a Bearer prefix or quotes captured into the value, or a stray space or newline as the usual causes | The quick-start page says to paste the key exactly as Venice issued it, with no Bearer prefix, on a single line with no quotes |\n| HTTP 402 | The error-codes page lists INSUFFICIENT_BALANCE and two per-key spend-limit codes under 402; the API key guide says that with a spend-limit code \"the cause is the key's own limit rather than your account balance\" | For INSUFFICIENT_BALANCE the error-codes page points to https://venice.ai/settings/a","hierarchy":{"lvl0":"Getting Started","lvl1":"Venice AI Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
7015
+ {"objectID":"47b9d2873035ce5df7122eda69ae954cde0cadb9cecd4e9978ae2d6b4080f07e","title":"See also","url":"/docs/getting-started/providers/venice-ai#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Venice AI Provider Guide","lvl2":"See also","lvl3":""}},
6838
7016
  {"objectID":"f336420da8773b8ccbfbb545df2bfb3a8201804c4d38fa8408ac119ad21d8317","title":"Voyage AI Provider Guide","url":"/docs/getting-started/providers/voyage","content":"Voyage AI Provider Guide\n\nTop-tier RAG embeddings — text-only provider exposing embed() and\nembedMany() (chat / streaming intentionally not supported)\n\nOverview\n\nVoyage AI provides some of the highest-accuracy text embeddings available\ntoday, particularly strong on retrieval and reranking benchmarks. NeuroLink\nwraps api.voyageai.com/v1/embeddings so the same embed() / embedMany()\ncontract used by every other embedding-capable provider works for Voyage.\nvoyage-4 — newest general-purpose flagship (not yet the default)\nvoyage-4-large — largest / highest accuracy in the 4.x line\nvoyage-4-lite — smaller / cheaper 4.x variant\nvoyage-code-4 — code-tuned (best for code retrieval), 4.x line\nvoyage-3.5 — general-purpose (default)\nvoyage-3-large — flagship; highest accuracy\nvoyage-3.5-lite — smaller / cheaper\nvoyage-code-3 — code-tuned (best for code retrieval)\nvoyage-finance-2, voyage-law-2 — domain-tuned\nvoyage-multilingual-2 — non-English / cross-lingual\n\nKey Facts\nProtocol: Native REST API (/embeddings only — not OpenAI-compat\n for chat)\nDefault base URL: https://api.voyageai.com/v1\nDefault model: voyage-3.5\nMax input tokens: 32K (16K on voyage-law-2)\nStreaming / chat / tool calling: NOT supported (embedding-only;\n executeStream and getAISDKModel throw a friendly error)\nPricing: Per-million input tokens; output dimension is the\n embedding vector, not generated tokens\n\nQuick Start\nGet an API Key\n\nSign up at https://www.voyageai.com/ and\ncreate an API key at\nhttps://dash.voyageai.com/api-keys.\nConfigure Environment\nGenerate Your First Embedding\n\nSDK Usage\n\nSingle Embedding\n\nBatch Embeddings\n\nCode Embeddings\n\nPer-Call Credentials\n\nUse with NeuroLink RAG\n\nVoyage embeddings plug into NeuroLink's RAG pipeline. Configure the RAG\nembedder to use Voyage:\n\nCLI Usage\n\nVoyage is embedding-only — there is no cli generate flow because\ngenerate is a chat-completion path. Use the SDK directly, or use Voyage\nas the embedder behind a RAG-enabled cli generate:\n\nProvider Aliases\n\n| Alias | Example |\n| ----------- | ---------------------- |\n| voyage | --provider voyage |\n| voyage-ai | --provider voyage-ai |\n\n(Note: aliases are mostly relevant for RAG embedder routing; standalone\nchat use is not supported.)\n\nConfiguration Reference\n\n| Environment Variable | Required | Default | Description |\n| -------------------- | -------- | ----------------------------- | ----------------------- |\n| VOYAGE_API_KEY | Yes | — | Voyage AI API key |\n| VOYAGE_MODEL | No | voyage-3.5 | Default embedding model |\n| VOYAGE_BASE_URL | No | https://api.voyageai.com/v1 | Base URL |\n\nModel Reference\n\nPer the Voyage embeddings docs:\n\n| Model | Default dim | Tokens | Best For |\n| ----------------------- | ----------- | ------ | ------------------------------- |\n| voyage-4 | 1024 | 32K | General-purpose, 4.x line |\n| voyage-4-large | 1024 | 32K | Flagship, highest quality (4.x) |\n| voyage-4-lite | 1024 | 32K | Smaller / cheaper (4.x) |\n| voyage-code-4 | 1024 | 32K | Code retrieval (4.x) |\n| voyage-3.5 | 1024 | 32K | General-purpose (default) |\n| voyage-3.5-lite | 1024 | 32K | Smaller / cheaper |\n| voyage-3-large | 1024 | 32K | Flagship; highest accuracy |\n| voyage-code-3 | 1024 | 32K | Code retrieval |\n| voyage-finance-2 | 1024 | 32K | Finance domain |\n| voyage-law-2 | 1024 | 16K | Legal domain |\n| voyage-multilingual-2 | unspecified | 32K | Cross-lingual |\n\nMatryoshka flexible dimensions: voyage-4, voyage-4-large,\nvoyage-4-lite, voyage-code-4, voyage-3.5, voyage-3.5-lite,\nvoyage-3-large, and voyage-code-3 all support flexible output dimensions\nof 256 / 512 / 1024 / 2048 via the output_dimension parameter on the\nVoyage API. The default (and what NeuroLink currently returns) is 1024.\nvoyage-finance-2, voyage-law-2, and voyage-multilingual-2 only emit\nthe default dimension. See the FAQ below for how to request a smaller\ndimension explicitly.\n\nFeature Support Matrix\n\n| Feature | voyage-3.5 | voyage-3-large | voyage-code-3 |\n| --------------- | -------------------- | -------------- | ------------- |\n| Embeddings | Yes | Yes | Yes |\n| Single embed | Yes | Yes | Yes |\n| Batch embed | Yes (128 inputs/req) | Yes | Yes |\n| Text generation | No | No | No |\n| Streaming | No | No | No |\n| Tool calling | No | No | No |\n| Visio","hierarchy":{"lvl0":"Getting Started","lvl1":"Voyage AI Provider Guide","lvl2":"","lvl3":""}},
6839
7017
  {"objectID":"31d0a4981c0396028c8536380313b4d38511b6fe67e0f49e8e81c35a49bc48f8","title":"Voyage AI Provider Guide","url":"/docs/getting-started/providers/voyage#voyage-ai-provider-guide","content":"Top-tier RAG embeddings — text-only provider exposing embed() and\nembedMany() (chat / streaming intentionally not supported)","hierarchy":{"lvl0":"Getting Started","lvl1":"Voyage AI Provider Guide","lvl2":"Voyage AI Provider Guide","lvl3":""}},
6840
7018
  {"objectID":"15e3c23ac4bbda64e2a47a5490232b7076df375e991209c644e9fade69a3db62","title":"Overview","url":"/docs/getting-started/providers/voyage#overview","content":"Voyage AI provides some of the highest-accuracy text embeddings available\ntoday, particularly strong on retrieval and reranking benchmarks. NeuroLink\nwraps api.voyageai.com/v1/embeddings so the same embed() / embedMany()\ncontract used by every other embedding-capable provider works for Voyage.\nvoyage-4 — newest general-purpose flagship (not yet the default)\nvoyage-4-large — largest / highest accuracy in the 4.x line\nvoyage-4-lite — smaller / cheaper 4.x variant\nvoyage-code-4 — code-tuned (best for code retrieval), 4.x line\nvoyage-3.5 — general-purpose (default)\nvoyage-3-large — flagship; highest accuracy\nvoyage-3.5-lite — smaller / cheaper\nvoyage-code-3 — code-tuned (best for code retrieval)\nvoyage-finance-2, voyage-law-2 — domain-tuned\nvoyage-multilingual-2 — non-English / cross-lingual","hierarchy":{"lvl0":"Getting Started","lvl1":"Voyage AI Provider Guide","lvl2":"Overview","lvl3":""}},
@@ -6856,6 +7034,41 @@
6856
7034
  {"objectID":"6af101fa8535ec4d7a67c34c316e07150d8e6116af4522083a297216a8c9879a","title":"\"voyage-3.5 returns 1024-dim, but I want 512\"","url":"/docs/getting-started/providers/voyage#voyage-35-returns-1024-dim-but-i-want-512","content":"Use voyage-3.5-lite (native 512-dim) instead. Voyage doesn't currently\nexpose a dimensions parameter on the standard models — pick the right\nmodel for the dimension you need.","hierarchy":{"lvl0":"Getting Started","lvl1":"Voyage AI Provider Guide","lvl2":"\"voyage-3.5 returns 1024-dim, but I want 512\"","lvl3":""}},
6857
7035
  {"objectID":"2c3ef175f046106961ba8e95e3d0fcbe414a2bcf67576f2e04074b4874ac46a4","title":"\"How do I rerank with Voyage?\"","url":"/docs/getting-started/providers/voyage#how-do-i-rerank-with-voyage","content":"Voyage doesn't expose rerank through this provider class today. For\nreranking, use the Jina AI provider (see src/lib/providers/jina.ts)\nwhich exposes rerank() directly.","hierarchy":{"lvl0":"Getting Started","lvl1":"Voyage AI Provider Guide","lvl2":"\"How do I rerank with Voyage?\"","lvl3":""}},
6858
7036
  {"objectID":"5683c06ba57d77c9d623dd32b77b424d7d269efb1777f4b0d3033b2fead7eaba","title":"See Also","url":"/docs/getting-started/providers/voyage#see-also","content":"Jina AI — sibling embedding-only provider with reranking support (no setup doc yet; see src/lib/providers/jina.ts)\nRAG Integration — how to use Voyage embeddings in the RAG pipeline\nAdding a new LLM provider — covers the embedding-only override pattern in §H\n\nNeed Help? Open a GitHub Discussion or issue.","hierarchy":{"lvl0":"Getting Started","lvl1":"Voyage AI Provider Guide","lvl2":"See Also","lvl3":""}},
7037
+ {"objectID":"5ce5478fbfd9663e97a1cc21f1648e887f573d552c7f6aa6fdd613daa1fd098e","title":"Vultr Inference Provider Guide","url":"/docs/getting-started/providers/vultr-inference","content":"Vultr Inference Provider Guide\n\nVultr Inference is a Tier-2 catalog provider: it is served by NeuroLink's\nOpenAI-compatible chat-completions path, so its entire integration is one JSON\nfile (src/lib/providers/catalog/vultr-inference.json) rather than\nhand-written code. That file is the source of truth for everything on this\npage.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. The model data, endpoint and error statuses below come from\nVultr's public pages and unauthenticated GET requests, and no account was\ncreated and no API key was used to build it. billingPolicy, each model's\nstatus and the two models.default* values are required by the schema and\nare not Vultr statements. evidence.liveMatrix is null until someone runs\nthe live capability matrix with a real key (see\nVerification status below).\n\nKey Facts\nProvider id: vultr-inference\nProtocol: /chat/completions with bearer-token authentication. The API\n reference at https://api.vultrinference.com/ says \"Responses follow\n OpenRouter's chat completion shape whichever engine serves the model\", and\n the FAQ at\n https://docs.vultr.com/products/compute/serverless-inference/faq says to\n \"replace your current inference API URL (such as OpenAI's base API URL) with\n Vultr’s API URL\"\nBase URL: https://api.vultrinference.com/v1\nDefault model: glm-5.2\nModels in catalog: 12 (curated from a 24-model roster: 15 entries with a\n text output, 3 rerank, 3 decision, 1 embeddings, 1 transcription and 1\n image). nemotron-3.5-content-safety (roster: \"multimodal, multilingual\n content moderation\"), nemotron-3-nano-omni-30b-a3b-reasoning and\n qwen3.8-27b are the three text-output roster entries that are not\n catalogued\nMessage shape: the chat-completions request message schema lists role\n (system, assistant, user, tool, developer) and content (type\n string, \"The contents of the message.\"); the tool call id description\n says \"Send it back unchanged as the tool_call_id of the tool result.\"\n Not exercised live\nStreaming: supported — the chat-completions reference documents\n stream (\"Indicates whether the response should be streamed.\") and a\n text/event-stream response, and the roster lists streaming: true on the\n 12 catalogued models\nTool calling: model-dependent — the reference documents tools (\"A\n list of function tools the model may call.\") and tool_calls in responses;\n the roster lists tools among the supported parameters of the 12\n catalogued models, and the nemotron-3.5-content-safety entry does not\n list it\nTools while streaming: declared (true) — the streaming payload schema\n in the OpenAPI document embedded in https://api.vultrinference.com/ says \"A\n delta carries only the fields it adds (role, content, reasoning,\n tool_calls)\". Not exercised live\nStructured output: not declared (false) — the chat-completions request\n schema lists model, messages, continue_final_message, stream,\n max_tokens, max_completion_tokens, reasoning_effort, reasoning, n,\n seed, temperature, top_p, frequency_penalty, presence_penalty,\n stop, logprobs, top_logprobs, tool_choice and tools, and no\n response_format\nStructured output + tools together: not declared (false) — no\n combined probe was run without credentials\nEmbeddings: not declared on this catalog entry. The reference lists a\n POST /embeddings route and the roster lists qwen3-embedding-4b, but\n NeuroLink's generic ConfiguredOpenAICompatProvider (which Tier-2 catalog\n entries use) does not implement embed()/embedMany(), so this flag\n tracks that, not the vendor's own API surface\nThinking: not declared (false) — the reference documents\n reasoning_effort and a reasoning request object, and this entry has not\n been run with NeuroLink's thinkingLevel option\nBilling: the provisioning page lists a charges note to acknowledge, and\n the FAQ describes a Usage tab (see Quick Start). The entry\n records no-free-tier because the schema has no unknown value; it is not\n a Vultr statement\nKey format: none declared\n\nQuick Start\nGet an API key\nVisit: https://docs.vultr.com/products/compute/serverless-inference/provisioning and follow the Vultr Console steps: Products, Serverless, Inference, Add Serverless Inference, then provide a Label, \"acknowledge the list of supported models and the charges note\", and click Add Serverless Inference\nOpen the new subscription's management page and copy the API key from its overview page (https://docs.vultr.com/products/compute/serverless-inference/management/connection: \"API key is necessary to send any request to the inference endpoints\")\nCharges: the provisioning page above lists the charges note among the items to acknowledge, and the FAQ (https://docs.vultr.com/products/compute/serverless-inference/faq) says the subscription's Usage tab shows \"details on your current token usage, overage, and any associated costs\"\nSet VULTR_INFERENCE_API_KEY in your .env file (the authentication example on https://api.vultrinference.com/ writes ${VULTR_API_KEY},","hierarchy":{"lvl0":"Getting Started","lvl1":"Vultr Inference Provider Guide","lvl2":"","lvl3":""}},
7038
+ {"objectID":"1165732866bbe3493947028b8408068899dc5a2723bb171eb61a4dc59ed3f6e4","title":"Vultr Inference Provider Guide","url":"/docs/getting-started/providers/vultr-inference#vultr-inference-provider-guide","content":"Vultr Inference is a Tier-2 catalog provider: it is served by NeuroLink's\nOpenAI-compatible chat-completions path, so its entire integration is one JSON\nfile (src/lib/providers/catalog/vultr-inference.json) rather than\nhand-written code. That file is the source of truth for everything on this\npage.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. The model data, endpoint and error statuses below come from\nVultr's public pages and unauthenticated GET requests, and no account was\ncreated and no API key was used to build it. billingPolicy, each model's\nstatus and the two models.default* values are required by the schema and\nare not Vultr statements. evidence.liveMatrix is null until someone runs\nthe live capability matrix with a real key (see\nVerification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"Vultr Inference Provider Guide","lvl2":"Vultr Inference Provider Guide","lvl3":""}},
7039
+ {"objectID":"88a94305e1070def662be93baabf8f5fcfb958247f12a1c82e94c5e6fd5be21e","title":"Key Facts","url":"/docs/getting-started/providers/vultr-inference#key-facts","content":"Provider id: vultr-inference\nProtocol: /chat/completions with bearer-token authentication. The API\n reference at https://api.vultrinference.com/ says \"Responses follow\n OpenRouter's chat completion shape whichever engine serves the model\", and\n the FAQ at\n https://docs.vultr.com/products/compute/serverless-inference/faq says to\n \"replace your current inference API URL (such as OpenAI's base API URL) with\n Vultr’s API URL\"\nBase URL: https://api.vultrinference.com/v1\nDefault model: glm-5.2\nModels in catalog: 12 (curated from a 24-model roster: 15 entries with a\n text output, 3 rerank, 3 decision, 1 embeddings, 1 transcription and 1\n image). nemotron-3.5-content-safety (roster: \"multimodal, multilingual\n content moderation\"), nemotron-3-nano-omni-30b-a3b-reasoning and\n qwen3.8-27b are the three text-output roster entries that are not\n catalogued\nMessage shape: the chat-completions request message schema lists role\n (system, assistant, user, tool, developer) and content (type\n string, \"The contents of the message.\"); the tool call id description\n says \"Send it back unchanged as the tool_call_id of the tool result.\"\n Not exercised live\nStreaming: supported — the chat-completions reference documents\n stream (\"Indicates whether the response should be streamed.\") and a\n text/event-stream response, and the roster lists streaming: true on the\n 12 catalogued models\nTool calling: model-dependent — the reference documents tools (\"A\n list of function tools the model may call.\") and tool_calls in responses;\n the roster lists tools among the supported parameters of the 12\n catalogued models, and the nemotron-3.5-content-safety entry does not\n list it\nTools while streaming: declared (true) — the streaming payload schema\n in the OpenAPI document embedded in https://api.vultrinference.com/ says \"A\n delta carries only the fields it adds (role, content, reasoning,\n tool_calls)\". Not exercised live\nStructured output: not declared (false) — the chat-completions re","hierarchy":{"lvl0":"Getting Started","lvl1":"Vultr Inference Provider Guide","lvl2":"Key Facts","lvl3":""}},
7040
+ {"objectID":"938c746826ed8c7cd64d5cfd70d4b90bddaf74324ef7a07ce29dabf80d92d4b1","title":"1. Get an API key","url":"/docs/getting-started/providers/vultr-inference#1-get-an-api-key","content":"Visit: https://docs.vultr.com/products/compute/serverless-inference/provisioning and follow the Vultr Console steps: Products, Serverless, Inference, Add Serverless Inference, then provide a Label, \"acknowledge the list of supported models and the charges note\", and click Add Serverless Inference\nOpen the new subscription's management page and copy the API key from its overview page (https://docs.vultr.com/products/compute/serverless-inference/management/connection: \"API key is necessary to send any request to the inference endpoints\")\nCharges: the provisioning page above lists the charges note among the items to acknowledge, and the FAQ (https://docs.vultr.com/products/compute/serverless-inference/faq) says the subscription's Usage tab shows \"details on your current token usage, overage, and any associated costs\"\nSet VULTR_INFERENCE_API_KEY in your .env file (the authentication example on https://api.vultrinference.com/ writes ${VULTR_API_KEY}, which NeuroLink does not read)\n\nThe FAQ also says the key can be regenerated from the Overview page in the\nVultr Console and that \"This will invalidate the previous API key\".","hierarchy":{"lvl0":"Getting Started","lvl1":"Vultr Inference Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
7041
+ {"objectID":"da173929207d0cfc8ba47ce5bc9267924fc46580916feaf55d968c799f475b45","title":"3. Use it","url":"/docs/getting-started/providers/vultr-inference#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Vultr Inference Provider Guide","lvl2":"3. Use it","lvl3":""}},
7042
+ {"objectID":"e5f1ef508bbff1091ff1612ca874a855b1923c7010b53286fc7aa766bdfa802a","title":"CLI","url":"/docs/getting-started/providers/vultr-inference#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider vultr-inference\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"vultr-inference\",\n credentials: {\n vultrInference: { apiKey: process.env.VULTRINFERENCEAPI_KEY },\n },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Vultr Inference Provider Guide","lvl2":"CLI","lvl3":""}},
7043
+ {"objectID":"9756457b368baa1c81465fcf20053eb2923fad4557e7c0f1f5a91c8b5d56d448","title":"Models","url":"/docs/getting-started/providers/vultr-inference#models","content":"| Model | Context | Max output | Vision | $/M in · out | Notes |\n| ------------------------ | --------- | ---------- | ------ | ------------- | ---------------------------------------------------------------------------------------------------- |\n| glm-5.2 ⭐ | 1,048,576 | 1,048,576 | yes | $0.75 / $3 | NeuroLink default; roster: \"GLM-5.2 is Z.ai's flagship model for long-horizon tasks\". |\n| deepseek-v4.1-flash | 1,048,576 | 1,048,576 | yes | $0.15 / $0.6 | Fallback; roster: \"support for reasoning and tool calling\". |\n| qwen3.8-flash-next | 262,144 | 262,144 | yes | $0.1 / $0.2 | Fallback; roster: \"reasoning, and tool calling\". |\n| mimo-v2.6-flash-rl | 1,048,576 | 1,048,576 | yes | $0.1 / $0.25 | Fallback; roster: \"Supports reasoning and tool calling, served at FP8.\" |\n| deepseek-v4-flash-0731 | 1,048,576 | 1,048,576 | yes | $0.1 / $0.25 | Roster: \"DeepSeek's official V4 Flash release\". |\n| glm-5.3 | 1,048,576 | 1,048,576 | yes | $0.75 / $3 | Roster: \"Served at NVFP4 across a 1M-token context.\" |\n| glm-5.3-flash | 1,048,576 | 1,048,576 | yes | $0.1 / $0.35 | Roster: \"Z.ai's first natively multimodal GLM-5 model\". |\n| glm-5.x-menthol | 202,752 | 202,752 | yes | $0.4 / $1.75 | Roster name \"GLM 5\"; \"Z.ai's GLM-5, a 744B-parameter MoE flagship for agentic reasoning and coding\". |\n| laguna-s-2.1 | 1,048,576 | 1,048,576 | yes | $0.09 / $0.18 | Roster: \"designed for agentic coding and long-horizon work\". |\n| mimo-v2.6-pro-r","hierarchy":{"lvl0":"Getting Started","lvl1":"Vultr Inference Provider Guide","lvl2":"Models","lvl3":""}},
7044
+ {"objectID":"7ab47730ce97127fb92aef1b721ccc909cf992321e81eb4c934ce55e322a7cf6","title":"Verification status","url":"/docs/getting-started/providers/vultr-inference#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for Vultr Inference — docs- and roster-verified,\nnot live-verified:\n\n| Probe | Result |\n| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET /v1/models, HTTP 200, 24 models, 2026-09-29 — no key used |\n| Auth-failure shape | unauthenticated GET /v1/models/all returned 401 {\"message\":\"No API key provided\"} (the same body on GET /v1/usage and GET /v1/models/glm-5.2); the body carries no error code. The chat-completions reference lists 401 \"Unauthorized\" and 429 \"Rate limit exceeded\". GET /v1/chat/completions answered 404 and no POST was sent, so errorRules match the statuses 401 and 429 |\n| Billing | the provisioning page's Console steps say \"acknowledge the list of supported models and the c","hierarchy":{"lvl0":"Getting Started","lvl1":"Vultr Inference Provider Guide","lvl2":"Verification status","lvl3":""}},
7045
+ {"objectID":"cbb06561d2c7c299d634287a2b9b76af2a709427a639671ce8e40e5a9dce8ef9","title":"Documented error statuses","url":"/docs/getting-started/providers/vultr-inference#documented-error-statuses","content":"The chat-completions reference at https://api.vultrinference.com/ lists these\nresponses for POST /chat/completions, and says errors use OpenRouter's\nenvelope, {\"error\": {\"code\", \"message\", \"type\", \"metadata\": {\"error_type\"}}}:\n\n| Status | Vultr's description |\n| ------ | ------------------------------------------------------------------------------------------- |\n| 400 | \"Bad Request, including context_length_exceeded\" |\n| 401 | \"Unauthorized\" |\n| 422 | \"Validation Error\"; the reasoning_effort description says \"unsupported levels return 422\" |\n| 429 | \"Rate limit exceeded\" |\n| 502 | \"The model could not be reached\" |\n| 504 | \"The model timed out\" |","hierarchy":{"lvl0":"Getting Started","lvl1":"Vultr Inference Provider Guide","lvl2":"Documented error statuses","lvl3":""}},
7046
+ {"objectID":"65cdbafddcf2b3bae9986da9efa0485eebfd131a224724f8ff3c388b7b03e518","title":"See also","url":"/docs/getting-started/providers/vultr-inference#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Vultr Inference Provider Guide","lvl2":"See also","lvl3":""}},
7047
+ {"objectID":"c40d37b8f4cc5d014cf7ef79484341d097a3e922323ace65d873760e4bf92b40","title":"Wafer Provider Guide","url":"/docs/getting-started/providers/wafer","content":"Wafer Provider Guide\n\nWafer is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/wafer.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. The fields below come from Wafer's own public pages and\nunauthenticated GET requests — no account was created and no API key was\nused to build it. evidence.liveMatrix is null until someone runs the\nlive capability matrix with a real key (see\nVerification status below).\n\nKey Facts\nProvider id: wafer\nProtocol: OpenAI-compatible (/chat/completions) — the docs open with\n \"Access Wafer models through an OpenAI-compatible API.\"\n (docs)\nBase URL: https://pass.wafer.ai/v1\nAuthentication: the docs' Connect table shows\n Authorization: Bearer <YOUR_WAFER_API_KEY>\nDefault model: GLM-5.3\nModels in catalog: 8 (the 8 models on the 2026-09-29 roster)\nStreaming: true — the roster lists chat_completions.streaming: true\n on the 8 models\nTool calling: true — the roster lists chat_completions.tools: true\n on the 8 models\nTools while streaming: true — the roster lists\n chat_completions.tool_streaming: true on the 8 models\nStructured output: true — the roster lists\n chat_completions.json_object: true and chat_completions.json_schema: true\n on the 8 models\nStructured output + tools together: false — the roster lists\n chat_completions.tools_with_response_format: true, and no combined\n tools+schema request was sent, so the entry does not declare it\nEmbeddings: not declared (false)\nThinking: not declared (false) — the roster lists reasoning: true and\n a reasoning_effort block on the 8 models (see Models); no\n thinkingLevel request was sent\nBilling policy field: no-free-tier — see Billing\nKey format: none declared\n\nQuick Start\nGet an API key\nVisit: https://app.wafer.ai and sign in — the docs say \"Sign in at app.wafer.ai to add credits and create an API key. Store your key securely.\" (https://docs.wafer.ai/serverless)\nAdd credits and create an API key — the docs say \"Add credits, create an API key, and pay per token.\" (https://docs.wafer.ai/serverless)\nSet WAFER_API_KEY in your .env file (the docs' Authentication row shows the Authorization: Bearer header)\nConfigure\nUse it\n\nPer-request credentials use the same shape as other NeuroLink providers:\n\nBilling\n\nThe docs page https://docs.wafer.ai/serverless says: \"Access Wafer models\nthrough an OpenAI-compatible API. Add credits, create an API key, and pay per\ntoken.\" Wafer's information page https://www.wafer.ai/ai-info says: \"Hosted\nopen models through an OpenAI-compatible API, with usage billed per token.\nCustomers add credits and create an API key in the Wafer app.\"\n\nThe catalog's billingPolicy field takes one of free-tier,\nfree-with-card or no-free-tier; the schema has no unknown value. The\nentry records no-free-tier as the schema's closest choice — it is not a\nWafer statement.\n\nModels\n\n| Model | Context | Max output | Vision | $/M in · out (cache read) | Notes |\n| ----------------------------- | --------- | ---------- | ------ | ------------------------- | ------------------------------------------------------------------------------------------------------- |\n| GLM-5.3 ⭐ | 1,048,576 | — | no | $0.29 / $4.40 ($0.2359) | NeuroLink default; the model in the docs' curl request examples. |\n| DeepSeek-V4-Pro | 1,048,576 | — | no | $0.40 / $4.20 ($0.32) | Fallback. |\n| Kimi-K3 | 1,048,576 | 131,072 | yes | $1.44 / $9.00 ($0.30) | Fallback; roster capabilities.vision: true. |\n| GLM-5.2 | 1,048,576 | — | no | $0.32 / $4.40 ($0.2599) | Fallback. |\n| Qwen3.8-27B | 262,144 | — | yes | $0.04 / $4.40 ($0.0342) | Roster capabilities.vision: true; models.visionModel. |\n| GLM-5.3-Flash | 1,048,576 | — | yes | $0.75 / $0.50 ($0.03) | Roster capabilities.vision: true; roster description ends \"Available serverless to gateway partners.\" |\n| DeepSeek-V4.1-Flash | 1,048,576 | — | yes | $0.02 / $0.70 ($0.016) | Roster capabilities.vision: true. |\n| DeepSeek-V4-Flash-0731-Fast | 1,048,576 | — | no | $0.07 / $0.35 ($0.0531) | Roster-listed. ","hierarchy":{"lvl0":"Getting Started","lvl1":"Wafer Provider Guide","lvl2":"","lvl3":""}},
7048
+ {"objectID":"06b66101a4db28a2a2dfdc4f72bd58a9ace305d3b2c55a73850b9a2ae817da51","title":"Wafer Provider Guide","url":"/docs/getting-started/providers/wafer#wafer-provider-guide","content":"Wafer is a Tier-2 catalog provider: OpenAI-wire-compatible with no\nbehavioural quirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/wafer.json) rather than hand-written code.\nThat file is the source of truth for everything on this page.\n\nVerification status: this entry is docs- and roster-verified, not yet\nlive-verified. The fields below come from Wafer's own public pages and\nunauthenticated GET requests — no account was created and no API key was\nused to build it. evidence.liveMatrix is null until someone runs the\nlive capability matrix with a real key (see\nVerification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"Wafer Provider Guide","lvl2":"Wafer Provider Guide","lvl3":""}},
7049
+ {"objectID":"bb257210d97b169475a1904aedc6779d76c58ff43e21767d6223fbe933654c45","title":"Key Facts","url":"/docs/getting-started/providers/wafer#key-facts","content":"Provider id: wafer\nProtocol: OpenAI-compatible (/chat/completions) — the docs open with\n \"Access Wafer models through an OpenAI-compatible API.\"\n (docs)\nBase URL: https://pass.wafer.ai/v1\nAuthentication: the docs' Connect table shows\n Authorization: Bearer <YOUR_WAFER_API_KEY>\nDefault model: GLM-5.3\nModels in catalog: 8 (the 8 models on the 2026-09-29 roster)\nStreaming: true — the roster lists chat_completions.streaming: true\n on the 8 models\nTool calling: true — the roster lists chat_completions.tools: true\n on the 8 models\nTools while streaming: true — the roster lists\n chat_completions.tool_streaming: true on the 8 models\nStructured output: true — the roster lists\n chat_completions.json_object: true and chat_completions.json_schema: true\n on the 8 models\nStructured output + tools together: false — the roster lists\n chat_completions.tools_with_response_format: true, and no combined\n tools+schema request was sent, so the entry does not declare it\nEmbeddings: not declared (false)\nThinking: not declared (false) — the roster lists reasoning: true and\n a reasoning_effort block on the 8 models (see Models); no\n thinkingLevel request was sent\nBilling policy field: no-free-tier — see Billing\nKey format: none declared","hierarchy":{"lvl0":"Getting Started","lvl1":"Wafer Provider Guide","lvl2":"Key Facts","lvl3":""}},
7050
+ {"objectID":"499d34a3b9e6e641f7e325b3cce96bd497adef3431efbe6af2dc9c1791faa92d","title":"1. Get an API key","url":"/docs/getting-started/providers/wafer#1-get-an-api-key","content":"Visit: https://app.wafer.ai and sign in — the docs say \"Sign in at app.wafer.ai to add credits and create an API key. Store your key securely.\" (https://docs.wafer.ai/serverless)\nAdd credits and create an API key — the docs say \"Add credits, create an API key, and pay per token.\" (https://docs.wafer.ai/serverless)\nSet WAFER_API_KEY in your .env file (the docs' Authentication row shows the Authorization: Bearer header)","hierarchy":{"lvl0":"Getting Started","lvl1":"Wafer Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
7051
+ {"objectID":"0190230a7223aae2c0369003da925db3e58d2e11400a60daa1c4f1159a0f72cc","title":"3. Use it","url":"/docs/getting-started/providers/wafer#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Wafer Provider Guide","lvl2":"3. Use it","lvl3":""}},
7052
+ {"objectID":"1e051f082e5606afa72377b8d556857928c80f63b25768da5ec55f3c9cfae96f","title":"CLI","url":"/docs/getting-started/providers/wafer#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider wafer\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"wafer\",\n credentials: { wafer: { apiKey: process.env.WAFERAPIKEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Wafer Provider Guide","lvl2":"CLI","lvl3":""}},
7053
+ {"objectID":"7361cff821a27b21d834d4f58299acc90c51fed1fb6a3c16b521b35f490f0546","title":"Billing","url":"/docs/getting-started/providers/wafer#billing","content":"The docs page https://docs.wafer.ai/serverless says: \"Access Wafer models\nthrough an OpenAI-compatible API. Add credits, create an API key, and pay per\ntoken.\" Wafer's information page https://www.wafer.ai/ai-info says: \"Hosted\nopen models through an OpenAI-compatible API, with usage billed per token.\nCustomers add credits and create an API key in the Wafer app.\"\n\nThe catalog's billingPolicy field takes one of free-tier,\nfree-with-card or no-free-tier; the schema has no unknown value. The\nentry records no-free-tier as the schema's closest choice — it is not a\nWafer statement.","hierarchy":{"lvl0":"Getting Started","lvl1":"Wafer Provider Guide","lvl2":"Billing","lvl3":""}},
7054
+ {"objectID":"ad2a1b9389c126c7bc6109f11b73c6575904a9217bf150cf54df66249add7dd9","title":"Models","url":"/docs/getting-started/providers/wafer#models","content":"| Model | Context | Max output | Vision | $/M in · out (cache read) | Notes |\n| ----------------------------- | --------- | ---------- | ------ | ------------------------- | ------------------------------------------------------------------------------------------------------- |\n| GLM-5.3 ⭐ | 1,048,576 | — | no | $0.29 / $4.40 ($0.2359) | NeuroLink default; the model in the docs' curl request examples. |\n| DeepSeek-V4-Pro | 1,048,576 | — | no | $0.40 / $4.20 ($0.32) | Fallback. |\n| Kimi-K3 | 1,048,576 | 131,072 | yes | $1.44 / $9.00 ($0.30) | Fallback; roster capabilities.vision: true. |\n| GLM-5.2 | 1,048,576 | — | no | $0.32 / $4.40 ($0.2599) | Fallback. |\n| Qwen3.8-27B | 262,144 | — | yes | $0.04 / $4.40 ($0.0342) | Roster capabilities.vision: true; models.visionModel. |\n| GLM-5.3-Flash | 1,048,576 | — | yes | $0.75 / $0.50 ($0.03) | Roster capabilities.vision: true; roster description ends \"Available serverless to gateway partners.\" |\n| DeepSeek-V4.1-Flash | 1,048,576 | — | yes | $0.02 / $0.70 ($0.016) | Roster capabilities.vision: true. |\n| DeepSeek-V4-Flash-0731-Fast | 1,048,576 | — | no | $0.07 / $0.35 ($0.0531) | Roster-listed. |\n\nContex","hierarchy":{"lvl0":"Getting Started","lvl1":"Wafer Provider Guide","lvl2":"Models","lvl3":""}},
7055
+ {"objectID":"3f9759c0e8f5d52a17b8c8bf99bc1467bcc363c44d590f6607ea8c1ec85af077","title":"Roster descriptions","url":"/docs/getting-started/providers/wafer#roster-descriptions","content":"The strings below are the wafer.description field of the roster entries,\nquoted as returned by GET https://pass.wafer.ai/v1/models on 2026-09-29.\nGLM-5.3: \"GLM-5.3 — Z.ai's flagship GLM-5.3 MoE (391B, NVFP4), self-hosted on the Wafer fleet with a 1M-token context window and frontier coding/agentic performance. Available serverless.\"\nDeepSeek-V4-Pro: \"DeepSeek-V4-Pro -- DeepSeek's V4 Pro MoE, self-hosted on the Wafer fleet with a 1M-token context window, reasoning-effort control and tool calling. Available serverless.\"\nKimi-K3: \"Kimi K3 sparse MoE model, self-hosted on the Wafer fleet. Available serverless with a 1M-token context window and strong coding/agentic performance.\"\nGLM-5.2: \"GLM-5.2 — Z.ai's GLM-5.2 MoE (NVFP4), self-hosted on the Wafer fleet with a 1M-token context window, strong coding and reasoning, and tool calling. Available serverless.\"\nQwen3.8-27B: \"Qwen3.8-27B -- Alibaba's dense 27B vision-language model, self-hosted on the Wafer fleet with a 262K-token context window, image and video input, reasoning-effort control and tool calling. Available serverless.\"\nGLM-5.3-Flash: \"GLM-5.3-Flash — Z.ai's fast GLM-5.3 MoE variant, self-hosted on the Wafer fleet with a 1M-token context window and strong coding/agentic performance. Available serverless to gateway partners.\"\nDeepSeek-V4.1-Flash: \"DeepSeek-V4.1-Flash — DeepSeek's V4.1 Flash MoE (552B total, 8B active for prefill / 16B for decode, 1M-token context), self-hosted on the Wafer fleet with reasoning-effort control and tool calling. Available serverless.\"\nDeepSeek-V4-Flash-0731-Fast: \"The same model served for high TPS.\"","hierarchy":{"lvl0":"Getting Started","lvl1":"Wafer Provider Guide","lvl2":"Roster descriptions","lvl3":""}},
7056
+ {"objectID":"0eba4ee17023ef89adbbd6511c79e7227a3034a089fadf19ce0a30d46369ed25","title":"Roster reasoning_effort blocks","url":"/docs/getting-started/providers/wafer#roster-reasoning_effort-blocks","content":"The roster lists a reasoning_effort block on the 8 models\n(control, efforts, default). These are roster values; no request set an\neffort.\n\n| Model | control | efforts | default |\n| --------------------------------------------------------------------------------------- | --------------- | ---------------------------- | --------- |\n| GLM-5.3, GLM-5.2, GLM-5.3-Flash, DeepSeek-V4-Pro, DeepSeek-V4-Flash-0731-Fast | system_prompt | none, low, high, max | low |\n| Kimi-K3 | native_effort | none, high, max | none |\n| Qwen3.8-27B | native_effort | none, low, medium, high, max | high |\n| DeepSeek-V4.1-Flash | native_effort | none, low, high, max | none |","hierarchy":{"lvl0":"Getting Started","lvl1":"Wafer Provider Guide","lvl2":"Roster reasoning_effort blocks","lvl3":""}},
7057
+ {"objectID":"be629e99d8f5952b4390cff40eb68eaa6fe91d8ad222e8848ef36f8118893ec7","title":"Verification status","url":"/docs/getting-started/providers/wafer#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for Wafer — docs- and roster-verified, not\nlive-verified:\n\n| Probe | Result |\n| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET https://pass.wafer.ai/v1/models, HTTP 200, 8 models, 2026-09-29 — no key used |\n| Billing | https://docs.wafer.ai/serverless: \"Add credits, create an API key, and pay per token.\" — recorded as no-free-tier, the schema's closest value (2026-09-29) |\n| Auth-failure shape | unauthenticated GET https://pass.wafer.ai/v1/chat/completions returned HTTP 401 with error.type authentication_error and error.code missing_api_key, 2026-09-29 (a GET; no POST was sent) — errorRules match status 401 |\n| Tools / structured output | roster chat_completions flags on the 8 models: tools, tool_streaming, json_object, json_schema and tools_with_response_format are true. These flags were not exercised w","hierarchy":{"lvl0":"Getting Started","lvl1":"Wafer Provider Guide","lvl2":"Verification status","lvl3":""}},
7058
+ {"objectID":"4cab07278c1dfd844733cc416f79b5fe37e2a9c6c455d5b86e49dec08eeb3f7a","title":"Troubleshooting","url":"/docs/getting-started/providers/wafer#troubleshooting","content":"| Symptom | Cause | Fix |\n| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |\n| HTTP 401 missing_api_key | Wafer's response body reads: Missing API key. Provide credentials via Authorization: Bearer <key> or x-api-key: <key>. | Set WAFER_API_KEY; NeuroLink's Tier-2 wire format sends Authorization: Bearer, one of the two headers Wafer's message names |\n| Structured output ignored with tools attached | structuredOutputWithTools is false on this entry — no combined request was sent | NeuroLink omits response_format automatically whenever tools are present, before sending |","hierarchy":{"lvl0":"Getting Started","lvl1":"Wafer Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
7059
+ {"objectID":"c7c604ba6dbe280a59f683716c14f830a205f6eb422054f99ba7a820e8c0945d","title":"See also","url":"/docs/getting-started/providers/wafer#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Wafer Provider Guide","lvl2":"See also","lvl3":""}},
7060
+ {"objectID":"314a2ad7b02537967f3abe041e8c01ca3b115631a1925ba7c49bbf1a79f4e20e","title":"W&B Inference Provider Guide","url":"/docs/getting-started/providers/wandb-inference","content":"W&B Inference Provider Guide\n\nW&B Inference (the vendor's docs call it Serverless Inference) is a\nTier-2 catalog provider: OpenAI-wire-compatible with no behavioural\nquirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/wandb-inference.json) rather than hand-written\ncode. That file is the source of truth for everything on this page.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. The vendor's GET /v1/models needs a key (an unauthenticated\nGET answers HTTP 401), so the model ids come from the vendor's public\nmodels page and the roster has not\nbeen checked. No account was created and no API key was used to build this\nentry. evidence.liveMatrix is null until someone runs the live capability\nmatrix with a real key (see Verification status\nbelow).\n\nKey Facts\nProvider id: wandb-inference (alias wandb)\nProtocol: OpenAI-compatible (/chat/completions) — the\n chat completions reference\n says the endpoint \"follows the OpenAI format for sending messages and\n receiving responses\"\nBase URL: https://api.inference.wandb.ai/v1\nDefault model: openai/gpt-oss-120b\nModels in catalog: 12 (taken from the 20 rows of the models page's\n \"Generally available models\" table)\nStreaming: supported — the\n streaming page\n says \"All hosted models support streaming output.\"\nTool calling: model-dependent — the\n tool-calling page\n documents function calling (\"Serverless Inference only supports calling\n functions\") with an example on openai/gpt-oss-20b; the models page\n describes ibm-granite/granite-4.2-8b as \"capable of enhanced tool calling\"\n and google/gemma-4-26B-A4B-it as having \"function calling for agentic\n workflows\"\nTools while streaming: not declared (false)\nStructured output: supported — the\n structured-output page\n documents json_schema as the response_format type, and the\n JSON-mode page\n documents json_object. The vendor's\n 422 article\n says \"Some parameters (such as frequency_penalty, logprobs, or\n response_format) are not supported by all models.\"\nStructured output + tools together: not declared (false) — no\n combined request was sent; the requests made were unauthenticated GETs\nEmbeddings: not declared — the\n API reference lists two\n methods, Chat Completions and List Models\nThinking: not declared (false). The vendor's\n reasoning page\n says reasoning information appears in the reasoning field of responses and\n that chat_template_kwargs.enable_thinking turns it on or off for models\n that allow toggling; this entry does not set that flag\nBilling: free-tier — see Billing below\nKey format: none declared\n\nQuick Start\nGet an API key\nVisit: https://app.wandb.ai/login?signup=true and sign up for a W&B account (prerequisites)\nCreate an API key: click your user profile icon, then User Settings, then Create new API key, and copy it immediately because W&B shows the full key once (prerequisites); the API reference also names https://wandb.ai/settings\nProject: the prerequisites page lists a W&B project among the items you must have: \"Create a project in your W&B account to track usage.\" The chat completions reference lists \"Your W&B team and project: [YOUR-TEAM]/[YOUR-PROJECT] (optional).\"\nCredits: \"Serverless Inference credits come with Free, Pro, and Academic plans for a limited time.\" Free accounts must activate pay-as-you-go inference on the Billing tab or upgrade to a paid plan when credits run out; the default cap for a Free account is $100/month (usage limits)\nSet WANDB_INFERENCE_API_KEY in your .env file\nConfigure\n\nThe chat completions reference\nshows an optional team and project for usage tracking\n(project=\"[YOUR-TEAM]/[YOUR-PROJECT]\" on the Python OpenAI client, or an\nOpenAI-Project header). The API reference\nsays: \"If you don’t specify these, W&B uses your default entity and the project\nname inference.\" The catalog schema has no field for extra request headers, so\nthis entry does not send one.\nUse it\n\nPer-request credentials use the same shape as for the other catalog providers:\n\nBilling\n\nThe usage limits page says\n\"Serverless Inference credits come with Free, Pro, and Academic plans for a\nlimited time. Enterprise availability may vary.\" When credits run out, Free\naccounts \"must activate pay-as-you-go inference on the Billing tab, or\nupgrade to a paid plan to continue using Serverless Inference\", and the page\nadds \"W&B requires prepayment for paid Inference access.\" Its account-tier\ntable lists a default cap of $100/month for Free, $6,000/month for Pro and\n$700,000/year for Enterprise. Per-token prices are on the\npricing page, which links from the\ndocs as https://wandb.ai/site/pricing/inference. The entry records\nfree-tier.\n\nModels\n\n| Model | Context | Vision | $/M in · out | Notes |\n| ----------------------------------","hierarchy":{"lvl0":"Getting Started","lvl1":"W&B Inference Provider Guide","lvl2":"","lvl3":""}},
7061
+ {"objectID":"4c90f206be343d7d0a544733d1a92268c51d16c1a14d28d459804d0eb17a37bd","title":"W&B Inference Provider Guide","url":"/docs/getting-started/providers/wandb-inference#wb-inference-provider-guide","content":"W&B Inference (the vendor's docs call it Serverless Inference) is a\nTier-2 catalog provider: OpenAI-wire-compatible with no behavioural\nquirks, so its entire integration is one JSON file\n(src/lib/providers/catalog/wandb-inference.json) rather than hand-written\ncode. That file is the source of truth for everything on this page.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. The vendor's GET /v1/models needs a key (an unauthenticated\nGET answers HTTP 401), so the model ids come from the vendor's public\nmodels page and the roster has not\nbeen checked. No account was created and no API key was used to build this\nentry. evidence.liveMatrix is null until someone runs the live capability\nmatrix with a real key (see Verification status\nbelow).","hierarchy":{"lvl0":"Getting Started","lvl1":"W&B Inference Provider Guide","lvl2":"W&B Inference Provider Guide","lvl3":""}},
7062
+ {"objectID":"71833c5c0fa976154d562899014bc836b512475128905cfdb44f190a7ab2fc2f","title":"Key Facts","url":"/docs/getting-started/providers/wandb-inference#key-facts","content":"Provider id: wandb-inference (alias wandb)\nProtocol: OpenAI-compatible (/chat/completions) — the\n chat completions reference\n says the endpoint \"follows the OpenAI format for sending messages and\n receiving responses\"\nBase URL: https://api.inference.wandb.ai/v1\nDefault model: openai/gpt-oss-120b\nModels in catalog: 12 (taken from the 20 rows of the models page's\n \"Generally available models\" table)\nStreaming: supported — the\n streaming page\n says \"All hosted models support streaming output.\"\nTool calling: model-dependent — the\n tool-calling page\n documents function calling (\"Serverless Inference only supports calling\n functions\") with an example on openai/gpt-oss-20b; the models page\n describes ibm-granite/granite-4.2-8b as \"capable of enhanced tool calling\"\n and google/gemma-4-26B-A4B-it as having \"function calling for agentic\n workflows\"\nTools while streaming: not declared (false)\nStructured output: supported — the\n structured-output page\n documents json_schema as the response_format type, and the\n JSON-mode page\n documents json_object. The vendor's\n 422 article\n says \"Some parameters (such as frequency_penalty, logprobs, or\n response_format) are not supported by all models.\"\nStructured output + tools together: not declared (false) — no\n combined request was sent; the requests made were unauthenticated GETs\nEmbeddings: not declared — the\n API reference lists two\n methods, Chat Completions and List Models\nThinking: not declared (false). The vendor's\n reasoning page\n says reasoning information appears in the reasoning field of responses and\n that chat_template_kwargs.enable_thinking turns it on or off for models\n that allow toggling; this entry does not set that flag\nBilling: free-tier — see Billing below\nKey format: none declared","hierarchy":{"lvl0":"Getting Started","lvl1":"W&B Inference Provider Guide","lvl2":"Key Facts","lvl3":""}},
7063
+ {"objectID":"ccc5dee1bd6047409b8c53c191b5e235bf8c3c8b8b9587e6626f0a88483a2dd8","title":"1. Get an API key","url":"/docs/getting-started/providers/wandb-inference#1-get-an-api-key","content":"Visit: https://app.wandb.ai/login?signup=true and sign up for a W&B account (prerequisites)\nCreate an API key: click your user profile icon, then User Settings, then Create new API key, and copy it immediately because W&B shows the full key once (prerequisites); the API reference also names https://wandb.ai/settings\nProject: the prerequisites page lists a W&B project among the items you must have: \"Create a project in your W&B account to track usage.\" The chat completions reference lists \"Your W&B team and project: [YOUR-TEAM]/[YOUR-PROJECT] (optional).\"\nCredits: \"Serverless Inference credits come with Free, Pro, and Academic plans for a limited time.\" Free accounts must activate pay-as-you-go inference on the Billing tab or upgrade to a paid plan when credits run out; the default cap for a Free account is $100/month (usage limits)\nSet WANDB_INFERENCE_API_KEY in your .env file","hierarchy":{"lvl0":"Getting Started","lvl1":"W&B Inference Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
7064
+ {"objectID":"08dfb177dc01ebcb5ccb9a6d7c60d202cd6ba102cccc2d37b3b71e59103a01b9","title":"2. Configure","url":"/docs/getting-started/providers/wandb-inference#2-configure","content":"The chat completions reference\nshows an optional team and project for usage tracking\n(project=\"[YOUR-TEAM]/[YOUR-PROJECT]\" on the Python OpenAI client, or an\nOpenAI-Project header). The API reference\nsays: \"If you don’t specify these, W&B uses your default entity and the project\nname inference.\" The catalog schema has no field for extra request headers, so\nthis entry does not send one.","hierarchy":{"lvl0":"Getting Started","lvl1":"W&B Inference Provider Guide","lvl2":"2. Configure","lvl3":""}},
7065
+ {"objectID":"2a8fbee739faa4ab66b85f4b5265aa9997ec75b998fe9b0fbf23d3c201f61b89","title":"3. Use it","url":"/docs/getting-started/providers/wandb-inference#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"W&B Inference Provider Guide","lvl2":"3. Use it","lvl3":""}},
7066
+ {"objectID":"c07a370d036af779c60516195a301b0800a0db3512b2432f2bab99b9ebd521ea","title":"CLI","url":"/docs/getting-started/providers/wandb-inference#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider wandb-inference\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"wandb-inference\",\n credentials: {\n wandbInference: { apiKey: process.env.WANDBINFERENCEAPI_KEY },\n },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"W&B Inference Provider Guide","lvl2":"CLI","lvl3":""}},
7067
+ {"objectID":"b9a0ea5c75e1a0479bf7b346f4c7dc6d263f1043f5fa438f4eb86dc8914549ea","title":"Billing","url":"/docs/getting-started/providers/wandb-inference#billing","content":"The usage limits page says\n\"Serverless Inference credits come with Free, Pro, and Academic plans for a\nlimited time. Enterprise availability may vary.\" When credits run out, Free\naccounts \"must activate pay-as-you-go inference on the Billing tab, or\nupgrade to a paid plan to continue using Serverless Inference\", and the page\nadds \"W&B requires prepayment for paid Inference access.\" Its account-tier\ntable lists a default cap of $100/month for Free, $6,000/month for Pro and\n$700,000/year for Enterprise. Per-token prices are on the\npricing page, which links from the\ndocs as https://wandb.ai/site/pricing/inference. The entry records\nfree-tier.","hierarchy":{"lvl0":"Getting Started","lvl1":"W&B Inference Provider Guide","lvl2":"Billing","lvl3":""}},
7068
+ {"objectID":"f8b9aa6cbcecbde8923f5fb17a606ec949e828f47cc0247eeda17305ceeaf3f2","title":"Models","url":"/docs/getting-started/providers/wandb-inference#models","content":"| Model | Context | Vision | $/M in · out | Notes |\n| ------------------------------------ | --------- | ------ | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| openai/gpt-oss-120b ⭐ | 131,072 | no | $0.03 / $0.17 | NeuroLink default. \"Efficient Mixture-of-Experts model designed for high-reasoning, agentic and general-purpose use cases.\" Reasoning page: \"Always on\". |\n| deepseek-ai/DeepSeek-V4-Flash-0731 | 262,144 | no | $0.13 / $0.28 (cache hit $0.07) | \"an MoE model great for coding, reasoning, and agentic workloads.\" |\n| meta-llama/Llama-3.3-70B-Instruct | 128,000 | no | $0.71 / $0.71 | \"Multilingual model excelling in conversational tasks, detailed instruction-following, and coding.\" |\n| openai/gpt-oss-20b | 131,072 | no | $0.03 / $0.13 | \"Lower latency Mixture-of-Experts model trained on OpenAI's Harmony response format with reasoning capabilities.\" Example model on the tool-calling, structured-output and JSON-mode pages. |\n| meta-llama/Llama-3.1-8B-Instruct | 131,072 | no | $0.22 / $0.22 | \"Efficient conversational model optimized for responsive multilingual chatbot interactions.\" Model in the quick-start example on the Serverless Inference page. |\n| ","hierarchy":{"lvl0":"Getting Started","lvl1":"W&B Inference Provider Guide","lvl2":"Models","lvl3":""}},
7069
+ {"objectID":"2cba90b9eaf008d0b2f80d6955bfb863e811cefdc7ffbad0924326d6b9ffb0c0","title":"Verification status","url":"/docs/getting-started/providers/wandb-inference#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the\ncatalog currently records for W&B Inference — docs-verified only, not\nlive-verified:\n\n| Probe | Result |\n| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| Roster | unauthenticated GET https://api.inference.wandb.ai/v1/models answered HTTP 401 on 2026-09-29, so the roster has not been checked; model ids are taken from the models page (retrieved 2026-09-29) |\n| Public catalog cross-check | unauthenticated GET https://trace.wandb.ai/inference/catalog/models answered HTTP 200 with 47 models on 2026-09-29; the 12 catalog ids appear with lifecycleStage general-availability, and their contextWindow and price fields agree with the pricing page |\n| Billing | the usage limits page states credits \"come with Fre","hierarchy":{"lvl0":"Getting Started","lvl1":"W&B Inference Provider Guide","lvl2":"Verification status","lvl3":""}},
7070
+ {"objectID":"34b2bbefc4f61cf12928a6c488788ec71a073c6289ef8663f603feba78528a69","title":"Troubleshooting","url":"/docs/getting-started/providers/wandb-inference#troubleshooting","content":"Each row restates a vendor\nsupport article.\n\n| Symptom | Cause (vendor) | Fix (vendor) |\n| --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |\n| HTTP 401 \"Authentication failed\" | An API key that is \"invalid, expired, or revoked\", or an incorrect W&B project entity name or project name (401 article) | Regenerate the key from your W&B settings; check the project entity and name |\n| HTTP 402 \"You exceeded your current quota\" | No remaining credits, or the monthly spending cap was reached (402 article) | Check plan and billing details, get more credits, or increase limits |\n| HTTP 403 \"Country, region, or territory not supported\" | Access from an unsupported location, determined from the IP address of the request (403 article) | Check the geographic restrictions |\n| HTTP 403 \"The inference gateway is not enabled for your organization\" | The organization has not enabled the inference gateway (403 article) | Ask your organization's W&B administrator to enable it |\n| HTTP 404 ","hierarchy":{"lvl0":"Getting Started","lvl1":"W&B Inference Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
7071
+ {"objectID":"7b7dbebe18fd633fc38d3fd468acacbd26a835078fbe440b03163cea66b65889","title":"See also","url":"/docs/getting-started/providers/wandb-inference#see-also","content":"Provider setup overview\nAll providers\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"W&B Inference Provider Guide","lvl2":"See also","lvl3":""}},
6859
7072
  {"objectID":"884ee0aaccf14df2941d0048aa7934768312271d2cfbd663d43599769dea63cc","title":"xAI Grok Provider Guide","url":"/docs/getting-started/providers/xai","content":"xAI Grok Provider Guide\n\nText + vision generation with the Grok family through a single API\n\nOverview\n\nxAI hosts Elon Musk's Grok family of models behind an OpenAI-compatible\nchat-completions endpoint. NeuroLink wraps api.x.ai/v1 so the same\ngenerate / stream contract used by every other provider works for Grok\nwithout translation.\ngrok-3 — flagship; best for complex reasoning, math, coding\ngrok-3-mini — faster + cheaper variant of Grok 3\ngrok-2-latest — previous flagship; still supported\ngrok-2-vision-latest — multimodal (text + images)\ngrok-beta — pre-release / experimental access\n\nKey Facts\nProtocol: OpenAI-compatible (/v1/chat/completions)\nDefault base URL: https://api.x.ai/v1\nDefault model: grok-3\nContext window: 131K tokens (32K on grok-2-vision-latest)\nVision: Yes — grok-2-vision-latest accepts image inputs\nStreaming: Supported\nTool calling: Supported\nReasoning trace: Not exposed (use Grok-3 for natively-strong reasoning)\n\nQuick Start\nGet an API Key\n\nSign up at https://console.x.ai/ and create an\nAPI key under API Keys.\nConfigure Environment\n\nAdd to your .env file:\nInstall NeuroLink\nGenerate Your First Response\n\nSupported Models\n\n| Model ID | Family | Context | Vision | Notes |\n| ---------------------- | ------------- | ------- | ------ | -------------------------- |\n| grok-3 | Grok 3 | 131K | No | Default; best reasoning |\n| grok-3-mini | Grok 3 Mini | 131K | No | Faster + cheaper Grok 3 |\n| grok-2-latest | Grok 2 | 131K | No | Previous flagship |\n| grok-2-vision-latest | Grok 2 Vision | 32K | Yes | Multimodal text + image |\n| grok-beta | Beta | 131K | No | Pre-release / experimental |\n\nPass any model ID via --model (CLI) or model: (SDK).\n\nSDK Usage\n\nBasic Generation\n\nVision Input (Grok 2 Vision)\n\nStreaming\n\nTool Calling\n\nPer-Call Credential Override\n\nCLI Usage\n\nBasic Commands\n\nProvider Aliases\n\n| Alias | Example |\n| ------ | ----------------- |\n| xai | --provider xai |\n| grok | --provider grok |\n\nConfiguration Reference\n\n| Environment Variable | Required | Default | Description |\n| -------------------- | -------- | --------------------- | ------------------------------- |\n| XAI_API_KEY | Yes | — | xAI API key |\n| XAI_MODEL | No | grok-3 | Default model to use |\n| XAI_BASE_URL | No | https://api.x.ai/v1 | Base URL (override for proxies) |\n\nFeature Support Matrix\n\n| Feature | grok-3 | grok-3-mini | grok-2-latest | grok-2-vision | grok-beta |\n| ----------------- | ------ | ----------- | ------------- | ------------- | --------- |\n| Text generation | Yes | Yes | Yes | Yes | Yes |\n| Streaming | Yes | Yes | Yes | Yes | Yes |\n| Tool calling | Yes | Yes | Yes | Yes | Yes |\n| Structured output | Yes | Yes | Yes | Yes | Yes |\n| Vision / images | No | No | No | Yes | No |\n| Embeddings | No | No | No | No | No |\n\nTroubleshooting\n\n\"Invalid xAI API key\"\n\nThe XAI_API_KEY is missing or incorrect.\n\nGet or rotate keys at https://console.x.ai/.\n\n\"xAI rate limit exceeded\"\n\nToo many requests in a short window. Implement exponential backoff or\nreduce concurrency. Free-tier limits are tight; consider upgrading at\nhttps://console.x.ai/.\n\n\"xAI account has insufficient quota\"\n\nTop up at https://console.x.ai/.\n\n\"Model not found\"\n\nUse one of the documented model IDs above. Custom fine-tunes are not\nexposed through the public API at this time.\n\nSee Also\nAdding a new LLM provider — internal reference for the integration pattern this provider follows\nDeepSeek Provider — sibling OpenAI-compat provider with reasoning models\nGroq Provider — sibling OpenAI-compat provider with sub-100ms inference\n\nNeed Help? Open a GitHub Discussion or issue.","hierarchy":{"lvl0":"Getting Started","lvl1":"xAI Grok Provider Guide","lvl2":"","lvl3":""}},
6860
7073
  {"objectID":"f15e86375a87a665a10229f6826884c69484bcf7465db56c3c727ea4c881b1f0","title":"xAI Grok Provider Guide","url":"/docs/getting-started/providers/xai#xai-grok-provider-guide","content":"Text + vision generation with the Grok family through a single API","hierarchy":{"lvl0":"Getting Started","lvl1":"xAI Grok Provider Guide","lvl2":"xAI Grok Provider Guide","lvl3":""}},
6861
7074
  {"objectID":"2e8b4364c692013eea8d3358e460540319ff35697d870d50a8346b36750d539f","title":"Overview","url":"/docs/getting-started/providers/xai#overview","content":"xAI hosts Elon Musk's Grok family of models behind an OpenAI-compatible\nchat-completions endpoint. NeuroLink wraps api.x.ai/v1 so the same\ngenerate / stream contract used by every other provider works for Grok\nwithout translation.\ngrok-3 — flagship; best for complex reasoning, math, coding\ngrok-3-mini — faster + cheaper variant of Grok 3\ngrok-2-latest — previous flagship; still supported\ngrok-2-vision-latest — multimodal (text + images)\ngrok-beta — pre-release / experimental access","hierarchy":{"lvl0":"Getting Started","lvl1":"xAI Grok Provider Guide","lvl2":"Overview","lvl3":""}},
@@ -6895,6 +7108,17 @@
6895
7108
  {"objectID":"d3945a40a2095e352b8f5f71228a59bbcb1cb60823696dbe20f3fafffe6b7c29","title":"Errors","url":"/docs/getting-started/providers/xor#errors","content":"| Reply | Kind | Retried |\n| ------------------------------------------------------------ | --------------------------------------------------------- | --------- |\n| 401 | authentication — the provider instance stops retrying | no |\n| 403 / 402 | invalid_request — fixable; the instance is not disabled | no |\n| 413, or a 5xx other than 503 saying the context was exceeded | max_tokens_exceeded | no |\n| any other 4xx (for example 422, 404) | invalid_request | no |\n| 429 | rate_limit | yes, once |\n| 503 | overloaded | yes, once |\n| other 5xx | server | yes, once |\n| state over the window (local) | max_tokens_exceeded, with no network call | no |\n| unusable media (local) | invalid_request, with no network call | no |\n| no base URL configured (local) | invalid_request, with no network call | no |\n\nA 403 or 402 is deliberately not authentication. On a LiteLLM proxy a 403\nmeans the key's team does not allow xor-1.1 (team_model_access_denied), and\na 402 means the team has no budget. An admin can fix either, so the provider\ninstance keeps working once it is fixed and is not disabled. A 401 does disable\nthe instance: it stops sending requests after the first rejection, b","hierarchy":{"lvl0":"Getting Started","lvl1":"XOR Provider Guide","lvl2":"Errors","lvl3":""}},
6896
7109
  {"objectID":"37466cda852e51cad898009d283cae74e18a20774a3ca0fad9f146e3efb8a5a9","title":"Troubleshooting","url":"/docs/getting-started/providers/xor#troubleshooting","content":"XOR requires a base URL — set XOR_BASE_URL, or pass\n credentials.xor.baseURL. There is no default endpoint.\nThe XOR base URL must not carry credentials… — the base URL has a user\n name, a password, a query string or a fragment. Set it to the origin only, for\n example https://your-proxy.example.com, and give the key through\n XOR_API_KEY or credentials.xor.apiKey.\nThe XOR base URL must start with https:// or http:// — the value has no\n scheme (for example xor.internal:8080) or uses another scheme. Add\n https:// or http://.\nThe XOR base URL is not a valid absolute URL — the value cannot be\n parsed as a URL. Set it to an absolute origin.\nXOR requires an API key — set XOR_API_KEY, or pass\n credentials.xor.apiKey.\nA 401 — the endpoint rejected the key. The provider instance stops\n retrying after a rejection, so fix the key and construct a new one.\nA 403 with team_model_access_denied — the LiteLLM proxy's team for this\n key does not allow xor-1.1. Add the model to the team; the instance works\n again without a restart.\nmax_tokens_exceeded — the state is over about 200,000 estimated tokens,\n or the state, the questions and the media together are more than the\n deployment's prefill. Shorten the state, or send fewer or smaller images or a\n shorter video.\nImages seem to be ignored — a deployment started without\n OPENJEV_IMAGES=1 answers 200 and silently ignores images, and NeuroLink\n cannot detect that. Send a red image and a blue image and check that the two\n answers differ. Video is not affected.\nBuilt-in routing never uses XOR — a TypeSafe key, or Laya's key and base\n URL, is also set and takes precedence, or XOR has no base URL.","hierarchy":{"lvl0":"Getting Started","lvl1":"XOR Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
6897
7110
  {"objectID":"cdd6e7c83dfa23afa5cf0bb7d23081881600f72a5ac64ca56d383736c209f285","title":"See also","url":"/docs/getting-started/providers/xor#see-also","content":"TypeSafe (Jev) Provider Guide\nLaya Provider Guide\nThe decide inference type\nXOR on Hugging Face","hierarchy":{"lvl0":"Getting Started","lvl1":"XOR Provider Guide","lvl2":"See also","lvl3":""}},
7111
+ {"objectID":"b62066defb7f4f21e315563cc367d3573fb4aacd3fa38685f76f1a3b110c0437","title":"Z.AI Provider Guide","url":"/docs/getting-started/providers/z-ai","content":"Z.AI Provider Guide\n\nZ.AI is a Tier-2 catalog provider: OpenAI-wire-compatible, so its entire\nintegration is one JSON file (src/lib/providers/catalog/z-ai.json) rather\nthan hand-written code. That file is the source of truth for everything on this\npage.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. The vendor's GET https://api.z.ai/api/paas/v4/models needs\na key (it answers HTTP 401 without one), so the model ids come from Z.AI's\npublic docs and the roster has not been checked. No account was created and no\nAPI key was used to build this entry. evidence.liveMatrix is null until\nsomeone runs the live capability matrix with a real key (see\nVerification status below).\n\nKey Facts\nProvider id: z-ai (alias zai)\nProtocol: OpenAI-compatible (/chat/completions). The\n OpenAI Python SDK page\n says \"Z.AI provides interfaces compatible with OpenAI API\" and adds \"In some\n scenarios, there are still differences between Z.AI and OpenAI interfaces, but\n this does not affect overall compatibility.\"\nBase URL: https://api.z.ai/api/paas/v4 — the\n Introduction page calls it\n \"Z.ai Platform's general API endpoint\". Its warning says GLM Coding Plan users\n follow the Coding Plan tutorial to configure a dedicated endpoint, and the\n Coding Plan Endpoint Guide lists\n https://api.z.ai/api/coding/paas/v4 for OpenAI Chat Completions. This entry\n uses the general endpoint; Z_AI_BASE_URL overrides it.\nDefault model: glm-5.3 — the default of the model parameter in the\n Chat Completion reference\n and the model in its request examples\nModels in catalog: 12, curated from the 21 ids the Chat Completion\n reference lists (14 in its text-model enum, 7 in its vision-model enum). The\n nine ids left out to stay inside the 12-model cap are glm-4.5-x,\n glm-4.5-airx, glm-4.5-flash, glm-4-32b-0414-128k, glm-4.6v,\n glm-4.6v-flash, glm-4.6v-flashx, glm-4.5v and\n autoglm-phone-multilingual\nStreaming: supported — the\n Streaming Messages page\n documents stream=True with Server-Sent Events, and the Chat Completion\n reference says the Event Stream ends with a data: [DONE] message\nTool calling: model-dependent — the\n Function Calling page\n documents tools and a returned tool_calls array, and the Chat Completion\n reference says of tool_choice \"The default value is auto, and only auto is\n supported.\" For vision models it says tools are \"Only supported by\n GLM-5.3-Flash series, the GLM-4.6V series, and autoglm-phone-multilingual\"\nTools while streaming: supported (true) — the\n Thinking Mode page\n gives an Interleaved Thinking + Tool Calling example that sends tools with\n stream=True and reads tool_calls from the streamed deltas. The\n Tool Streaming Output page\n documents a separate tool_stream parameter, which this entry does not set.\n The Thinking Mode page also says \"thinking blocks should be explicitly\n preserved and returned together with the tool results.\", and its example\n appends an assistant message carrying reasoning_content and tool_calls\n before the tool message; this entry does not set\n quirks.replayReasoningContent\nStructured output: supported — the\n Structured Output page\n documents response_format set to {\"type\": \"json_object\"}. The Chat\n Completion reference lists text and json_object as the response_format\n type values, so the entry sets quirks.responseFormatDowngrade to send\n json_object for schema requests; generate({ schema }) still validates the\n result client-side. No request with json_schema was sent. The Chat\n Completion reference says of response_format \"Only text models support this\n field.\", and the\n GLM-5.3-Flash/FlashX page\n lists Structured Output among its Capabilities (\"Supports structured output\n formats such as JSON for seamless system integration.\")\nStructured output + tools together: not declared (false) — no combined\n probe was possible without credentials\nVision: glm-5.3-flash and glm-5.3-flashx — the\n GLM-5.3-Flash/FlashX page\n shows Input Modality \"Video / Image / Text / File\". The GLM-5.3 page says\n \"text-only inputs\", and the pages for the other nine catalog models show\n Input Modalities \"Text\"\nEmbeddings: not declared on this catalog entry\nThinking: not declared (false) — the entry sets none of the thinking\n or reasoning_effort request parameters. The Chat Completion reference\n documents both, and the\n GLM-5.3 page says \"GLM-5.3 always\n operates with reasoning enabled\"\nBilling: schema value free-tier, see Billing below\nKey format: none declared. The Introduction page shows the header\n Authorization: Bearer ZAI_API_KEY\n\nQuick Start\nGet an API key\nVisit: https://z.ai/manage-apikey/apikey-list — the Quick Start says to access the Z.AI Open Platform (https://z.ai/model-api) and \"Register or Login.\", then to \"Create an API Key\" in the API Keys management page and \"Copy your API Key for use.\"\nAuthentication is HTTP Bearer: the Introduction page (https://docs.z.ai/api-reference/introduction.md) shows the header Authorization: Bearer ZAIAPIKEY\n","hierarchy":{"lvl0":"Getting Started","lvl1":"Z.AI Provider Guide","lvl2":"","lvl3":""}},
7112
+ {"objectID":"ca9f10745365c71403f5bcba388684ac70aeb8f48c3d7b3fac85b832a4eead37","title":"Z.AI Provider Guide","url":"/docs/getting-started/providers/z-ai#zai-provider-guide","content":"Z.AI is a Tier-2 catalog provider: OpenAI-wire-compatible, so its entire\nintegration is one JSON file (src/lib/providers/catalog/z-ai.json) rather\nthan hand-written code. That file is the source of truth for everything on this\npage.\n\nVerification status: this entry is docs-verified only, not yet\nlive-verified. The vendor's GET https://api.z.ai/api/paas/v4/models needs\na key (it answers HTTP 401 without one), so the model ids come from Z.AI's\npublic docs and the roster has not been checked. No account was created and no\nAPI key was used to build this entry. evidence.liveMatrix is null until\nsomeone runs the live capability matrix with a real key (see\nVerification status below).","hierarchy":{"lvl0":"Getting Started","lvl1":"Z.AI Provider Guide","lvl2":"Z.AI Provider Guide","lvl3":""}},
7113
+ {"objectID":"d509ecad3c62c73f008d7e2f88de10168c19308f90c63101973f3ae4983a7318","title":"Key Facts","url":"/docs/getting-started/providers/z-ai#key-facts","content":"Provider id: z-ai (alias zai)\nProtocol: OpenAI-compatible (/chat/completions). The\n OpenAI Python SDK page\n says \"Z.AI provides interfaces compatible with OpenAI API\" and adds \"In some\n scenarios, there are still differences between Z.AI and OpenAI interfaces, but\n this does not affect overall compatibility.\"\nBase URL: https://api.z.ai/api/paas/v4 — the\n Introduction page calls it\n \"Z.ai Platform's general API endpoint\". Its warning says GLM Coding Plan users\n follow the Coding Plan tutorial to configure a dedicated endpoint, and the\n Coding Plan Endpoint Guide lists\n https://api.z.ai/api/coding/paas/v4 for OpenAI Chat Completions. This entry\n uses the general endpoint; Z_AI_BASE_URL overrides it.\nDefault model: glm-5.3 — the default of the model parameter in the\n Chat Completion reference\n and the model in its request examples\nModels in catalog: 12, curated from the 21 ids the Chat Completion\n reference lists (14 in its text-model enum, 7 in its vision-model enum). The\n nine ids left out to stay inside the 12-model cap are glm-4.5-x,\n glm-4.5-airx, glm-4.5-flash, glm-4-32b-0414-128k, glm-4.6v,\n glm-4.6v-flash, glm-4.6v-flashx, glm-4.5v and\n autoglm-phone-multilingual\nStreaming: supported — the\n Streaming Messages page\n documents stream=True with Server-Sent Events, and the Chat Completion\n reference says the Event Stream ends with a data: [DONE] message\nTool calling: model-dependent — the\n Function Calling page\n documents tools and a returned tool_calls array, and the Chat Completion\n reference says of tool_choice \"The default value is auto, and only auto is\n supported.\" For vision models it says tools are \"Only supported by\n GLM-5.3-Flash series, the GLM-4.6V series, and autoglm-phone-multilingual\"\nTools while streaming: supported (true) — the\n Thinking Mode page\n gives an Interleaved Thinking + Tool Calling example that sends tools with\n stream=True and reads tool_calls from the streamed deltas. The\n Tool Streaming Output page\n docum","hierarchy":{"lvl0":"Getting Started","lvl1":"Z.AI Provider Guide","lvl2":"Key Facts","lvl3":""}},
7114
+ {"objectID":"21edd1dd95f482dff78075a0dc5aa5b26dda6e3a6a69782ee82cafa5ed94d402","title":"1. Get an API key","url":"/docs/getting-started/providers/z-ai#1-get-an-api-key","content":"Visit: https://z.ai/manage-apikey/apikey-list — the Quick Start says to access the Z.AI Open Platform (https://z.ai/model-api) and \"Register or Login.\", then to \"Create an API Key\" in the API Keys management page and \"Copy your API Key for use.\"\nAuthentication is HTTP Bearer: the Introduction page (https://docs.z.ai/api-reference/introduction.md) shows the header Authorization: Bearer ZAIAPIKEY\nBilling as the vendor states it: the Quick Start says to open the Billing Page (https://z.ai/manage-apikey/billing) \"to top up if needed\"; the pricing page (https://docs.z.ai/guides/overview/pricing.md) lists per-1M-token prices and reads \"Free\" for GLM-4.7-Flash, GLM-4.5-Flash and GLM-4.6V-Flash; the Errors page (https://docs.z.ai/api-reference/api-code.md) lists error 1113 as \"Insufficient balance or no resource package. Please recharge.\"\nSet Z_AI_API_KEY in your .env file","hierarchy":{"lvl0":"Getting Started","lvl1":"Z.AI Provider Guide","lvl2":"1. Get an API key","lvl3":""}},
7115
+ {"objectID":"843ff2a713876256ad9fc0c038019dfabb096b5d24643b846946a34cdfdb3127","title":"3. Use it","url":"/docs/getting-started/providers/z-ai#3-use-it","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Z.AI Provider Guide","lvl2":"3. Use it","lvl3":""}},
7116
+ {"objectID":"4155270a44bb3db5f941cee1ae730b43f6363165d829ff2d62b59bb360d65c62","title":"CLI","url":"/docs/getting-started/providers/z-ai#cli","content":"npx @juspay/neurolink generate \"Hello\" --provider z-ai\ntypescript\nawait neurolink.generate({\n input: { text: \"Hello\" },\n provider: \"z-ai\",\n credentials: { zAi: { apiKey: process.env.ZAIAPI_KEY } },\n});\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Z.AI Provider Guide","lvl2":"CLI","lvl3":""}},
7117
+ {"objectID":"1eb07f5bbd381a52caead836ae0eb7ee93a8c55fa78d03c7a438d5a8fb114a95","title":"Billing","url":"/docs/getting-started/providers/z-ai#billing","content":"The Quick Start says to open\nthe Billing Page (https://z.ai/manage-apikey/billing) \"to top up if needed\". The\npricing page lists per-1M-token\nprices, and its Text Models and Vision Models tables read \"Free\" in the Input,\nCached Input, Cached Input Storage and Output cells for GLM-4.7-Flash,\nGLM-4.5-Flash and GLM-4.6V-Flash. The\nErrors page lists error 1113\n(HTTP 429) as \"Insufficient balance or no resource package. Please recharge.\"\n\nThe catalog schema has no unknown billing value, so billingPolicy holds\nfree-tier. It is a schema value, not a vendor statement of signup terms.","hierarchy":{"lvl0":"Getting Started","lvl1":"Z.AI Provider Guide","lvl2":"Billing","lvl3":""}},
7118
+ {"objectID":"648f60c5e569e3e5aecf1becf93ed85a4560517782a480018ce8752c9cccfb05","title":"Models","url":"/docs/getting-started/providers/z-ai#models","content":"| Model | Context | Max output | Vision | $/M in · out (cached) | Notes |\n| ---------------- | ------- | ---------- | ------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------- |\n| glm-5.3 ⭐ | 1M | 128K | no | $1.4 / $4.4 ($0.26) | NeuroLink default. The GLM-5.3 page says \"Z.ai's latest flagship model\" and \"text-only inputs\". |\n| glm-5.3-flash | 1M | 128K | yes | $0.15 / $0.50 ($0.03) | NeuroLink vision model. Input Modality \"Video / Image / Text / File\". |\n| glm-5.3-flashx | 1M | 128K | yes | $0.37 / $1.25 ($0.075) | Input Modality \"Video / Image / Text / File\"; the page states an inference speed of 200 tokens/s for GLM-5.3-FlashX. |\n| glm-5.2 | 1M | 128K | no | $1.4 / $4.4 ($0.26) | Positioning \"Flagship Foundation Model\"; Input Modalities \"Text\". |\n| glm-5.1 | 200K | 128K | no | $1.4 / $4.4 ($0.26) | Positioning \"Flagship Foundation Model\"; Input Modalities \"Text\". |\n| glm-5 | 200K | 128K | no | $1 / $3.2 ($0.2) | Positioning \"Foundation Model\"; Input Modalities \"Text\". |\n| glm-4.7 | 200K | 128K | no | $0.6 / $2.2 ($0.11) | Input Modalities \"Text\". |\n| glm-4.6 | 200K | 128K | no | $0.6 / $2.2 ($0.11) | Input Modalities \"Text\". ","hierarchy":{"lvl0":"Getting Started","lvl1":"Z.AI Provider Guide","lvl2":"Models","lvl3":""}},
7119
+ {"objectID":"0cbf06fa9d8282ad5763a4e6f7a976a067c1fd9f5680c2a16b963a2a428c19c8","title":"Verification status","url":"/docs/getting-started/providers/z-ai#verification-status","content":"Tier-2 onboarding requires evidence before a provider is accepted, and\npnpm run verify:provider-onboarding gates it in CI. This is what the catalog\ncurrently records for Z.AI — docs-verified only, not live-verified:\n\n| Probe | Result |\n| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Roster | unauthenticated GET /api/paas/v4/models answers HTTP 401 without a key (2026-09-29), so model ids are taken from the Chat Completion reference; roster not verified |\n| Auth-failure shape | unauthenticated GET /models and GET /chat/completions each answered HTTP 401 with {\"error\":{\"code\":\"1001\",\"message\":\"Authentication parameter not received in Header, unable to authenticate\"}} (2026-09-29), matching the error shape on the Errors page; errorRules carry the 401, 1113, 1211 and 429 rows |\n| Billing | public pages quoted under Billing; no signup performed ","hierarchy":{"lvl0":"Getting Started","lvl1":"Z.AI Provider Guide","lvl2":"Verification status","lvl3":""}},
7120
+ {"objectID":"c053ed90304908b3ee7e49656ede7b4443240142c6e371accc7fd5c309747c80","title":"Troubleshooting","url":"/docs/getting-started/providers/z-ai#troubleshooting","content":"The rows below are the messages the vendor's\nErrors page lists; NeuroLink's\nerrorRules map them to error classes.\n\n| Symptom | What the Errors page says |\n| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |\n| HTTP 401, error.code 1001 | \"Authentication parameter not received in Header, unable to authenticate\" |\n| HTTP 401, error.code 1000/1003/1005 | \"Authentication Failed\", \"Authentication Token expired, please regenerate/obtain\", \"Need Two-Factor Authentication\" |\n| HTTP 429, error.code 1113 | \"Insufficient balance or no resource package. Please recharge.\" |\n| HTTP 400, error.code 1211 | \"Unknown Model, please check the model code.\" |\n| HTTP 429, error.code 1302 | \"Rate limit reached for requests\" |\n| HTTP 429, error.code 1305 | \"The service may be temporarily overloaded, please try again later\" |","hierarchy":{"lvl0":"Getting Started","lvl1":"Z.AI Provider Guide","lvl2":"Troubleshooting","lvl3":""}},
7121
+ {"objectID":"447e745bbec049089e93b43ce2890da31b8927eae636f7a2120a1fa226c65de6","title":"See also","url":"/docs/getting-started/providers/z-ai#see-also","content":"Provider setup overview\nProviders index\nTier-2 onboarding — how this provider's JSON becomes a working integration\nProvider feature compatibility","hierarchy":{"lvl0":"Getting Started","lvl1":"Z.AI Provider Guide","lvl2":"See also","lvl3":""}},
6898
7122
  {"objectID":"0c175302ade6fc9bb2fdcbec7c1755487a460af75262d0690986771926f57eff","title":"Quick Start","url":"/docs/getting-started/quick-start","content":"{JSON.stringify({\n \"@context\": \"https://schema.org\",\n \"@type\": \"HowTo\",\n \"name\": \"Quick Start with NeuroLink AI Streaming SDK\",\n \"description\": \"Stream AI responses in real-time in under 2 minutes\",\n \"totalTime\": \"PT2M\",\n \"step\": [\n { \"@type\": \"HowToStep\", \"position\": 1, \"name\": \"Install NeuroLink\", \"text\": \"Run: npm install @juspay/neurolink\" },\n { \"@type\": \"HowToStep\", \"position\": 2, \"name\": \"Configure provider\", \"text\": \"Set your API key as an environment variable\" },\n { \"@type\": \"HowToStep\", \"position\": 3, \"name\": \"Stream your first response\", \"text\": \"Use neurolink.stream() with your prompt and provider\" }\n ]\n })}\n\nQuick Start\n\nGet NeuroLink running in under 2 minutes with this quick start guide.\n\n🚀 Prerequisites\nNode.js 18+\nnpm/pnpm/yarn package manager\nAPI key for at least one AI provider (we recommend starting with Google AI Studio - it has a free tier)\n\n⚡ 1-Minute Setup\n\nOption 1: CLI Usage (No Installation)\n\nOption 2: SDK Installation\n\nWrite Once, Run Anywhere\n\nNeuroLink's power is in its provider-agnostic design. Write your code once, and NeuroLink automatically uses the best available provider. If your primary provider fails, it seamlessly falls back to another, ensuring your application remains robust.\n\n🔑 Get API Keys\n\nGoogle AI Studio (Free Tier Available)\nVisit Google AI Studio\nSign in with your Google account\nClick \"Get API Key\"\nCreate a new API key\nCopy and use: export GOOGLE_AI_API_KEY=\"AIza-your-key\"\n\nOther Providers\nOpenAI: platform.openai.com\nAnthropic: console.anthropic.com\nLiteLLM: Access 100+ models through one proxy server (requires setup)\nOllama: Local installation, no API key needed\n\n✅ Verify Setup\n\n🎯 Next Steps\nProvider Setup - Configure multiple AI providers\nCLI Loop Sessions - Try persistent interactive mode with memory\nCLI Commands - Learn all available commands\nSDK Reference - Integrate into your applications\nExamples - See practical implementations\n\nLatest Features:\nMultimodal Chat - Add images to your prompts\nPPT Generation - Generate PowerPoint presentations\nAuto Evaluation - Quality scoring for responses\nGuardrails - Content filtering and safety\n\n🆘 Need Help?\nNot working? Check our Troubleshooting Guide\nQuestions? See our FAQ\nIssues? Report on GitHub","hierarchy":{"lvl0":"Getting Started","lvl1":"Quick Start","lvl2":"","lvl3":""}},
6899
7123
  {"objectID":"b0e8d27136dab32d81f5b9c53bdf83445794816e45d9ff63408060133bc900a6","title":"Quick Start","url":"/docs/getting-started/quick-start#quick-start","content":"Get NeuroLink running in under 2 minutes with this quick start guide.","hierarchy":{"lvl0":"Getting Started","lvl1":"Quick Start","lvl2":"Quick Start","lvl3":""}},
6900
7124
  {"objectID":"a2687d86ecdb83c7819bfdbc797d6c1cf8b8648f676945716697e1b7267b1866","title":"🚀 Prerequisites","url":"/docs/getting-started/quick-start#-prerequisites","content":"Node.js 18+\nnpm/pnpm/yarn package manager\nAPI key for at least one AI provider (we recommend starting with Google AI Studio - it has a free tier)","hierarchy":{"lvl0":"Getting Started","lvl1":"Quick Start","lvl2":"🚀 Prerequisites","lvl3":""}},
@@ -9177,8 +9401,8 @@
9177
9401
  {"objectID":"da986710e206bdfe9e761b9941c084a698a400e499994510b53989e7685fd3a6","title":"Must remain class (14)","url":"/docs/provider-integration/migration-ledger#must-remain-class-14","content":"| Provider | Why |\n| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| bedrock | AWS SigV4/Converse protocol, custom loop, not OpenAI-compatible. Tier 4. |\n| openai | Chat portion is catalog-shaped, but embeddings, image generation, and OpenAI-specific telemetry/errors are executable behavior. |\n| vertex | Two native protocols (Google GenAI + Anthropic-on-Vertex) and multiple modality pipelines behind one provider identity. |\n| anthropic | Native Messages API auth/message/tool semantics are executable protocol behavior.","hierarchy":{"lvl0":"Provider Integration","lvl1":"Provider Descriptor Migration Ledger","lvl2":"Must remain class (14)","lvl3":""}},
9178
9402
  {"objectID":"a4f69e09308f075830f2efa7c1b0126236c5ec0fc12bfe08be21764a627e47a5","title":"Must remain core class (1)","url":"/docs/provider-integration/migration-ledger#must-remain-core-class-1","content":"| Provider | Why |\n| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| openai-compatible | This is the generic protocol surface itself, not a direct vendor. It should consume shared descriptor/config primitives but must never become a fixed-vendor JSON row — collapsing it into the catalog would conflate \"the adapter\" with \"an entry in the adapter's catalog.\" |","hierarchy":{"lvl0":"Provider Integration","lvl1":"Provider Descriptor Migration Ledger","lvl2":"Must remain core class (1)","lvl3":""}},
9179
9403
  {"objectID":"235850085d9102413140920b9d5e5e2ff6113d007c865f5d78012af80fbf1843","title":"Suggested execution order","url":"/docs/provider-integration/migration-ledger#suggested-execution-order","content":"The former steps 1–2 below (mistral; huggingface, deepseek) are complete — see Migrated above. What remains:\nThree shared adapters (local-runtime, embedding-only, image-generation) — each unlocks 3 providers at once; build once, migrate three.\ngoogle-ai descriptor-only JSON metadata — proof of concept for moving static descriptor data out of a \"must remain class\" provider without touching its execution.\nDirect-vendor \"must remain class\" providers (bedrock, openai, vertex, anthropic, azure, sagemaker, nvidia-nim) get descriptor-only JSON metadata migrations, execution untouched — lower priority, cosmetic consolidation only.\nAggregators (litellm, openrouter), the core adapter (openai-compatible), and the decision-only providers (typesafe, laya, xor) are excluded from the first-class-count migration priority entirely — the first three add no direct-vendor coverage however they're implemented, and typesafe/laya/xor are decide-only providers with no generate/stream surface to migrate at all.","hierarchy":{"lvl0":"Provider Integration","lvl1":"Provider Descriptor Migration Ledger","lvl2":"Suggested execution order","lvl3":""}},
9180
- {"objectID":"6122b2e83358a45c64da87c1ca80a2d579cdfb087a6d9dc58b1e02805296b14a","title":"OpenAI-Compatible Provider Catalog","url":"/docs/provider-integration/openai-compat-catalog","content":"OpenAI-Compatible Provider Catalog\n\nEvery OpenAI-compatible provider in the catalog (41 as of 2026-09-28; the\ndirectory is the list) is registered from one JSON file each, under\nsrc/lib/providers/catalog/<id>.json, and served by one generic class,\nConfiguredOpenAICompatProvider\n(src/lib/providers/configuredOpenAICompat.ts). Adding another provider to\nthis family means adding one JSON file — no subclass, no registry edit, no\nhand-written enum member, no test edit.\n\nThe JSON is the source of truth\n\nOPENAI_COMPAT_CATALOG still exists and keeps its name and element type,\nbut it is now built by the loader (src/lib/providers/catalog/loader.ts)\nfrom the JSON files rather than hand-written. Two consumers read the JSON:\nCodegen (pnpm run codegen:catalog) writes the compile-time\n artifacts into marked regions — the AIProviderName member, the\n <Name>Models enum, the NeurolinkCredentials key — plus the generated\n index. Pre-commit and CI fail on stale output.\nThe loader builds the runtime entry; the descriptor, config options,\n context windows, pricing, vision map and model-choice tables all derive\n from it, as do the provider test suites' rows and counts.\n\nEach file is validated by a zod schema (src/lib/providers/catalog/schema.ts)\nwith a mirrored provider-catalog.schema.json for editor squiggles.\nProbe evidence (roster/auth/billing dates, live-matrix result, PR URL)\nlives in the file's evidence block — the old\ndocs/provider-integration/manifests/<id>.json files were folded into it.\n\nField-by-field reference and the escape hatches:\ntiers/tier-2-catalog-entry.md. Design rationale and the approved rulings:\ndocs/superpowers/plans/2026-08-28-provider-json-catalog-spec.md.\n\nWhen a provider belongs in the catalog\n\nA provider belongs in the JSON catalog if it needs only:\na credential (API key, optionally an extra field like Cloudflare's account id)\na base URL (static default + optional env override, or computed from an\n extra credential field)\na default/fallback model\nerror-message classification (auth / rate-limit / invalid-model / generic)\na named, closed catalog quirk. DeepSeek is the worked example: it 400s on\n json_schema structured-output requests, so deepseek.json sets\n quirks.responseFormatDowngrade: \"json-schema-to-json-object\" and the\n generic ConfiguredOpenAICompatProvider downgrades to json_object before\n sending — no subclass. It also sets quirks.replayReasoningContent: true:\n DeepSeek documents that each assistant turn's reasoning_content must go\n back on later requests once tools are in play, so the shared message\n converter and the streaming tool loop send it — for this quirk only, since\n strict OpenAI-compatible backends reject the unknown field.\na wire-proven capability such as\n capabilities.structuredOutputWithTools. The generic provider suppresses\n response_format when tools are attached by default; an explicit true\n keeps it on the same generate() or stream() request. Set this only after\n a combined tools-plus-schema request returned successfully. Separate tool\n and structured-output probes are not evidence for the combined capability.\n A stale opt-in is still protected by the runtime conflict retry, which drops\n structured output and retries rather than losing the turn.\n\nThe currently opted-in providers are Baseten, DeepSeek, Fireworks AI, GMI\nCloud, Inception Labs, io.net Intelligence, Novita AI, Together AI, Upstage and\nxAI. API Route remains opted out because its evidence verifies the features\nseparately, not together in one request. Mistral remains opted out because its\ncombined probes returned 429 twice, not a successful capability response.\n\nWhen a provider needs a dedicated subclass instead\n\nAzure OpenAI is deliberately not in the catalog because it overrides real\nrequest-shaping behavior that no named catalog quirk expresses:\nAzure OpenAI (src/lib/providers/azureOpenai.ts) overrides four hooks:\n getChatCompletionsURL (deployment-name URL routing across two Azure\n endpoint schemes), getAuthHeaders (Azure's api-key header instead of\n Authorization: Bearer), adjustRequestBody (renames max_tokens to\n max_completion_tokens for o-series/gpt-5+ deployments), and\n suppressResponseFormatWithTools (Azure supports both at once).\n\nIf a future provider needs any hook beyond the 3 mandatory ones\n(getProviderName, getDefaultModel, formatProviderError) or the 2\npurely-declarative optional ones (getFallbackModelName,\ngetFallbackModels) and that hook is not already a named catalog quirk, it\nneeds either a new closed quirk (the DeepSeek route) or a dedicated subclass\n(the Azure OpenAI route).\n\nError-message fidelity\n\nEach entry's errorRules is a direct, order-preserving translation of its\noriginal subclass's formatProviderError if/else ladder into rule data\n(status code and/or case-insensitive pattern), classified via\nclassifyProviderError()\n(src/lib/utils/errorClassifier.ts). Every bespoke message string is\npreserved verbatim — including xAI's \"top up your account\" quota URL and\nGroq's d","hierarchy":{"lvl0":"Provider Integration","lvl1":"OpenAI-Compatible Provider Catalog","lvl2":"","lvl3":""}},
9181
- {"objectID":"9a91a5b4a32a9f1e89c6a28f762c3594c4a39d96d32cc9e6e1fa0f5cb3f609e4","title":"OpenAI-Compatible Provider Catalog","url":"/docs/provider-integration/openai-compat-catalog#openai-compatible-provider-catalog","content":"Every OpenAI-compatible provider in the catalog (41 as of 2026-09-28; the\ndirectory is the list) is registered from one JSON file each, under\nsrc/lib/providers/catalog/<id>.json, and served by one generic class,\nConfiguredOpenAICompatProvider\n(src/lib/providers/configuredOpenAICompat.ts). Adding another provider to\nthis family means adding one JSON file — no subclass, no registry edit, no\nhand-written enum member, no test edit.","hierarchy":{"lvl0":"Provider Integration","lvl1":"OpenAI-Compatible Provider Catalog","lvl2":"OpenAI-Compatible Provider Catalog","lvl3":""}},
9404
+ {"objectID":"6122b2e83358a45c64da87c1ca80a2d579cdfb087a6d9dc58b1e02805296b14a","title":"OpenAI-Compatible Provider Catalog","url":"/docs/provider-integration/openai-compat-catalog","content":"OpenAI-Compatible Provider Catalog\n\nEvery OpenAI-compatible provider in the catalog (61 as of 2026-09-29; the\ndirectory is the list) is registered from one JSON file each, under\nsrc/lib/providers/catalog/<id>.json, and served by one generic class,\nConfiguredOpenAICompatProvider\n(src/lib/providers/configuredOpenAICompat.ts). Adding another provider to\nthis family means adding one JSON file — no subclass, no registry edit, no\nhand-written enum member, no test edit.\n\nThe JSON is the source of truth\n\nOPENAI_COMPAT_CATALOG still exists and keeps its name and element type,\nbut it is now built by the loader (src/lib/providers/catalog/loader.ts)\nfrom the JSON files rather than hand-written. Two consumers read the JSON:\nCodegen (pnpm run codegen:catalog) writes the compile-time\n artifacts into marked regions — the AIProviderName member, the\n <Name>Models enum, the NeurolinkCredentials key — plus the generated\n index. Pre-commit and CI fail on stale output.\nThe loader builds the runtime entry; the descriptor, config options,\n context windows, pricing, vision map and model-choice tables all derive\n from it, as do the provider test suites' rows and counts.\n\nEach file is validated by a zod schema (src/lib/providers/catalog/schema.ts)\nwith a mirrored provider-catalog.schema.json for editor squiggles.\nProbe evidence (roster/auth/billing dates, live-matrix result, PR URL)\nlives in the file's evidence block — the old\ndocs/provider-integration/manifests/<id>.json files were folded into it.\n\nField-by-field reference and the escape hatches:\ntiers/tier-2-catalog-entry.md. Design rationale and the approved rulings:\ndocs/superpowers/plans/2026-08-28-provider-json-catalog-spec.md.\n\nWhen a provider belongs in the catalog\n\nA provider belongs in the JSON catalog if it needs only:\na credential (API key, optionally an extra field like Cloudflare's account id)\na base URL (static default + optional env override, or computed from an\n extra credential field)\na default/fallback model\nerror-message classification (auth / rate-limit / invalid-model / generic)\na named, closed catalog quirk. DeepSeek is the worked example: it 400s on\n json_schema structured-output requests, so deepseek.json sets\n quirks.responseFormatDowngrade: \"json-schema-to-json-object\" and the\n generic ConfiguredOpenAICompatProvider downgrades to json_object before\n sending — no subclass. It also sets quirks.replayReasoningContent: true:\n DeepSeek documents that each assistant turn's reasoning_content must go\n back on later requests once tools are in play, so the shared message\n converter and the streaming tool loop send it — for this quirk only, since\n strict OpenAI-compatible backends reject the unknown field.\na wire-proven capability such as\n capabilities.structuredOutputWithTools. The generic provider suppresses\n response_format when tools are attached by default; an explicit true\n keeps it on the same generate() or stream() request. Set this only after\n a combined tools-plus-schema request returned successfully. Separate tool\n and structured-output probes are not evidence for the combined capability.\n A stale opt-in is still protected by the runtime conflict retry, which drops\n structured output and retries rather than losing the turn.\n\nThe currently opted-in providers are Baseten, DeepSeek, Fireworks AI, GMI\nCloud, Inception Labs, io.net Intelligence, Novita AI, Together AI, Upstage and\nxAI. API Route remains opted out because its evidence verifies the features\nseparately, not together in one request. Mistral remains opted out because its\ncombined probes returned 429 twice, not a successful capability response.\n\nWhen a provider needs a dedicated subclass instead\n\nAzure OpenAI is deliberately not in the catalog because it overrides real\nrequest-shaping behavior that no named catalog quirk expresses:\nAzure OpenAI (src/lib/providers/azureOpenai.ts) overrides four hooks:\n getChatCompletionsURL (deployment-name URL routing across two Azure\n endpoint schemes), getAuthHeaders (Azure's api-key header instead of\n Authorization: Bearer), adjustRequestBody (renames max_tokens to\n max_completion_tokens for o-series/gpt-5+ deployments), and\n suppressResponseFormatWithTools (Azure supports both at once).\n\nIf a future provider needs any hook beyond the 3 mandatory ones\n(getProviderName, getDefaultModel, formatProviderError) or the 2\npurely-declarative optional ones (getFallbackModelName,\ngetFallbackModels) and that hook is not already a named catalog quirk, it\nneeds either a new closed quirk (the DeepSeek route) or a dedicated subclass\n(the Azure OpenAI route).\n\nError-message fidelity\n\nEach entry's errorRules is a direct, order-preserving translation of its\noriginal subclass's formatProviderError if/else ladder into rule data\n(status code and/or case-insensitive pattern), classified via\nclassifyProviderError()\n(src/lib/utils/errorClassifier.ts). Every bespoke message string is\npreserved verbatim — including xAI's \"top up your account\" quota URL and\nGroq's d","hierarchy":{"lvl0":"Provider Integration","lvl1":"OpenAI-Compatible Provider Catalog","lvl2":"","lvl3":""}},
9405
+ {"objectID":"9a91a5b4a32a9f1e89c6a28f762c3594c4a39d96d32cc9e6e1fa0f5cb3f609e4","title":"OpenAI-Compatible Provider Catalog","url":"/docs/provider-integration/openai-compat-catalog#openai-compatible-provider-catalog","content":"Every OpenAI-compatible provider in the catalog (61 as of 2026-09-29; the\ndirectory is the list) is registered from one JSON file each, under\nsrc/lib/providers/catalog/<id>.json, and served by one generic class,\nConfiguredOpenAICompatProvider\n(src/lib/providers/configuredOpenAICompat.ts). Adding another provider to\nthis family means adding one JSON file — no subclass, no registry edit, no\nhand-written enum member, no test edit.","hierarchy":{"lvl0":"Provider Integration","lvl1":"OpenAI-Compatible Provider Catalog","lvl2":"OpenAI-Compatible Provider Catalog","lvl3":""}},
9182
9406
  {"objectID":"16e60ee66171009a6638b5110cc8693f90c1a2cfde796c6932c3512d7f7421fb","title":"The JSON is the source of truth","url":"/docs/provider-integration/openai-compat-catalog#the-json-is-the-source-of-truth","content":"OPENAI_COMPAT_CATALOG still exists and keeps its name and element type,\nbut it is now built by the loader (src/lib/providers/catalog/loader.ts)\nfrom the JSON files rather than hand-written. Two consumers read the JSON:\nCodegen (pnpm run codegen:catalog) writes the compile-time\n artifacts into marked regions — the AIProviderName member, the\n <Name>Models enum, the NeurolinkCredentials key — plus the generated\n index. Pre-commit and CI fail on stale output.\nThe loader builds the runtime entry; the descriptor, config options,\n context windows, pricing, vision map and model-choice tables all derive\n from it, as do the provider test suites' rows and counts.\n\nEach file is validated by a zod schema (src/lib/providers/catalog/schema.ts)\nwith a mirrored provider-catalog.schema.json for editor squiggles.\nProbe evidence (roster/auth/billing dates, live-matrix result, PR URL)\nlives in the file's evidence block — the old\ndocs/provider-integration/manifests/<id>.json files were folded into it.\n\nField-by-field reference and the escape hatches:\ntiers/tier-2-catalog-entry.md. Design rationale and the approved rulings:\ndocs/superpowers/plans/2026-08-28-provider-json-catalog-spec.md.","hierarchy":{"lvl0":"Provider Integration","lvl1":"OpenAI-Compatible Provider Catalog","lvl2":"The JSON is the source of truth","lvl3":""}},
9183
9407
  {"objectID":"00a7366eb480e85f5377e0cb8575403e7fd9b33cc028bf95cf0fe48cc94fcea9","title":"When a provider belongs in the catalog","url":"/docs/provider-integration/openai-compat-catalog#when-a-provider-belongs-in-the-catalog","content":"A provider belongs in the JSON catalog if it needs only:\na credential (API key, optionally an extra field like Cloudflare's account id)\na base URL (static default + optional env override, or computed from an\n extra credential field)\na default/fallback model\nerror-message classification (auth / rate-limit / invalid-model / generic)\na named, closed catalog quirk. DeepSeek is the worked example: it 400s on\n json_schema structured-output requests, so deepseek.json sets\n quirks.responseFormatDowngrade: \"json-schema-to-json-object\" and the\n generic ConfiguredOpenAICompatProvider downgrades to json_object before\n sending — no subclass. It also sets quirks.replayReasoningContent: true:\n DeepSeek documents that each assistant turn's reasoning_content must go\n back on later requests once tools are in play, so the shared message\n converter and the streaming tool loop send it — for this quirk only, since\n strict OpenAI-compatible backends reject the unknown field.\na wire-proven capability such as\n capabilities.structuredOutputWithTools. The generic provider suppresses\n response_format when tools are attached by default; an explicit true\n keeps it on the same generate() or stream() request. Set this only after\n a combined tools-plus-schema request returned successfully. Separate tool\n and structured-output probes are not evidence for the combined capability.\n A stale opt-in is still protected by the runtime conflict retry, which drops\n structured output and retries rather than losing the turn.\n\nThe currently opted-in providers are Baseten, DeepSeek, Fireworks AI, GMI\nCloud, Inception Labs, io.net Intelligence, Novita AI, Together AI, Upstage and\nxAI. API Route remains opted out because its evidence verifies the features\nseparately, not together in one request. Mistral remains opted out because its\ncombined probes returned 429 twice, not a successful capability response.","hierarchy":{"lvl0":"Provider Integration","lvl1":"OpenAI-Compatible Provider Catalog","lvl2":"When a provider belongs in the catalog","lvl3":""}},
9184
9408
  {"objectID":"c2a9e3425a4cecb520467f900df8b5fa78fc4178514eba6385040bb9506e48ee","title":"When a provider needs a dedicated subclass instead","url":"/docs/provider-integration/openai-compat-catalog#when-a-provider-needs-a-dedicated-subclass-instead","content":"Azure OpenAI is deliberately not in the catalog because it overrides real\nrequest-shaping behavior that no named catalog quirk expresses:\nAzure OpenAI (src/lib/providers/azureOpenai.ts) overrides four hooks:\n getChatCompletionsURL (deployment-name URL routing across two Azure\n endpoint schemes), getAuthHeaders (Azure's api-key header instead of\n Authorization: Bearer), adjustRequestBody (renames max_tokens to\n max_completion_tokens for o-series/gpt-5+ deployments), and\n suppressResponseFormatWithTools (Azure supports both at once).\n\nIf a future provider needs any hook beyond the 3 mandatory ones\n(getProviderName, getDefaultModel, formatProviderError) or the 2\npurely-declarative optional ones (getFallbackModelName,\ngetFallbackModels) and that hook is not already a named catalog quirk, it\nneeds either a new closed quirk (the DeepSeek route) or a dedicated subclass\n(the Azure OpenAI route).","hierarchy":{"lvl0":"Provider Integration","lvl1":"OpenAI-Compatible Provider Catalog","lvl2":"When a provider needs a dedicated subclass instead","lvl3":""}},