Skip to content

OpenCode

OpenCode uses one config file. You can keep OpenAI, Anthropic, and Gemini providers in the same file.

Config path:

txt
~/.config/opencode/opencode.json

You 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"
            }
          }
        }
      }
    }
  }
}