Provider: Tera
Call Tera models through Respan Gateway with unified logs, cost, and latency.
Use Respan Gateway to call Tera models (tera/moonshotai/Kimi-K3) while keeping unified observability (logs, cost, latency, reliability) in Respan.
Paste this into your coding agent:
Help me set up the Respan gateway to call Tera models.
Follow https://www.respan.ai/docs/documentation/agent-setup.mdQuick setup
Get a Respan API key
Sign up and create a key on the API keys page .
Add credits (recommended)
Top up credits to pay through Respan. No Tera key required, Respan handles provider auth and billing.
Prefer to route through your own Tera account? See Use your own Tera key.
Send your first request
Pick the integration that matches your stack. The base URL is https://api.respan.ai/api and the only key needed is your RESPAN_API_KEY.
Tera is OpenAI-compatible. Point the OpenAI SDK at the Respan gateway and call any Tera model with the tera/ prefix.
from openai import OpenAI
client = OpenAI(
api_key="YOUR_RESPAN_API_KEY",
base_url="https://api.respan.ai/api",
)
response = client.chat.completions.create(
model="tera/moonshotai/Kimi-K3",
messages=[{"role": "user", "content": "Hello, Tera!"}],
)
print(response.choices[0].message.content)More integrations
Tera models work with every Respan gateway integration:
Switch models
Change the model parameter to call any supported model through the same client. Use the tera/ prefix to disambiguate when routing across providers. Browse the full list on the Models page .
client.chat.completions.create(model="tera/moonshotai/Kimi-K3", messages=messages)
client.chat.completions.create(model="openai/gpt-6-sol", messages=messages)
client.chat.completions.create(model="anthropic/claude-opus-5-5", messages=messages)Use your own Tera key (BYOK)
Credits are the default path. If you’d rather bill Tera directly, attach your own provider key.
Open Providers
Go to the Providers page .
Add Tera
Select Tera and paste your tera.api_key.
Load balancing (Optional)
Add multiple credential sets and use Load balancing weight to distribute traffic across them.
Override credentials per model (Optional)
Use credential_override when one model on a request should use a different Tera key than the default.
{
"customer_credentials": {
"tera": { "api_key": "YOUR_TERA_API_KEY" }
},
"credential_override": {
"tera/moonshotai/Kimi-K3": { "api_key": "ANOTHER_TERA_API_KEY" }
}
}Log without proxying (Optional)
Already calling Tera directly? Send logs to Respan asynchronously to track cost, latency, and performance for those external calls.
import requests
requests.post(
"https://api.respan.ai/api/request-logs/create/",
headers={
"Authorization": "Bearer YOUR_RESPAN_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "tera/moonshotai/Kimi-K3",
"prompt_messages": [{"role": "user", "content": "Hello, how are you?"}],
"completion_message": {"role": "assistant", "content": "Hello from Tera through Respan."},
"cost": 0.001,
"generation_time": 1.2,
"customer_params": {"customer_identifier": "user_123"},
},
)See the logging guide for the full setup.