Documentação
⌘K

opencode, Cline, Aider e Continue

Todo agente de terminal que fala OpenAI entende a Tokia: você troca a base URL e a API key. O que costuma dar errado não é a conexão, é o nome do modelo — por isso esta página começa por ele.

1. Descubra o id exato antes de configurar

Não digite o nome do modelo de cabeça nem copie da documentação do provedor. Pergunte para a própria API qual id ela aceita:

curl -H "Authorization: Bearer sk-SUA_CHAVE" \
  https://api.usetokia.com/v1/models

A resposta é a lista dos ids que a sua chave pode pedir, no formato OpenAI ({"data": [{"id": "..."}]}). Cole o id exatamente como aparece ali. Para filtrar só os de texto:

curl -H "Authorization: Bearer sk-SUA_CHAVE" \
  "https://api.usetokia.com/v1/models" | grep -o '"id":"[^"]*"'

A mesma lista, com preço em real e descrição, está em /docs/models.

Se o modelo não existir, a API te diz qual usar

Pedir um id que não existe devolve 404 com o parecido mais próximo — não um erro genérico nem uma resposta vazia:

{
  "error": {
    "code": "model_not_found",
    "requested_model": "z-ai/glm-5.3-flash",
    "did_you_mean": ["openrouter/z-ai/glm-5.3", "openrouter/z-ai/glm-4.7-flash"],
    "models_endpoint": "https://api.usetokia.com/v1/models"
  }
}

Se aparecer isso, troque o id pelo de did_you_mean e repita. Não adianta insistir no mesmo nome: id que não está na lista não é servido.

2. Configure o agente

opencode

No opencode.json do projeto (ou em ~/.config/opencode/opencode.json):

{
  "provider": {
    "tokia": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://api.usetokia.com/v1",
        "apiKey": "sk-SUA_CHAVE"
      },
      "models": {
        "openrouter/z-ai/glm-5.3": { "name": "GLM 5.3 (Tokia)" }
      }
    }
  }
}

A chave dentro de models é o id que vai no corpo da requisição — use um que veio do /v1/models.

Cline (VS Code)

  • API Provider: OpenAI Compatible
  • Base URL: https://api.usetokia.com/v1
  • API Key: sua chave sk-…
  • Model ID: o id copiado da lista

Aider

export OPENAI_API_BASE=https://api.usetokia.com/v1
export OPENAI_API_KEY=sk-SUA_CHAVE

aider --model openai/openrouter/z-ai/glm-5.3

O prefixo openai/ é do Aider (diz qual SDK usar); o resto é o id da Tokia.

Continue

models:
  - name: GLM 5.3 via Tokia
    provider: openai
    model: openrouter/z-ai/glm-5.3
    apiBase: https://api.usetokia.com/v1
    apiKey: sk-SUA_CHAVE

3. Teste antes de usar no editor

Uma chamada direta prova chave, base URL e id de uma vez:

curl https://api.usetokia.com/v1/chat/completions \
  -H "Authorization: Bearer sk-SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openrouter/z-ai/glm-5.3",
    "messages": [{"role": "user", "content": "responda ok"}]
  }'

Problemas comuns

  • 404 model_not_found — o id não existe aqui. Use o que vem em did_you_mean ou liste de novo.
  • 401 — chave revogada ou copiada pela metade. Pegue uma ativa em /dashboard/keys e não crie uma nova a cada erro.
  • 402 — sem saldo ou sem plano. Recarregue em /dashboard/saldo.
  • 429 — limite por minuto da chave. Espere os segundos do header retry-after ou use uma segunda chave.

Se travar em algo que não está aqui, abra um chamado em /suporte — a resposta sai em horas, em português.