Appearance
For clean Markdown of any page, append .md to the page URL. For a complete documentation index, see For full documentation content, see For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at
Cloud Endpoints and Data Residency
Choose LLM Gateway endpoints for data residency requirements.
For the complete documentation index, see llms.txt
LLM Gateway endpoints:
- US (default): `
- EU: `
cURL quickstart (EU endpoint):
bash
curl -X POST "" \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"messages": [
{"role": "user", "content": "Hello!"}
],
"max_tokens": 1000
}'EU endpoint supports Anthropic Claude and Google Gemini only. OpenAI models are US-only.
Choose the endpoint that best fits your application's requirements—whether that's using the default US region or ensuring your data stays within the European Union.
Default Endpoint
The default endpoint (llm-gateway.assemblyai.com) processes your LLM Gateway requests in the US region. If you don't specify a base URL, this is the endpoint used by default.
EU Data Residency
The EU endpoint (llm-gateway.eu.assemblyai.com) guarantees your data never leaves the European Union. This is designed for organizations with strict data residency and governance requirements—your request and response data will remain entirely within the EU.
Endpoints
| Endpoint | Base URL | Description |
|---|---|---|
| US (default) | ` | Data stays in the US |
| EU | ` | Data stays in the EU |
EU model availability
The EU endpoint currently supports Anthropic Claude and Google Gemini models. OpenAI models are only available through the US endpoint.
| Provider | US | EU |
|---|---|---|
| Anthropic Claude | Yes | Yes |
| Google Gemini | Yes | Yes |
| OpenAI GPT | Yes | No |
| Alibaba Cloud Qwen | Yes | No |
| Moonshot AI Kimi | Yes | No |
For a full list of available models, see the LLM Gateway Overview.
Which endpoint should I use?
- No data residency requirements? Use the default endpoint. No configuration change is needed.
- Need EU data residency? Use the EU endpoint to ensure your data stays within the European Union. Note that only Claude and Gemini models are available in the EU region.
How to use it
Update your request URL to your preferred endpoint. Select an endpoint tab below to see examples for each.
The US endpoint is the default. No configuration change is required.
python
import requests
headers = {
"authorization": "<YOUR_API_KEY>"
}
# No URL change needed — US is the default
response = requests.post(
"",
headers=headers,
json={
"model": "claude-sonnet-4-6",
"messages": [
{"role": "user", "content": "What is the capital of France?"}
],
"max_tokens": 1000
}
)
result = response.json()
print(result["choices"][0]["message"]["content"])javascript
// No URL change needed — US is the default
const response = await fetch(
"",
{
method: "POST",
headers: {
authorization: "<YOUR_API_KEY>",
"content-type": "application/json",
},
body: JSON.stringify({
model: "claude-sonnet-4-6",
messages: [{ role: "user", content: "What is the capital of France?" }],
max_tokens: 1000,
}),
}
);
const result = await response.json();
console.log(result.choices[0].message.content);bash
curl -X POST \
"" \
-H "Authorization: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
],
"max_tokens": 1000
}'Use the EU endpoint to keep your data within the European Union.
python
import requests
headers = {
"authorization": "<YOUR_API_KEY>"
}
response = requests.post(
"",
headers=headers,
json={
"model": "claude-sonnet-4-6",
"messages": [
{"role": "user", "content": "What is the capital of France?"}
],
"max_tokens": 1000
}
)
result = response.json()
print(result["choices"][0]["message"]["content"])javascript
const response = await fetch(
"",
{
method: "POST",
headers: {
authorization: "<YOUR_API_KEY>",
"content-type": "application/json",
},
body: JSON.stringify({
model: "claude-sonnet-4-6",
messages: [{ role: "user", content: "What is the capital of France?" }],
max_tokens: 1000,
}),
}
);
const result = await response.json();
console.log(result.choices[0].message.content);bash
curl -X POST \
"" \
-H "Authorization: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
],
"max_tokens": 1000
}'