Integration

LLM API in Node.js: the official openai SDK without rewriting code

Bots, backends and serverless functions on Node.js switch to Tenzo Cloud by changing baseURL. The rest of the code stays the same and the token bill disappears.

Get a free keyfrom $11 a month per stream · 3 hours with every model, no card

Why connect it

The openai SDK for Node.js works with any OpenAI-compatible address. Pass baseURL and the key when creating the client.

Streaming answers arrive as a regular async iterator, handy for chats and Telegram bots.

How to connect Node.js

You need a key from the dashboard: 3 free hours start right after sign-up. Replace tc-your-key with your key.

  1. Install the package

    The official openai package works.

    terminal
    npm install openai
  2. Store the key

    Put the key into the TENZO_API_KEY environment variable.

    terminal
    export TENZO_API_KEY=tc-your-key
  3. Send a request

    Create a client with the Tenzo Cloud baseURL and pick a model.

    index.mjs
    import OpenAI from 'openai'
    
    const client = new OpenAI({ baseURL: 'https://tenzo-cloud.com/v1', apiKey: process.env.TENZO_API_KEY })
    
    const stream = await client.chat.completions.create({
        model: 'qwen-3.8-max',
        messages: [{ role: 'user', content: 'Hello!' }],
        stream: true,
    })
    for await (const chunk of stream) {
        process.stdout.write(chunk.choices[0]?.delta?.content ?? '')
    }

Common errors and fixes

404 on the first request
Check that baseURL ends with /v1.
401 invalid_api_key, “key not found”
Make sure the whole key is copied with no spaces or quotes and is enabled in the dashboard. Expired keys also return 401.
403 no_access, “no access to this model”
There is no active subscription for this model, or the key does not allow this model or your IP. Check Plans and the key restrictions in the dashboard.
404 model_not_found
The model id is wrong. Use an id from the model list, for example qwen-3.8-max or glm-5.3.
429 concurrency_limit
All your streams are busy or you exceeded 120 requests a minute. Retry in a few seconds or buy more streams, they stack.
503 model_unavailable
The model is under maintenance. Each model’s status is on the status page; switch models with one line.

Pricing

One subscription covers this tool, the chat and your own scripts.

  • Qwen 3.8 Max

    Operational
    1 stream4+ streams, each
    3 days$2.73₸1,150$2.10₸880
    7 days$5.33₸2,280$4.10₸1,750
    30 days$14.30₸6,180$11₸4,750
  • GLM 5.3

    Coming soon
    1 stream4+ streams, each
    3 days$2.86₸1,240$2.20₸950
    7 days$5.72₸2,470$4.40₸1,900
    30 days$15.73₸6,830$12.10₸5,250

Price per stream. Volume discount: 2–3 streams pay 88%, 4 or more pay 77% of the single-stream price. Streams and periods stack. Prices sync from the dashboard automatically.

FAQ

Does it work in edge runtimes?

Yes, the SDK uses fetch, so it works in Node.js, Bun, Deno and edge functions.

How much does it cost and is there a token limit?

A subscription to a model at a fixed price per stream for 3, 7 or 30 days. Tokens are not counted; only concurrent requests and 120 requests a minute per account are limited. The first 3 hours are free, no card.

Do I need a VPN?

No. The API, site and chat work directly from Kazakhstan, Russia and the CIS.

Are my requests stored?

No. Prompts and answers sent through the API are not saved, neither in the database nor in logs. The journal keeps only time, model, status and token count.

Try it on your own work

Three free hours with every model, no card and no VPN. Connect Cursor, Claude Code or your own code in a minute.