OpenCode
On this page
OpenCode talks to us over OpenAI Chat Completions. The provider is described in the config, and the key comes from an environment variable.
What is verified. We have not yet verified this setup with a live run of OpenCode against our API. From the OpenCode documentation (read on November 9, 2026) we took: @opencode/ai/providers/openai-compatible, settings.baseURL, models. Not checked against the documentation: the other lines of the example ($schema, model, providers, env) and the name of the config file. If something does not match, tell support.
Setup#
Add a provider to the OpenCode config:
// The key comes from the environment: export AIC_API_KEY=sk-aic-…
{
"$schema": "https://opencode.ai/config.json",
"model": "aic/gpt-6-astra",
"providers": {
"aic": {
"name": "AI Creator",
"package": "@opencode/ai/providers/openai-compatible",
"env": ["AIC_API_KEY"],
"settings": { "baseURL": "https://api.aicreator.app/v1" },
"models": {
"gpt-6-astra": { "name": "GPT-6 Astra" }
}
}
}
}Set the key in the environment before you start OpenCode:
export AIC_API_KEY=sk-aic-…settings.baseURL—https://api.aicreator.app/v1, with/v1at the end.env— the environment variable that holds the key. Keep the key itself out of the config: a project file is committed to the repository.models— the models of this provider. Add the ones you need by their full id.model— the default model asprovider/model; the provider here isaic.
Models#
Any model on the Chat protocol will do; they are listed in Models and prices. A key of the models block is the model’s id on our list, letter for letter. The API itself gives the list for your key:
curl "https://api.aicreator.app/v1/models?surface=chat" \
-H "Authorization: Bearer $AIC_API_KEY"An id that is not on the list returns 400 model_not_available.
Things to know#
- One key runs up to 4 requests at a time; the next one gets 429
concurrent_requestswith aretry-afterheader. - A Chat Completions stream of ours always ends with a chunk that has an empty
choices: []and the token usage; that is how we charge by actual tokens. - From Russia, if
https://api.aicreator.appis unreachable, setsettings.baseURLtohttps://api-ru.aicreator.app/v1: the key and the balance are the same.
If a request fails, see Troubleshooting.