Key facts
| German script | Latin script with umlauts and ß; locale spelling varies across de-DE, de-AT and de-CH |
| Tokenisation | Compound nouns fragment into many subwords — measure with the Plugsky token calculator |
| Register | Sie and du change pronouns and verb forms — keep one per product |
| 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
- One base_url change covers German — same SDK, same request shape.
- Long compounds fragment into subword tokens; measure real text.
- Pin Sie or du and Austrian or Swiss spelling in the prompt.
- Keep ß for de-DE and de-AT, use ss for de-CH.
- plugsky-embed-multilingual handles German and English RAG.
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 German 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 umlauts and keep locale-correct ß or ss.
- For RAG, embed with plugsky-embed-multilingual and test cross-language queries alongside German-only queries.
- Score candidate models on a German gold set with native-speaker review, then cut production traffic over.
Try it yourself
How Plugsky handles German text
German uses the Latin alphabet, capitalises all nouns and forms long compound words; ß appears in Germany and Austria but not Switzerland.
Sie and du signal formality, and Austrian and Swiss vocabulary and spelling — ss instead of ß — differ from German German.
Evaluate on a German gold set with Sie/du and compound nouns; check grammatical gender and case, where errors are immediately visible to native readers.
Tokenisation and cost in German
German compounds such as Datenschutzgrundverordnung fragment into many subword tokens, and noun capitalisation plus umlauts add variability, so token counts per sentence often run above English for equivalent content.
- Split compounds for retrieval synonyms; keep them intact in prompts.
- Map umlauts to ae/oe/ue only for keyword search, never for display.
- Pin Sie or du and one national variant per product.
- Measure tokens on legal or technical templates where compounds are densest.
German retrieval and RAG
German and English retrieval works with one multilingual collection; test Swiss ss spelling and Austrian vocabulary as separate slices.
- Use plugsky-embed-multilingual for German and English corpora.
- NFC-normalise umlauts and keep ß where the locale uses it.
- Add compound synonyms for keyword search.
- Evaluate per-country spelling variants.
Code example: a German request
Point your existing OpenAI client at https://api.plugsky.com/v1 and pass German 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": "Fasse diesen Vertrag in drei Punkten auf Deutsch zusammen."}])
Start on the free plan with plugsky-micro and plugsky-lite, then compare paid models on a German 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 German gold set whenever either changes — language quality regressions usually come from prompt or preprocessing drift, not from the model alone.
Honest comparison
| Capability | Plugsky | German workflow today | Building in-house |
|---|---|---|---|
| API compatibility | OpenAI-compatible — change base_url and model name | Varies by provider and SDK | Full rewrite |
| German text handling | Compound-aware prompts and one Sie/du plus locale spelling | 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 German text?
Yes. The API accepts UTF-8 German 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 German?
German compounds such as Datenschutzgrundverordnung fragment into many subword tokens, and noun capitalisation plus umlauts add variability, so token counts per sentence often run above English for equivalent content. Use the token calculator at /tools/llm-token-calculator before sizing context windows or chunk lengths.
Sie or du?
Use Sie for business, finance and public-sector products; du for consumer apps. Keep it consistent across system prompts and examples.
What about Swiss German spelling?
Swiss German uses ss instead of ß and has different vocabulary. Treat de-CH as its own eval slice if you serve Switzerland.
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.