SCX.ai
Overview​
| Property | Details |
|---|---|
| Description | SCX.ai is an Australian sovereign AI platform serving open models over an OpenAI-compatible API, hosted on renewable-powered infrastructure. |
| Provider Route on LiteLLM | scx-ai/ |
| Link to Provider Doc | SCX.ai Documentation ↗ |
| Base URL | https://api.scx.ai/v1 |
| Supported Operations | /chat/completions |
We support ALL SCX.ai chat models, just set scx-ai/ as a prefix when sending completion requests
Available Models​
| Model | Description | Context Window | Max Output |
|---|---|---|---|
scx-ai/GLM-5.2 | Z.ai GLM-5.2, a 753B sparse MoE for long-horizon agentic coding | 1,048,576 tokens | 131,072 tokens |
scx-ai/Qwen3.8-Max | Alibaba Qwen3.8 Max, a 2.4T sparse MoE taking text and image input | 1,000,000 tokens | 131,072 tokens |
Both models support reasoning, function calling, JSON mode and JSON schema output. scx-ai/Qwen3.8-Max additionally accepts image input. Prompt caching is applied automatically on both, and cache hits are reported in usage.prompt_tokens_details.cached_tokens and billed at the cached input rate.
Required Variables​
Environment Variables
os.environ["SCX_API_KEY"] = "" # your SCX.ai API key
Usage - LiteLLM Python SDK​
Non-streaming​
SCX.ai Non-streaming Completion
import os
import litellm
from litellm import completion
os.environ["SCX_API_KEY"] = "" # your SCX.ai API key
messages = [{"content": "Hello, how are you?", "role": "user"}]
# SCX.ai call
response = completion(
model="scx-ai/GLM-5.2",
messages=messages
)
print(response)
Streaming​
SCX.ai Streaming Completion
import os
import litellm
from litellm import completion
os.environ["SCX_API_KEY"] = "" # your SCX.ai API key
messages = [{"content": "Write a short story about AI", "role": "user"}]
# SCX.ai call with streaming
response = completion(
model="scx-ai/GLM-5.2",
messages=messages,
stream=True
)
for chunk in response:
print(chunk)
Function Calling​
SCX.ai Function Calling
import os
import litellm
from litellm import completion
os.environ["SCX_API_KEY"] = "" # your SCX.ai API key
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather in a location",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "The city, e.g. Sydney"
}
},
"required": ["city"]
}
}
}]
messages = [{"role": "user", "content": "What's the weather in Sydney?"}]
response = completion(
model="scx-ai/GLM-5.2",
messages=messages,
tools=tools,
tool_choice="auto"
)
print(response)
Structured Output​
SCX.ai JSON Schema Output
import os
from litellm import completion
os.environ["SCX_API_KEY"] = "" # your SCX.ai API key
response = completion(
model="scx-ai/GLM-5.2",
messages=[{"role": "user", "content": "The city is Sydney"}],
response_format={
"type": "json_schema",
"json_schema": {
"name": "city",
"schema": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
"additionalProperties": False,
},
},
},
)
print(response)
Vision​
Image input is supported on scx-ai/Qwen3.8-Max. Images must be at least 10 pixels on each side.
SCX.ai Image Input
import os
from litellm import completion
os.environ["SCX_API_KEY"] = "" # your SCX.ai API key
response = completion(
model="scx-ai/Qwen3.8-Max",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "What colour fills this image?"},
{"type": "image_url", "image_url": {"url": "https://example.com/image.png"}},
],
}],
)
print(response)
Usage - LiteLLM Proxy Server​
config.yaml
model_list:
- model_name: glm-5.2
litellm_params:
model: scx-ai/GLM-5.2
api_key: os.environ/SCX_API_KEY
- model_name: qwen3.8-max
litellm_params:
model: scx-ai/Qwen3.8-Max
api_key: os.environ/SCX_API_KEY
Custom API Base​
Option 1: Environment variable
Custom API Base via env var
import os
from litellm import completion
os.environ["SCX_API_BASE"] = "https://custom.scx.ai/v1"
os.environ["SCX_API_KEY"] = "" # your API key
response = completion(
model="scx-ai/GLM-5.2",
messages=[{"content": "Hello!", "role": "user"}],
)
Option 2: Pass directly
Custom API Base via parameter
from litellm import completion
response = completion(
model="scx-ai/GLM-5.2",
messages=[{"content": "Hello!", "role": "user"}],
api_base="https://custom.scx.ai/v1",
api_key="your-api-key",
)
Supported OpenAI Parameters​
temperaturemax_tokensmax_completion_tokenstop_pfrequency_penaltypresence_penaltystopnstreamstream_optionstoolstool_choiceresponse_formatseedlogit_biaslogprobstop_logprobs
max_completion_tokens is sent upstream as max_tokens. SCX.ai accepts temperature in the range [0.0, 2.0) and rejects 2.0 itself, so LiteLLM clamps anything higher to 1.99.