Docs

Models

Helmcode serves seven open-weight models behind one OpenAI-compatible API at https://api.helmcode.com/v1. Every model works the same way: only the model id changes. Use the id exactly as shown. For limits and quotas, see Rate limits.

Language models

deepseek-v4-flash sota flagship 284B MoE · 21B active · FP8 · 1M context

Flagship for complex, agentic work: long documents, deep codebases, and multi-step tool use.

Capabilities
Tool calling · reasoning · streaming (SSE)
Best for
Reasoning, agents, long-context analysis
qwen3.6 35B MoE · 3B active · FP8 · 256K context

One model, three input types — image, audio, text — and it returns text.

Capabilities
Vision · audio · tool calling · reasoning (max_tokens ≥ 300)
Best for
Multimodal chat, document + media understanding
gemma4 26B MoE · 4B active · FP8 · 256K context

Built for throughput: speculative decoding delivers ~2× tokens per second.

Capabilities
Tool calling (XML) · reasoning · vision · streaming
Best for
High-volume RAG, classification, code completion

Embeddings & reranking

qwen3-embedding 8B · 4096 dimensions · Float32 · MMTEB 70.58

Multilingual semantic embeddings for retrieval and search.

Capabilities
100+ languages · 60 rpm · batch 32
Best for
RAG retrieval, semantic search, classification
rerank Qwen3-Reranker-8B · BF16 · /v1/rerank

Cross-lingual reranking: reorders retrieved passages by actual relevance.

Capabilities
100+ languages · 1000 rpm
Best for
The middle step of RAG (embedding → rerank → LLM)

Speech

kokoro 82M params · <1s latency · 67 voices

Real-time text-to-speech with sub-second latency.

Capabilities
Voices incl. ef_dora (ES), em_alex (ES), af_heart (EN) · 15 rpm
Best for
Live agents, IVR, voice UIs
whisper-large-v3 99+ languages · 3.2% WER (Spanish)

Speech-to-text with automatic language detection.

Capabilities
25MB / ~2 min per request · 10 rpm · OGG/Opus, MP3
Best for
Transcription, meeting notes, voice search

On Dedicated and On-premise plans you can also run custom or fine-tuned models on hardware reserved for you. See Examples for how to call each family.


separate offer · paid from credit · runs outside the EU

Frontier models from OpenAI, Anthropic and Google

The same API also serves nine frontier models from three US providers. This is a separate offer from the open-weight catalogue above, and they differ in the two things that decide a model for most buyers: who runs the hardware, and what pays for the tokens.

Nothing above changes. Our own models keep running on hardware we operate in the EU, and a monthly plan keeps covering them at a flat rate.

They run on the provider’s infrastructure, in the United States

Each of these models runs on Anthropic, Google or OpenAI. Your messages, attachments and the replies are sent to whichever of them serves the model you pick, and processed on that provider’s infrastructure outside the EU. Our own models run on hardware we operate in the EU and nothing leaves it. The console shows the same notice next to the model you are choosing, because that is the moment the decision gets made.

Paid by the token, out of prepaid credit

No monthly plan covers them, at any tier, with any allowance left. An organisation with a plan and no credit still sees them and can select one, and the request is refused until the balance is topped up. Your plan allowance is left untouched and keeps working on our own models.

Provider list price, no markup on inference

On input, output and cache reads we pass each provider’s list price through with nothing added. What we publish is exactly what we debit, which is what lets you reconcile a statement against the rate card line by line. Our revenue on these models is the fee charged when you buy credit, not your consumption.

The nine models

Same catalogue and same key as everything above. They are returned by the model list endpoint alongside our own, and the id is the only thing that changes.

Model Provider
claude-fable-5 Anthropic US
claude-opus-5 Anthropic US
claude-sonnet-5 Anthropic US
claude-haiku-4-5 Anthropic US
gpt-5.6-sol OpenAI US
gpt-5.6-terra OpenAI US
gpt-5.6-luna OpenAI US
gemini-3.6-flash Google US
gemini-3.5-flash-lite Google US
The Helmcode console dashboard: a thirty-day usage chart by model, and the list of available models where the nine resold ones sit alongside our own.
The nine appear in the same model list as our own, in the console.

Where the price is, and why it moves

The rates are not published here, deliberately. A rate lives in exactly one place, and that place is the thing that charges it: your console, under Credits, on the Private models tab. There you get the full price list, the four rates per model (input, output, cached input and cache write), and what each model has cost you so far.

The price list in the Helmcode console: nine models with their provider, a US residency marker, and four rate columns for input, cached input, cache write and output.
The price list in the console: nine models, their provider, the US residency marker and the four rates. That is the rate your requests are billed at.

Open the price list in the console

Those rates move, and it is worth knowing why, so that a change does not read as a whim of ours. We pass each provider’s list price through with no margin, which means we are not the ones setting it: when a provider reprices, ours follows the same day. And because we charge in euros while the providers publish in dollars, the euro amount also follows the euro to dollar reference rate. Both of those sit outside our control, which is exactly why the number belongs in one always-current place rather than on a page that can quietly go stale between deploys.

Anthropic charges for writing a prompt cache, the other two do not

A prompt cache lets a model re-read a long prefix (a system prompt, a document, a codebase) without paying the full input rate for it again. OpenAI and Google charge a reduced rate to read one and nothing at all to create it. Anthropic charges a premium to write and a discount to read, which makes the write a fourth billed class rather than a discount, and that is why the price list carries a cache write column that is empty for the other six models.

We publish and debit one Anthropic cache write rate, whatever the lifetime of the entry. Anthropic itself bills less for a short-lived cache, so on those writes our rate sits above theirs. We publish it instead of folding it into the input rate, because a rate we charge and do not show would be a markup in everything but name. Your statement lists all four quantities separately, so the arithmetic stays checkable: quantity times published rate, for each of the four, adds up to what was charged.

Calling one

Same base URL, same key, same request body. Only the model id changes.

curl https://api.helmcode.com/v1/chat/completions \
  -H "Authorization: Bearer $HELMCODE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

If the balance runs out the API answers 402 credits_exhausted and only these models refuse: everything your plan covers keeps answering, so one refusal is not an outage. The balance never goes negative. When a request costs more than what is left we charge what was there and absorb the difference.

How credit works: buying it, the purchase fee, running out and reconciling it