Coding Agents¶
Coding agents that speak the OpenAI Chat Completions or Responses API can use Verda models. The Console gives you a ready-made config for OpenCode and Pi Coder for each model: open the model's page and pick your client in the code sample.
The examples below use Kimi K3.1 Pro. They read your key from the VERDA_INFERENCE_API_KEY environment variable, so export it first:
OpenCode¶
// Save to ~/.config/opencode/opencode.jsonc
// Export VERDA_INFERENCE_API_KEY, then run: opencode service restart
{
"$schema": "https://opencode.ai/config.json",
"model": "verda/kimi-k3-1-pro",
"provider": {
"verda": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://inference.verda.com/v1",
"apiKey": "{env:VERDA_INFERENCE_API_KEY}"
},
"models": {
"kimi-k3-1-pro": {
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
}
}
}
}
}
Pi Coder¶
Save this to ~/.pi/agent/models.json:
{
"providers": {
"verda": {
"name": "Verda",
"baseUrl": "https://inference.verda.com/v1",
"api": "openai-completions",
"apiKey": "$VERDA_INFERENCE_API_KEY",
"authHeader": true,
"models": [
{
"id": "kimi-k3-1-pro",
"name": "Kimi K3.1 Pro",
"reasoning": true,
"thinkingLevelMap": {
"off": null,
"minimal": null,
"low": "low",
"medium": "medium",
"high": "high",
"xhigh": "max"
},
"compat": {
"supportsDeveloperRole": false,
"supportsReasoningEffort": true
},
"input": ["text", "image"],
"contextWindow": 1048576,
"maxTokens": 32768
}
]
}
}
}
thinkingLevelMap maps Pi's thinking levels to the model's reasoning_effort values, so Pi's xhigh uses max.
Codex¶
Codex uses the Responses API. Add this to ~/.codex/config.toml:
web_search = "disabled"
model = "kimi-k3-1-pro"
model_provider = "verda"
model_reasoning_effort = "high"
[model_providers.verda]
name = "Verda"
base_url = "https://inference.verda.com/v1"
env_key = "VERDA_INFERENCE_API_KEY"
wire_api = "responses"
Use another model¶
Copy the config from the model's page in the Console. It already states what the model supports, such as tool calling, image input or reasoning, in the form each client expects.