ai& Provider Guide
ai& is a Tier-2 catalog provider: OpenAI-wire-compatible with no
behavioural quirks, so its entire integration is one JSON file
(src/lib/providers/catalog/aiand.json) rather than hand-written code. That
file is the source of truth for everything on this page.
Verification status: docs- and roster-verified, not yet live-verified. Every claim on this page comes from ai&'s own public documentation (
https://docs.aiand.com/) and an unauthenticatedGET /v1/modelscall — no API key was created or used, and no chat/stream/tool-call request was ever sent. Treat capability flags as "documented", not "proven against a live response". See Verification status below.
Key Facts
- Provider id:
aiand - Protocol: OpenAI-compatible (
/v1/chat/completions); also exposes an Anthropic-shaped/v1/messages, a/v1/responsesendpoint, and legacy/v1/completions - Base URL:
https://api.aiand.com/v1 - Default model:
openai/gpt-oss-120b(the model used in ai&'s own quickstart example) - Models in catalog: 11
- Streaming: documented (SSE,
stream: true,data: [DONE]terminal event) - Tool calling: documented (OpenAI
tools/tool_choice/parallel_tool_calls, gated per-model on atool_callingcapability flag — all 11 current models have it) - Structured output: documented —
response_format: json_object(JSON mode) andresponse_format: json_schemawithstrict: true. Combinedtools+response_formatin the same request was not probed (no key used), sostructuredOutputWithToolsisfalse. - Thinking / reasoning effort: documented — a
reasoning_effortrequest parameter whose accepted values are per-model (read from each model'sreasoning_effortsinGET /v1/models) - Embeddings: not documented — no embeddings endpoint appears anywhere in the docs navigation
- Billing: no free tier — prepaid credits only, purchased via Stripe Checkout; a zero balance returns HTTP 402
- Key format: keys start with
sk-; no further pattern documented
Quick Start
1. Get an API key
- Visit: https://console.aiand.com/playground and sign in (Google, GitHub, or a magic-link email — https://docs.aiand.com/authentication/)
- Create an organization API key under Organizations → API Keys (https://docs.aiand.com/organizations/api-keys/) — shown in full only once, and starts with sk-
- ai& 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
- Set
AIAND_API_KEYin your .env file
2. Configure
export AIAND_API_KEY=your-api-key
export AIAND_MODEL=openai/gpt-oss-120b # optional — overrides the default model
export AIAND_BASE_URL=https://api.aiand.com/v1 # optional — proxy or regional override
3. Use it
import { NeuroLink } from "@juspay/neurolink";
const neurolink = new NeuroLink();
const result = await neurolink.generate({
input: { text: "Explain context windows in one paragraph." },
provider: "aiand",
model: "openai/gpt-oss-120b",
});
console.log(result.content);
# CLI
npx @juspay/neurolink generate "Hello" --provider aiand
Per-request credentials work as they do for every provider:
await neurolink.generate({
input: { text: "Hello" },
provider: "aiand",
credentials: { aiand: { apiKey: process.env.AIAND_API_KEY } },
});
Models
| Model | Context | Vision | $/M in · out · cached | Notes |
|---|---|---|---|---|
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). |
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). |
zai-org/glm-5.2 | 1M | no | $1.00 / $4.00 / $0.30 | Prior GLM generation. reasoning_effort: none/high/max (default max). |
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). |
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). |
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). |
moonshotai/kimi-k2.7-code | 262K | listed (see note) | $0.75 / $3.50 / $0.20 | Coding-focused Kimi model. reasoning_effort: high only. |
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). |
qwen/qwen3.6-27b | 262K | listed (see note) | $0.32 / $3.20 / $0.20 | Qwen vision-language model. reasoning_effort: none/high (default high). |
motif-technologies/motif-3 | 262K | no | $0.50 / $2.00 / $0.20 | 314B-parameter MoE, 13.2B active per token. reasoning_effort: none/high (default high). |
google/gemma-4-31b-it | 262K | listed (see note) | $0.20 / $0.50 / $0.05 | Largest Gemma 4 instruction model. reasoning_effort: none/high (default none). |
Vision note: five models list a vision capability on GET /v1/models,
but ai&'s vision docs (/capabilities/vision/) describe images and video as
uploaded once through the Files API and then referenced by file_id in
the chat request — not the inline base64 image_url data-URI shape most
other NeuroLink providers use. That flow was not exercised here (no API key
was used), so no model is marked vision: true
(models.visionModel) in the catalog entry and this should be treated as
unverified until a live probe confirms the wire shape NeuroLink sends
actually works against it.
Context window and pricing are from the unauthenticated GET /v1/models
response, retrieved 2026-09-28, cross-checked against the docs' Models
Catalog page (/models/catalog/). ai&'s docs define context_window as the
combined input+output token budget, with no separately published
max-output-tokens figure — hence defaultMaxOutputTokens in the catalog
equals defaultContextWindow.
Fallback order when the default is unavailable: zai-org/glm-5.3 →
zai-org/glm-5.2 → deepseek-ai/deepseek-v4-pro →
deepseek-ai/deepseek-v4-flash → moonshotai/kimi-k3 →
moonshotai/kimi-k2.7-code → qwen/qwen3.8-27b → qwen/qwen3.6-27b →
motif-technologies/motif-3 → google/gemma-4-31b-it.
Verification status
Tier-2 onboarding requires evidence before a provider is accepted, and
pnpm run verify:provider-onboarding gates it in CI. This entry was built
without credentials, from ai&'s public documentation and one
unauthenticated GET request — no signup, no API key, no POST request to the
vendor was made. This is what the catalog records for ai&:
| Probe | Result |
|---|---|
| Roster | unauthenticated GET https://api.aiand.com/v1/models, HTTP 200, 2026-09-28 — 11 models, cross-checked against /models/catalog/ and /models/pricing/ |
| 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/, not observed live |
| Live capability sweep | not performed. evidence.liveMatrix is null. capabilities.tools, .structuredOutput, .streaming and .thinking are set from ai&'s documented request parameters (tools, response_format, stream, reasoning_effort — see https://docs.aiand.com/api/chat-completions/), not from an executed request. structuredOutputWithTools is false because the combined tools + response_format request that would prove it was never sent. |
Before this entry graduates past docs-only status, someone with a funded
account should run the live-verification steps in
Tier-2 onboarding: Live verification —
an authenticated roster probe, an auth-failure probe, and the capability
matrix (npx tsx test/continuous-test-suite-provider-matrix.ts --provider=aiand)
— and update evidence.liveMatrix with the result.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
Invalid ai& API key | AIAND_API_KEY unset or wrong | Check the key at https://console.aiand.com/playground |
HTTP 402 / insufficient credits | ai& is prepaid-only with no free tier | Add credits via Stripe Checkout at https://docs.aiand.com/billing/credits/ |
429 rate limited | Documented per-key/per-org rate limits | Check the X-RateLimit-Policy response header and back off |
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) |
| 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 |
See also
- Provider setup overview
- All providers
- Tier-2 onboarding — how this provider's JSON becomes a working integration
- Provider feature compatibility