Telnyx Provider Guide
Telnyx is a Tier-2 catalog provider: its integration is one JSON file
(src/lib/providers/catalog/telnyx.json) rather than hand-written code.
That file is the source of truth for this page.
Verification status: this entry is docs-verified only, not yet live-verified. Telnyx's
GET /v2/ai/openai/modelsneeds a key (it answers HTTP 401 without one), so the model ids come from Telnyx's public models page and the roster has not been checked. No account was created and no API key was used to build this entry.evidence.liveMatrixisnulluntil someone runs the live capability matrix with a real key (see Verification status below).
Key Facts
- Provider id:
telnyx - Protocol: OpenAI-compatible (
/chat/completions) — the Quickstart says "The Inference API is OpenAI-compatible." - Base URL:
https://api.telnyx.com/v2/ai/openai - Default model:
zai-org/GLM-5.3-Flash— NeuroLink default. The models page tags it "(Recommended)", and the Quickstart's first chat-completions example uses it - Models in catalog: 9 — the nine chat models the models page lists on 2026-09-29
- Streaming: supported — the Quickstart's Streaming section says "Server-sent events, same as OpenAI."
- Tool calling:
true— the Function Calling page says "While we recommend you start with this model, every model in our API supports the tools interface." - Tools while streaming:
true— the Streaming and Parallel Calls page shows a streamed chat completion withtoolsonzai-org/GLM-5.3-Flash - Structured output:
true— the JSON Mode page documentsresponse_formatwithjson_schemaand withjson_object - Structured output + tools together: not declared (
false) — no combined probe was run without credentials - Embeddings: not declared on this catalog entry. The models page lists
three embedding models on
POST /v2/ai/openai/embeddings, but NeuroLink's genericConfiguredOpenAICompatProvider(which every Tier-2 catalog entry uses) does not implementembed()/embedMany(), so this flag tracks that, not the vendor's own API surface - Thinking: not declared — the
Chat Completions reference
documents
reasoning_effortand the Quickstart documents areasoning_contentresponse field, but this entry sets no reasoning request parameter - Max output tokens:
models.defaultMaxOutputTokensis 8192, themax_tokensdefault the Chat Completions reference states. The reference also says "Reasoning models consume this budget across reasoning and answer tokens combined." - Vision: each model's
visionfield isfalse, a placeholder for a boolean the catalog schema requires; it is not a vendor statement - Billing: see Billing below
- Key format: none declared
Quick Start
1. Get an API key
- Visit: https://telnyx.com/sign-up and create a Telnyx account — the Inference API Quickstart (https://developers.telnyx.com/docs/inference/getting-started) lists a "Telnyx account" and an "API Key" under Prerequisites
- Create an API key at https://portal.telnyx.com/#/app/auth/v2, the link the Quickstart gives for the API Key
- Authentication is HTTP Bearer: the Service tiers page (https://developers.telnyx.com/docs/inference/service-tiers) shows a curl request to https://api.telnyx.com/v2/ai/openai/models with the header Authorization: Bearer $TELNYX_API_KEY
- Billing as the vendor states it: see Billing below
- Set
TELNYX_API_KEYin your .env file (the docs' examples readTELNYX_API_KEY)
2. Configure
export TELNYX_API_KEY=your-api-key
export TELNYX_MODEL=zai-org/GLM-5.3-Flash # optional — overrides the default model
export TELNYX_BASE_URL=https://api.telnyx.com/v2/ai/openai # optional — proxy or self-hosted gateway
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: "telnyx",
model: "zai-org/GLM-5.3-Flash",
});
console.log(result.content);
# CLI
npx @juspay/neurolink generate "Hello" --provider telnyx
Per-request credentials work as they do for every provider:
await neurolink.generate({
input: { text: "Hello" },
provider: "telnyx",
credentials: { telnyx: { apiKey: process.env.TELNYX_API_KEY } },
});
Billing
billingPolicy in the catalog file is recorded as unknown in the growth queue;
the catalog schema has no unknown value, so the file holds no-free-tier as a
placeholder. It is not a vendor statement of signup terms.
What the vendor's pages say:
- The Inference pricing page shows a plan named PAY AS YOU GO described as "Standard rates. Card on file. Automatic tier discounts as usage crosses thresholds, no contract needed."
- The docs pricing page says "Pay-per-token. No minimums, no commitments." and points to telnyx.com/pricing/inference-api for current per-model pricing.
Models
| Model | Context | Vision | $/M in · out (cached) | Notes |
|---|---|---|---|---|
zai-org/GLM-5.3-Flash ⭐ | 1M | false placeholder | $0.135 / $0.450 (cached $0.027) | NeuroLink default. Best For "Efficient multimodal coding and agentic workflows", tagged "(Recommended)"; the Quickstart's example model. |
zai-org/GLM-5.3 | 1M | false placeholder | $1.250 / $4.000 (cached $0.240) | Fallback. Best For "Complex coding and long-horizon agent tasks"; pricing row "GLM-5.3 — Flagship frontier intelligence". |
deepseek-ai/DeepSeek-V4.1-Flash | 1M | false placeholder | $0.300 / $1.200 (cached $0.006) | Fallback. Best For "Low-latency multimodal inference"; the Service tiers page's Flex example model. |
moonshotai/Kimi-K3 | 1M | false placeholder | $2.700 / $13.500 (cached $0.270) | Fallback. Best For "State-of-the-art open-weight intelligence for coding, reasoning, and multimodal work". |
moonshotai/Kimi-K2.6 | 256K | false placeholder | $0.665 / $4.000 (cached $0.080) | Fallback. Best For "Voice AI"; Voice AI column "Verified — default". |
zai-org/GLM-5.2 | 1M | false placeholder | $1.000 / $4.000 (cached $0.200) | Fallback. Best For "Coding, reasoning, 1M context window"; Voice AI column "Verified". |
MiniMaxAI/MiniMax-M3-MXFP8 | 1M | false placeholder | $0.270 / $1.100 (cached $0.080) | Fallback. Best For "Cheapest while maintaining high intelligence". |
deepseek-ai/DeepSeek-V4-Flash-0731 | 1M | false placeholder | not set | Fallback. Best For "Advanced coding, tool use, and long-horizon agentic workflows". |
Qwen/Qwen3.8-27B | 256K | false placeholder | $0.400 / $3.000 (cached $0.050) | Fallback. Best For "Multimodal coding and visual understanding across documents, diagrams, and video"; Voice AI column "Not supported". |
Model ids, Context Length labels and the Best For text are read from
the models page,
retrieved 2026-09-29. contextWindow is NeuroLink's decimal reading of the
label (1M is 1,000,000 and 256K is 256,000).
models.defaultContextWindow (128,000) is a placeholder the vendor does not
publish, for model ids outside the catalog.
Prices come from the second of the three chat-completions tables on
the Inference pricing page (the
page's selector lists Flex, Default and Priority in that order; the docs
pricing page says omitting service_tier uses default). That page names rows
by display name, and NeuroLink matched each row to a models-page id. The row
"DeepSeek V4 Flash — Ultra-fast, cost-efficient inference" is not matched to a
models-page id, so deepseek-ai/DeepSeek-V4-Flash-0731 has no price in the catalog.
Fallback order when the default is unavailable follows the models page's row
order: zai-org/GLM-5.3 → deepseek-ai/DeepSeek-V4.1-Flash →
moonshotai/Kimi-K3 → moonshotai/Kimi-K2.6 → zai-org/GLM-5.2 →
MiniMaxAI/MiniMax-M3-MXFP8 → deepseek-ai/DeepSeek-V4-Flash-0731 →
Qwen/Qwen3.8-27B.
Verification status
Tier-2 onboarding requires evidence before a provider is accepted, and
pnpm run verify:provider-onboarding gates it in CI. This is what the catalog
currently records for Telnyx — docs-verified only, not live-verified:
| Probe | Result |
|---|---|
| Roster | unauthenticated GET https://api.telnyx.com/v2/ai/openai/models answers HTTP 401 without a key, 2026-09-29; model ids come from the models page and the roster has not been checked |
| Auth-failure shape | unauthenticated GET /models: HTTP 401, header www-authenticate: Bearer resource_metadata="https://api.telnyx.com/.well-known/oauth-protected-resource", JSON body errors[0] code 10009, title "Authentication failed", detail "Could not find any usable credentials in the request." An unauthenticated GET /chat/completions answered HTTP 404 with code 10005, title "Resource not found". No POST request was sent. errorRules holds one rule, for status 401 |
| Billing | public pricing pages quoted under Billing, 2026-09-29; no signup was performed |
| Streaming / tools / structured output | documented on the Quickstart, Function Calling, Streaming and Parallel Calls and JSON Mode pages; these were not exercised live, and no combined tools+schema request was sent — structuredOutputWithTools stays false |
| Live capability sweep | not run. evidence.liveMatrix is null. Before treating this provider as production-ready, run npx tsx test/continuous-test-suite-provider-matrix.ts --provider=telnyx with a real key and record the result. |
Do not treat this entry as equivalent to a live-verified Tier-2 provider
(e.g. FriendliAI, Novita AI) until that live matrix has been run and
evidence.liveMatrix is filled in.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
HTTP 401, code 10009 | Telnyx's error catalog describes 10009 "Authentication failed" as "The required authentication headers were either invalid or not included in the request." | Set TELNYX_API_KEY; the docs' examples read the same variable |
| 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 |
See also
- Provider setup overview
- All providers
- Tier-2 onboarding — how this provider's JSON becomes a working integration
- Provider feature compatibility