Key facts
| Dutch register | Formal u and informal je must stay consistent in prompts and outputs |
| Tokenisation | Long compound nouns split into subwords — measure with the Plugsky token calculator |
| Locale variants | Netherlands and Flemish vocabulary differ; evaluate both |
| API compatibility | OpenAI-compatible POST https://api.plugsky.com/v1/chat/completions — chat, streaming, JSON mode and function calling |
| Models | 30+ models behind one endpoint, from free tiers to frontier reasoning |
| Free tier | Free plan with plugsky-micro and plugsky-lite, no card required |
| Deployment | Plugsky cloud, your VPC, on-prem and air-gapped options |
| Product status | Chat, streaming, JSON mode, function calling, embeddings, RAG and agents live; audio, images, batch and fine-tuning coming soon |
TL;DR
- Use the same OpenAI-compatible endpoint for Dutch — one base_url change.
- Compounds split into multiple tokens; measure real templates.
- Pin u or je address consistently in the system prompt.
- Split Netherlands and Belgian vocabulary in your eval set.
- plugsky-embed-multilingual handles Dutch and English retrieval.
How it works, step by step
- Create a Plugsky API key on the free plan (no card) and set base_url to https://api.plugsky.com/v1.
- Send a small set of real Dutch prompts to /v1/chat/completions and compare output across two or three models.
- Count tokens for those prompts with the Plugsky token calculator and set chunk sizes that fit your model context.
- Normalise text before indexing or prompting: NFC-normalise accents and standardise ij spelling before indexing.
- For RAG, embed with plugsky-embed-multilingual and test cross-language queries alongside Dutch-only queries.
- Score candidate models on a Dutch gold set with native-speaker review, then cut production traffic over.
Try it yourself
Open the OpenAI-compatible API tester →
How Plugsky handles Dutch text
Dutch uses the Latin alphabet and reads left to right, with compound nouns, the ij digraph and accents borrowed from French.
Formal u and informal je change the whole sentence, and Netherlands and Belgian (Flemish) Dutch differ in everyday vocabulary.
Evaluate with native reviewers on formal and informal samples and check compound spelling; Dutch readers notice wrong address forms before almost anything else.
Tokenisation and cost in Dutch
Dutch is close to English in token efficiency, but long compounds such as fietsenstalling and ziekenhuisafdeling split into several subword tokens. Hyphenation and English loanwords affect counts too.
- Keep formal or informal address consistent across system prompt and examples.
- Split or simplify long compounds in retrieval keys.
- Treat Netherlands and Belgian vocabulary as separate eval buckets.
- Count tokens for your actual support templates, not dictionary text.
Dutch retrieval and RAG
Dutch documents and English queries retrieve well from one multilingual collection; test Flemish and Netherlands vocabulary variants separately for precision.
- Use plugsky-embed-multilingual for Dutch and English corpora.
- NFC-normalise accents and keep ij spelling consistent.
- Keep u/je variants in separate eval slices.
- Add synonyms for cross-border vocabulary.
Code example: a Dutch request
Point your existing OpenAI client at https://api.plugsky.com/v1 and pass Dutch text in the content field — no language flag and no separate endpoint. Streaming, JSON mode and function calling keep the same request shapes.
client = OpenAI(base_url="https://api.plugsky.com/v1", api_key=os.environ["PLUGSKY_API_KEY"])
client.chat.completions.create(model="plugsky-pro", messages=[{"role": "user", "content": "Vat dit contract samen in drie punten in het Nederlands."}])
Start on the free plan with plugsky-micro and plugsky-lite, then compare paid models on a Dutch gold set before cutover. See the docs for request details.
For production, log the model name and your normalisation settings with each request, and re-run the Dutch gold set whenever either changes — language quality regressions usually come from prompt or preprocessing drift, not from the model alone.
Honest comparison
| Capability | Plugsky | Dutch workflow today | Building in-house |
|---|---|---|---|
| API compatibility | OpenAI-compatible — change base_url and model name | Varies by provider and SDK | Full rewrite |
| Dutch text handling | Compound-aware prompts and a clear u/je register | Depends on provider tokeniser and prompt hygiene | You build normalisation, segmentation and evals |
| Token budget | Fixed tokeniser per model; measure with the Plugsky token calculator and chunk to fit | Varies by provider and model | You host and tune each tokeniser |
| Multilingual retrieval | plugsky-embed-multilingual available for cross-language RAG | Often needs a separate embedding vendor | You serve and maintain embeddings |
| Sovereignty | Cloud, VPC, on-prem and air-gapped with residency options | Usually US/EU public endpoints | You own the full stack |
Frequently asked questions
Can Plugsky handle Dutch text?
Yes. The API accepts UTF-8 Dutch input on the OpenAI-compatible chat endpoint; output quality depends on the model, so compare two or three on your own prompts before choosing.
How do I estimate token usage for Dutch?
Dutch is close to English in token efficiency, but long compounds such as fietsenstalling and ziekenhuisafdeling split into several subword tokens. Use the token calculator at /tools/llm-token-calculator before sizing context windows or chunk lengths.
Should I use u or je?
Match the relationship: u for formal, je for consumer and community content. Inconsistent address forms are the most common Dutch quality complaint.
Does Belgian Dutch need separate handling?
Vocabulary differs from Netherlands Dutch, so keep eval slices for both. One multilingual embedding collection can still serve both.
Is there a multilingual embedding model?
Yes — plugsky-embed-multilingual is part of the 30+ model catalogue and is built for cross-language retrieval. Keep one embedding model per vector collection.
Can I keep data in my region?
Plugsky supports cloud, VPC, on-prem and air-gapped deployment with data-residency options; confirm your requirements with the docs and the enterprise team.
How do I migrate an existing app?
Change base_url to https://api.plugsky.com/v1 and map the model name. Streaming, JSON mode, function calling and embeddings keep the same request shapes.
Is there a free plan?
Yes — the free plan includes two free models, plugsky-micro and plugsky-lite, with no card. A 14-day full-access trial unlocks the paid catalogue.