Cloud Horizon AI / Use cases
The LLM API for EU SaaS founders.
Ship AI features without the awkward "your data goes to OpenAI" conversation in every German enterprise sales call. Drop-in OpenAI-SDK compatible, billed in EUR, governed under Dutch law.
Six workflows your enterprise buyer can sign off on
The AI features your German bank or French insurer wants from you, without a Schrems II carve-out from legal. Each one ships in days, not quarters.
In-product support copilot
Pain
Your support tickets are 70% repeats of the docs. Your CSMs answer the same five questions every Monday.
Fix
RAG over your help centre, your changelog, and the last 90 days of solved tickets. Drops into your existing support widget. Escalates to a human on anything it is not 95% confident on.
In-app document Q&A
Pain
Your customers upload PDFs and want to ask questions about them. You do not want their financial statements crossing the Atlantic.
Fix
Embeddings index per tenant, retrieval through your existing document storage, generation in Amsterdam or Frankfurt. Per-tenant log retention, per-tenant audit trail.
Multilingual onboarding
Pain
You sell into eight EU languages. Your onboarding tour is in English. Your activation rate in DACH is 30% lower than in the UK.
Fix
Generate localised onboarding copy from one source. Glossary of preserved product terms. Same tour, eight languages, no translation agency invoice.
Sales call summarisation
Pain
Your AEs forget to log call notes. The CRM has 60% coverage. Forecast accuracy reflects that.
Fix
Pipe call transcripts through a structured prompt. JSON out: account, stage, next step, blockers. Pushes to Hubspot or Salesforce automatically.
Localised marketing copy
Pain
Your launch blog is in English. The Dutch translation costs €600 per post and takes a week.
Fix
Draft from your English source, your brand voice guide, and your past localised content. Reviewer fixes the nuances. Two hours, not a week.
GDPR-friendly user feedback synthesis
Pain
Your in-app NPS comments contain customer names, account references, and the occasional rant. Pasting that into a US tool is a privacy violation waiting to happen.
Fix
EU-only embeddings, EU-only generation, default zero log retention. Cluster the themes, surface the top five, ship to product weekly.
Drops into the SDK you already use
OpenAI-compatible API. Override the base URL, keep the rest of your code, the swap is one line. Tested with the libraries your team already ships against.
| Library | Common stack | Integration notes |
|---|---|---|
| Vercel AI SDK | Next.js, SvelteKit, Nuxt | Drop-in via openai provider with custom baseURL |
| LangChain JS | Node, Bun, Deno | ChatOpenAI with baseURL override |
| LangChain Python | FastAPI, Django, Flask | ChatOpenAI from langchain-openai |
| LiteLLM | Any backend | Universal proxy, swap providers without code change |
| OpenAI Node SDK | Node 18+ | baseURL flag, otherwise identical |
| OpenAI Python SDK | Python 3.9+ | OPENAI_BASE_URL env var, drop-in replacement |
Per-tenant isolation, EU residency, audit-ready
Set tenant, region, and audit tag in headers per request. Your SaaS gets multitenant LLM access without rebuilding your auth or rebuilding your privacy posture.
// In-app document Q&A with tenant isolation
// Vercel AI SDK, swap baseURL, the rest is identical
import { createOpenAI } from '@ai-sdk/openai'
import { generateText } from 'ai'
const cloudHorizon = createOpenAI({
baseURL: 'https://api.cloudhorizons.ai/v1',
apiKey: process.env.CLOUD_HORIZONS_KEY,
headers: {
'Cloud-Horizons-Tenant': tenantId,
'Cloud-Horizons-Region': 'eu-ams-1',
'Cloud-Horizons-Audit-Tag': `doc-qa-${docId}`,
},
})
const { text } = await generateText({
model: cloudHorizon('kimi-k2.5'),
system: 'Answer from the provided context. Cite paragraph numbers.',
prompt: `Document: ${docContext}\n\nQuestion: ${question}`,
}) Why EU SaaS founders pick us
A clean answer to the procurement security review
Spot Cloud B.V. (KvK 89708873), Dutch processor, EU-only inference, no US parent, signed DPA on team plans, billing in EUR. The questionnaire your enterprise buyer sends takes an hour to answer instead of three weeks of legal back-and-forth.
Join the waitlist