Appearance
OpenCode
OpenCode uses one config file. You can keep OpenAI, Anthropic, and Gemini providers in the same file.
Config path:
txt
~/.config/opencode/opencode.jsonYou can also use opencode.jsonc. Create the file manually if it does not exist.
opencode.json
Replace each API key placeholder with the CE API key for that provider: OpenAI, Anthropic, or Gemini.
json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"openai": {
"options": {
"baseURL": "https://codex-easy.ai/v1",
"apiKey": "<your-openai-ce-api-key>"
},
"models": {
"gpt-5.5": {
"name": "GPT-5.5",
"limit": {
"context": 1050000,
"output": 128000
},
"options": {
"store": false
},
"variants": {
"low": {},
"medium": {},
"high": {},
"xhigh": {}
}
},
"gpt-5.4": {
"name": "GPT-5.4",
"limit": {
"context": 1050000,
"output": 128000
},
"options": {
"store": false
},
"variants": {
"low": {},
"medium": {},
"high": {},
"xhigh": {}
}
},
"gpt-5.4-mini": {
"name": "GPT-5.4 Mini",
"limit": {
"context": 400000,
"output": 128000
},
"options": {
"store": false
},
"variants": {
"low": {},
"medium": {},
"high": {},
"xhigh": {}
}
}
}
},
"anthropic": {
"options": {
"baseURL": "https://codex-easy.ai/v1",
"apiKey": "<your-anthropic-ce-api-key>"
},
"npm": "@ai-sdk/anthropic"
},
"gemini": {
"options": {
"baseURL": "https://codex-easy.ai/v1beta",
"apiKey": "<your-gemini-ce-api-key>"
},
"npm": "@ai-sdk/google",
"models": {
"gemini-3.5-flash": {
"name": "Gemini 3.5 Flash",
"limit": {
"context": 1048576,
"output": 65536
},
"modalities": {
"input": ["text", "image", "pdf"],
"output": ["text"]
}
},
"gemini-3.1-pro": {
"name": "Gemini 3.1 Pro",
"limit": {
"context": 1048576,
"output": 65536
},
"modalities": {
"input": ["text", "image", "pdf"],
"output": ["text"]
},
"options": {
"thinking": {
"budgetTokens": 24576,
"type": "enabled"
}
}
}
}
}
}
}