O que você está configurando
O Cursor é um editor que suporta provedores de modelos personalizados. Se você fornecer uma base URL estilo OpenAI, uma chave e um nome de modelo, ele enviará suas solicitações de chat para lá em vez do provedor padrão. Este serviço fala esse protocolo: POST /v1/chat/completions com autenticação Bearer, além de GET /v1/models.
Duas coisas para deixar claras desde o início. Esta é uma API independente que executa um único modelo de pesos abertos, não o Codex da OpenAI e nem um produto oficial do Cursor. E o Cursor altera suas telas de configurações com frequência, então os rótulos abaixo podem estar em um local ligeiramente diferente na sua versão. Os três valores nunca mudam: base URL, chave, nome do modelo.
Passo 1: obter uma chave e testá-la fora do Cursor
Cadastre-se na página de chave de API com Google ou com e-mail e senha. Contas novas podem reivindicar $0,50 de crédito de teste com um clique, válido por 7 dias, sem necessidade de cartão. Isso é suficiente para testar uma configuração de editor.
Antes de tocar no Cursor, confirme se a chave funciona. Uma falha dentro de um editor é mais difícil de ler do que uma falha em um terminal.
curl https://api.getcodexapi.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a Python function that reverses a string."}]
}'
Se você receber uma resposta JSON com código, continue. Se receber um erro, corrija-o aqui primeiro. Causas comuns são um caractere faltando na chave ou um espaço colado no final.
Passo 2: configurar o Cursor
- Abra as configurações do Cursor e vá para a seção de modelos.
- Encontre o campo para uma chave de API OpenAI e cole sua chave deste serviço.
- Ative a opção para substituir a base URL OpenAI e insira
https://api.getcodexapi.com/v1. - Adicione um modelo personalizado e digite o nome exato
uncensored. - Execute o botão de verificação se houver um, depois abra um painel de chat e selecione
uncensoredna lista de modelos.
Se a etapa de verificação relatar uma falha, verifique três coisas na ordem: a base URL termina em /v1 sem caminho de endpoint após ela, a chave foi colada sem espaço em branco no final e o nome do modelo não tem letras maiúsculas. O guia na página de documentação lista os mesmos valores com exemplos de cliente extras.
Uma coisa para planejar: a substituição é uma configuração, não uma escolha por modelo, então se você também usa sua própria chave OpenAI em outro lugar no Cursor, desative a substituição primeiro. Mantenha uma nota do que você alterou.
Após salvar, faça uma pergunta simples de programação ao chat e observe a resposta. Uma primeira resposta lenta é normal enquanto o Cursor constrói sua solicitação. Se a resposta vier, você está conectado e o próximo passo é tentar em trabalho real no seu próprio repositório.
O que passará e o que não passará pela sua chave
O Cursor mistura vários recursos. Solicitações de chat e edição inline são as mais propensas a usar seu modelo personalizado assim que você o seleciona. Outros recursos, como preenchimento automático com Tab, historicamente usaram modelos que o Cursor executa ele mesmo, e recursos estilo agente podem depender de como o Cursor lida com ferramentas. A maneira honesta de saber é testar o recurso do qual você depende e observar seu saldo.
Isso é fácil de fazer: cada resposta desta API carrega um cabeçalho X-Balance-USD e seu saldo é visível na sua conta. Se você enviar uma mensagem de chat e o saldo não mudar, essa solicitação não foi para nós.
Chamada de funções é suportada neste endpoint (tools, tool_choice, streaming de tool_calls e resultados como role: "tool"), que é o que agentes de editor precisam. Streaming funciona sobre eventos enviados pelo servidor com stream: true. A janela de contexto é de 100.000 tokens, prompt e conclusão combinados, então um arquivo grande mais seus vizinhos cabem em uma solicitação.
Por que usar um modelo sem censura em um editor
A maioria do trabalho de programação nunca encontra uma recusa. Quando encontra, tende a ser por tarefas legítimas que parecem arriscadas para um filtro cauteloso: escrever um scanner de portas para sua própria rede, analisar amostras de malware que você está analisando, gerar dados de teste que incluem linguagem ofensiva, construir o back-end de um aplicativo de roleplay ou companheiro para adultos ou refatorar código que lida com moderação de conteúdo. Este modelo é ajustado para responder sem recusas de conteúdo para uso adulto legal.
Ainda é um único modelo de pesos abertos geral, não um modelo de código especializado, e nada aqui promete que ele supere qualquer alternativa específica na sua base de código. Execute suas próprias tarefas nele. Uma regra é fixa: não há conteúdo sexual envolvendo menores de idade e isso não pode ser alterado.
O que custa na prática
O preço é $0,15 por 1M de tokens de entrada e $0,50 por 1M de tokens de saída, a partir de crédito pré-pago sem assinatura. O tráfego do editor é pesado em entrada, porque cada solicitação reenvia o contexto do arquivo.
Uma solicitação com 8.000 tokens de entrada e 1.000 tokens de saída custa 8.000 x $0,15 / 1.000.000 = $0,0012 para entrada, mais 1.000 x $0,50 / 1.000.000 = $0,0005 para saída, o que é $0,0017. Se você fizer 150 desses em um dia pesado, isso é 150 x $0,0017 = $0,255, cerca de 26 centavos.
Uma solicitação que envia 40.000 tokens de contexto e recebe 1.500 de volta custa $0,006 + $0,00075 = $0,00675. Recarregamentos começam em $20 e o crédito nunca expira, então não há pressão para usá-lo. Veja a página de preços para níveis de bônus e a página da API de codificação para a visão geral.
Limites de taxa para uso no editor
Uma chave completa permite 8 solicitações simultâneas e 300 solicitações por minuto. Uma chave de teste permite 2 simultâneas e 60 por minuto. Uma pessoa digitando em um editor raramente chega perto de qualquer um, mas uma equipe compartilhando uma chave ou um agente que dispara muitas solicitações em paralelo pode. Quando você ultrapassa, a API retorna HTTP 429. O código rate_limited significa muitas solicitações por minuto e concurrency significa muitas ao mesmo tempo. Se o serviço estiver brevemente sobrecarregado, você também verá um 429 com Retry-After: 5.
Um chat em streaming mantém o slot de concorrência até o fim do streaming. Para uso compartilhado, forneça a cada desenvolvedor sua própria chave em vez de uma chave para a equipe.
Lista de verificação de solução de problemas
- Modelo não encontrado. Digite novamente
uncensoredsem espaços. Remova modelos personalizados antigos que você não usa. - Erro de autenticação. Copie novamente a chave. Certifique-se de que o Cursor não está mais usando uma chave de outro provedor.
- As respostas param no início. Verifique se o Cursor define seu próprio limite de saída. Do nosso lado,
max_tokensé opcional. - Nada muda no seu saldo. O recurso que você usou não é roteado pela sua chave personalizada. Tente o chat.
- 429 frequentes. Reduza requisições simultâneas ou use uma chave completa em vez de uma chave de teste.
