@juspay/neurolink
Version:
The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002
118 lines (117 loc) • 7.25 kB
JSON
{
"$schema": "./provider-catalog.schema.json",
"id": "ambient",
"displayName": "Ambient",
"aliases": [],
"tier": 2,
"wire": {
"baseURL": "https://api.ambient.xyz/v1"
},
"models": {
"default": "ambient/large",
"fallbacks": ["z-ai/glm-5.2", "qwen/qwen3.6-27b", "qwen/qwen3.8-27b"],
"defaultContextWindow": 202752,
"defaultMaxOutputTokens": 202752,
"catalog": {
"ambient/large": {
"contextWindow": 202752,
"maxOutputTokens": 202752,
"pricingPerMTok": {
"input": 0.6,
"output": 2.0,
"cachedInput": 0.15
},
"vision": false,
"status": "production",
"description": "Ambient's own recommended default — the model id used in every example on the vendor's docs (the plain chat-completions curl example and the streaming curl example both send model: \"ambient/large\"). Documented as \"an Ambient-managed alias rather than a distinct model. Its specs mirror whatever concrete model it currently points to\" (https://ambient.xyz/docs/build/models, retrieved 2026-09-28); today it mirrors z-ai/glm-5.2 exactly — identical context_length, max_output_length and pricing in the unauthenticated GET https://api.ambient.xyz/v1/models response taken 2026-09-28. Text-only (input_modalities: [\"text\"]); no vision. The live roster's supported_features for this id are tools, json_mode, structured_outputs, reasoning, logprobs — this is the vendor's own server-reported metadata, not a live POST probe (none was possible credential-free), so capabilities.tools and capabilities.structuredOutput are marked true on that basis alone, while the combined capabilities (tools+response_format in one request, tool-call deltas under streaming) are unverified and both structuredOutputWithTools and toolsWithStreaming are left false pending a live-keyed probe. maxOutputTokens equals the context window in the vendor's own catalog entry (202,752 tokens each, i.e. \"198K\" as rounded on the docs models page)."
},
"z-ai/glm-5.2": {
"contextWindow": 202752,
"maxOutputTokens": 202752,
"pricingPerMTok": {
"input": 0.6,
"output": 2.0,
"cachedInput": 0.15
},
"vision": false,
"status": "production",
"description": "The concrete underlying model that ambient/large currently aliases. The vendor's docs models page states \"GLM 5.2 ... is the supported production model\" (https://ambient.xyz/docs/build/models, retrieved 2026-09-28); other catalog ids may be previews with no guarantees. Text-only, no vision. Same live-roster numbers (unauthenticated GET https://api.ambient.xyz/v1/models, 2026-09-28) and the same unverified-combined-capability caveats as ambient/large — kept as a fallback pinned to a concrete id in case the ambient/large alias target changes underneath it."
},
"qwen/qwen3.6-27b": {
"contextWindow": 32768,
"maxOutputTokens": 8192,
"pricingPerMTok": {
"input": 0.32,
"output": 3.2,
"cachedInput": 0.16
},
"vision": true,
"status": "preview",
"description": "Qwen3.6 27B. The live roster's input_modalities are [\"text\",\"image\"] and the vendor's own description reads \"natively multimodal (text + image) dense 27B, hybrid attention. Served FP8 at 32k context, thinking off.\" (unauthenticated GET https://api.ambient.xyz/v1/models, 2026-09-28). The vendor's docs models page marks non-GLM-5.2 entries as possible previews served with no guarantees, so status is preview here. vision: true is taken from input_modalities; set as models.visionModel since the default (ambient/large) is text-only. Same unverified-combined-capability caveats as the other entries (no live POST probe was possible)."
},
"qwen/qwen3.8-27b": {
"contextWindow": 32768,
"maxOutputTokens": 8192,
"pricingPerMTok": {
"input": 0.32,
"output": 3.2,
"cachedInput": 0.16
},
"vision": true,
"status": "preview",
"description": "Qwen3.8 27B. The live roster's own description calls it \"natively multimodal (text + image + video) dense 27B, Apache 2.0, hybrid attention\" but input_modalities lists only [\"text\",\"image\"] — no \"video\" entry — so vision: true here is based on input_modalities, not the prose \"video\" claim, and no video-input support is declared. Same preview status and unverified-combined-capability caveats as qwen3.6-27b (unauthenticated GET https://api.ambient.xyz/v1/models, 2026-09-28)."
}
},
"topModels": [
"ambient/large",
"z-ai/glm-5.2",
"qwen/qwen3.6-27b",
"qwen/qwen3.8-27b"
],
"visionModel": "qwen/qwen3.6-27b"
},
"capabilities": {
"text": true,
"streaming": true,
"tools": true,
"toolsWithStreaming": false,
"structuredOutput": true,
"structuredOutputWithTools": false,
"embeddings": false,
"thinking": true
},
"errorRules": [
{
"status": 401,
"class": "authentication",
"message": "Invalid Ambient API key. Check {apiKeyEnvVar}. Get one at {setupUrl}"
},
{
"status": 400,
"pattern": "Unknown model",
"class": "invalid-model",
"message": "Ambient model '{model}' not found. Pick a current model from the unauthenticated GET https://api.ambient.xyz/v1/models roster or {setupUrl}"
}
],
"setup": {
"url": "https://app.ambient.xyz",
"apiKeyFormat": null,
"billingPolicy": "no-free-tier",
"instructions": [
"1. Visit: https://app.ambient.xyz and sign in",
"2. Click \"Get API key\" to create a key",
"3. Ambient has no free tier — the cheapest option is the $1/mo Starter plan (https://ambient.xyz/pricing); confirm current billing terms before use",
"4. Set {apiKeyEnvVar} in your .env file"
],
"description": "OpenAI- and Anthropic-compatible endpoint at https://api.ambient.xyz/v1 (vendor's own docs: \"Point your OpenAI or Anthropic SDK at Ambient and get verified inference in minutes, no rewrite required\"). Pay-per-token API billing; no free tier. Inference is cryptographically verified via the vendor's \"Proof of Logits\" protocol."
},
"evidence": {
"rosterVerified": {
"date": "2026-09-28",
"method": "unauthenticated GET https://api.ambient.xyz/v1/models — 4 models; credential-free, no key used",
"status": 200
},
"liveMatrix": null,
"addedInPR": "https://github.com/juspay/neurolink/pull/1848"
}
}