Custom SLAs
Terminal is adding request-level SLA controls so you can define latency and cost preferences without changing endpoints. These headers are not live yet.from openai import OpenAI
client = OpenAI(
base_url="https://api.terminal.fyi/v1",
api_key="TERMINAL_API_KEY",
)
response = client.chat.completions.create(
model="gemma-4-31b",
messages=[
{
"role": "user",
"content": "Extract launch-review action items and group them by owner.",
}
],
max_tokens=8000,
extra_headers={
"X-Terminal-SLA-Deadline": "10m",
"X-Terminal-SLA-Priority": "cost",
},
timeout=1800.0,
)
print(response.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.terminal.fyi/v1",
apiKey: process.env.TERMINAL_API_KEY,
});
const response = await client.chat.completions.create(
{
model: "gemma-4-31b",
messages: [
{
role: "user",
content: "Extract launch-review action items and group them by owner.",
},
],
max_tokens: 8000,
},
{
headers: {
"X-Terminal-SLA-Deadline": "10m",
"X-Terminal-SLA-Priority": "cost",
},
timeout: 1_800_000,
},
);
console.log(response.choices[0].message.content);
import requests
response = requests.post(
"https://api.terminal.fyi/v1/chat/completions",
headers={
"Authorization": "Bearer TERMINAL_API_KEY",
"Content-Type": "application/json",
"X-Terminal-SLA-Deadline": "10m",
"X-Terminal-SLA-Priority": "cost",
},
json={
"model": "gemma-4-31b",
"messages": [
{
"role": "user",
"content": "Extract launch-review action items and group them by owner.",
}
],
"max_tokens": 8000,
},
timeout=1800,
)
response.raise_for_status()
completion = response.json()
print(completion["choices"][0]["message"]["content"])
const response = await fetch("https://api.terminal.fyi/v1/chat/completions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.TERMINAL_API_KEY}`,
"Content-Type": "application/json",
"X-Terminal-SLA-Deadline": "10m",
"X-Terminal-SLA-Priority": "cost",
},
body: JSON.stringify({
model: "gemma-4-31b",
messages: [
{
role: "user",
content: "Extract launch-review action items and group them by owner.",
},
],
max_tokens: 8000,
}),
signal: AbortSignal.timeout(1_800_000),
});
if (!response.ok) throw new Error(await response.text());
const completion = await response.json();
console.log(completion.choices[0].message.content);
curl -sS --max-time 1800 https://api.terminal.fyi/v1/chat/completions \
-H "Authorization: Bearer $TERMINAL_API_KEY" \
-H "Content-Type: application/json" \
-H "X-Terminal-SLA-Deadline: 10m" \
-H "X-Terminal-SLA-Priority: cost" \
-d '{
"model": "gemma-4-31b",
"messages": [
{
"role": "user",
"content": "Extract launch-review action items and group them by owner."
}
],
"max_tokens": 8000
}' | jq