Zukko Blog

Guides to Claude Code, Cursor, Codex and the Claude and GPT APIs: setup, token savings and troubleshooting.

Async OpenAI requests in Python: thousands of calls with retries and accounting

6 min · · development

A working script for a batch of thousands of requests: capped concurrency, retries only where they help, and token and cost accounting.

LLM model cascade: cheap model first, strong model on escalation

5 min · · development

How to build a cascade: the cheap model answers first, hard cases go to the strong one. Python code, threshold calibration and a cost formula.

GPT-6.1 Sol via API: setup, pricing and caching in Zukko

5 min · · models

How to call GPT-6.1 Sol with a Zukko key, what it costs, how to check caching via cached_tokens, and which models to compare it with.

Claude via /v1/messages or /v1/chat/completions: what happens to caching

5 min · · экономия

Claude answers in both formats, but only the Anthropic format gives the cache discount. The cost difference and how to switch your code and tools.

Prompt caching: how cache reads and writes are billed in Zukko

7 min · · экономия

What the bill is made of when prompt caching works: fresh input, cache reads, cache writes and output. The formula and two examples at current prices.

LobeChat (LobeHub): connect Zukko via the UI and environment variables

7 min · · development

LobeChat, now LobeHub, works with any OpenAI-compatible API. We cover setup in the UI and via env, a cost estimate and the usual errors.

Cherry Studio: add Zukko as an API provider

5 min · · development

Cherry Studio connects third-party APIs as providers. Here is what to put in API Host, how to add models, and why you must switch the provider on.

Chatbox: connect your own Zukko API key

5 min · · development

Chatbox lets you add your own provider with your own key. We cover the API Host and API Path fields, adding models and typical errors.

LibreChat: Zukko as a custom endpoint in librechat.yaml

5 min · · development

LibreChat connects third-party providers through librechat.yaml. Here is a ready config for Zukko, the Docker mount and the usual errors.

Open WebUI: connect to Zukko via Docker and the admin panel

6 min · · development

Open WebUI works with any OpenAI-compatible API. Here is the launch command, the Connections setup, a cost estimate and a list of common errors.

A Discord bot on Claude or GPT: a minimal example

4 min · · development

Twenty lines of code and one API key, and Claude or GPT is answering in a Discord channel. A working example plus the errors that show up under load.

Building a mobile app on the Claude or GPT API

4 min · · development

A key baked into a mobile binary ends up in someone else's hands sooner or later. A backend-proxy architecture with working Kotlin, Swift, and Node examples.

Streaming responses — when you actually need stream: true

4 min · · development

stream: true is not for every case. Here is how to read the event stream, where it actually matters, and what usually breaks in it.

How to write system prompts that actually work

3 min · · development

Most system prompts fail not because of the model but because of the wording. Here is what actually changes behavior and what models just ignore.

Pulling billing history via GET /v1/usage for your own reports

5 min · · API

When you need to know exactly what each client or project cost, clicking through a dashboard does not scale. Here is how to pull the full history through the API.

Balance via API: building your own spend dashboard

4 min · · API

The dashboard shows a balance, but it will not aggregate spend by model and day the way you actually need. Here is how to build one from three API data sources.

An autonomous agent from scratch: a minimal working example

4 min · · агенты

An agent is not a library, it is a three-step loop. Building a minimal working example on the raw API, no framework required.

Extracting structured data from documents

4 min · · development

Manually parsing invoices, receipts, and forms doesn't scale. How to hand that work to a vision model and get valid JSON back.

A minimal RAG pipeline on your own data

5 min · · development

RAG doesn't have to start with a vector database. Here's a minimal scheme: when a long context window is enough, and when you actually need retrieval.

Automated code review on Claude via API

4 min · · development

Setting up Claude in GitHub Actions to comment on pull requests, without double-charging on job retries or blowing the budget on one huge diff.

Which model writes the best Python code

4 min · · models

Instead of a ranking of "the best model for Python," a working method — run the same task through several models and compare honestly, on your own tests.

Function calling across Claude, GPT and GLM: what actually differs

4 min · · development

The tool-calling format depends on the endpoint you hit, not the model behind it. Comparing /v1/messages, /v1/chat/completions and /v1/responses.

Your own Telegram bot on Claude or GPT: a minimal example

3 min · · development

Building a minimal Telegram bot with aiogram that calls Claude or GPT through the gateway. Full code, plus what to do about balance and rate-limit errors right in the chat.

LangChain: pointing base_url at the gateway instead of OpenAI

4 min · · development

In LangChain it comes down to one parameter — base_url. Exact code for ChatOpenAI and ChatAnthropic to reach Claude, GPT and GLM through the gateway.

Zukko Blog — guides to Claude Code, Cursor and the API — page 9