OpenClaw
OpenClaw custom providers are configured through models.providers. For rout.my, use the OpenAI-compatible openai-completions adapter and the /v1 base URL.
Save your key
bash
export ROUTMY_API_KEY="sk_your_key_here"Ready model IDs
This config is already filled with rout.my defaults:
| Role | Model |
|---|---|
| Primary | openai/gpt-5.4 |
| Fallback | openai/gpt-5.4-mini |
You only need to change them if you intentionally want another exact ID from /v1/models.
Example config
Save this to ~/.openclaw/openclaw.json.
json
{
"agents": {
"defaults": {
"model": {
"primary": "rout/openai/gpt-5.4",
"fallbacks": ["rout/openai/gpt-5.4-mini"]
},
"models": {
"rout/openai/gpt-5.4": { "alias": "Primary via rout.my" },
"rout/openai/gpt-5.4-mini": { "alias": "Fallback via rout.my" }
}
}
},
"models": {
"mode": "merge",
"providers": {
"rout": {
"api": "openai-completions",
"baseUrl": "https://api.rout.my/v1",
"apiKey": "${ROUTMY_API_KEY}",
"models": [
{ "id": "openai/gpt-5.4", "name": "openai/gpt-5.4" },
{ "id": "openai/gpt-5.4-mini", "name": "openai/gpt-5.4-mini" }
]
}
}
}
}OpenClaw uses rout/ as the provider prefix and sends the remaining model ID to rout.my.
Validate
bash
openclaw config validate
openclaw gateway startTest the key
bash
curl https://api.rout.my/v1/chat/completions \
-H "Authorization: Bearer $ROUTMY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-5.4",
"messages": [{ "role": "user", "content": "Hello!" }]
}'